En esta página, se describen las opciones de control de acceso que están disponibles en Eventarc.
Descripción general
Eventarc usa Identity and Access Management (IAM) para el control de acceso.
Para obtener una introducción a IAM y sus funciones, consulta la Descripción general de IAM.
Para obtener información sobre cómo otorgar y revocar el acceso con políticas de permiso, consulta Administra el acceso a proyectos, carpetas y organizaciones.
- Para controlar el acceso de publicación en Eventarc Advanced con políticas de acceso, consulta Controla el acceso de publicación.
Para obtener una lista de los permisos y funciones que admite Eventarc, consulta las secciones que se incluyen a continuación.
Agente de servicio de Eventarc
Algunos Google Cloud servicios tienen agentes de servicio que permiten que el servicio acceda a tus recursos si se otorgan los permisos adecuados. Si una API requiere un agente de servicio, entonces Google Cloud crea el agente de servicio en algún momento después de que activas y usas la API.
Eventarc usa un modelo de aprovisionamiento que crea su agente de servicio solo cuando es necesario por primera vez (por ejemplo, cuando creas un recurso de Eventarc por primera vez) y no cuando la API se habilita inicialmente. El aprovisionamiento del agente de servicio y la propagación de los cambios en el sistema pueden tardar varios minutos. Para obtener más información sobre esta demora, consulta Permiso denegado mientras se usa el agente de servicio de Eventarc.
Habilita las APIs de Eventarc
Para ver y asignar las funciones de IAM para Eventarc, debes habilitar las APIs de Eventarc en tu proyecto. No podrás ver las funciones de Eventarc en la Google Cloud consola hasta que habilites las APIs.
Console
- Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Eventarc and Eventarc Publishing APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Eventarc and Eventarc Publishing APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
gcloud
- Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Crea o selecciona un Google Cloud proyecto.
Roles necesarios para seleccionar o crear un proyecto
- Selecciona un proyecto: La selección de un proyecto no requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crea un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos
(
roles/resourcemanager.projectCreator), que contiene elresourcemanager.projects.createpermiso. Obtén más información para otorgar roles.
-
Crea un proyecto de: Google Cloud
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el Google Cloud proyecto de que estás creando. -
Selecciona el Google Cloud proyecto de que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre de tu Google Cloud proyecto de.
-
Verifica que la facturación esté habilitada para tu Google Cloud proyecto.
Habilita las APIs de Eventarc y Eventarc Publishing:
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene elserviceusage.services.enablepermiso. Obtén más información para otorgar roles.gcloud services enable eventarc.googleapis.com
eventarcpublishing.googleapis.com -
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Crea o selecciona un Google Cloud proyecto.
Roles necesarios para seleccionar o crear un proyecto
- Selecciona un proyecto: La selección de un proyecto no requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crea un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos
(
roles/resourcemanager.projectCreator), que contiene elresourcemanager.projects.createpermiso. Obtén más información para otorgar roles.
-
Crea un proyecto de: Google Cloud
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el Google Cloud proyecto de que estás creando. -
Selecciona el Google Cloud proyecto de que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre de tu Google Cloud proyecto de.
-
Verifica que la facturación esté habilitada para tu Google Cloud proyecto.
Habilita las APIs de Eventarc y Eventarc Publishing:
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene elserviceusage.services.enablepermiso. Obtén más información para otorgar roles.gcloud services enable eventarc.googleapis.com
eventarcpublishing.googleapis.com
Funciones predefinidas
En la siguiente tabla, se muestran las funciones predefinidas de IAM para Eventarc con la lista correspondiente de todos los permisos que incluye cada una.
Las funciones predefinidas abordan los casos de uso más típicos. Si las funciones predefinidas no cubren tu caso de uso, puedes crear una función personalizada de IAM.
Funciones de Eventarc
| Role | Permissions |
|---|---|
Eventarc Admin( Full control over all Eventarc resources. Lowest-level resources where you can grant this role:
|
|
Eventarc Connection Publisher Beta( Can publish events to Eventarc channel connections. Lowest-level resources where you can grant this role:
|
|
Eventarc Developer( Access to read and write Eventarc resources. Lowest-level resources where you can grant this role:
|
|
Eventarc Editor( Editor role for eventarc |
|
Eventarc Event Receiver( Can receive events from all event providers. Lowest-level resources where you can grant this role:
|
|
Eventarc Message Bus Admin( Full control over Message Buses resources. |
|
Eventarc Message Bus User( Access to publish to or bind to a Message Bus. |
|
Eventarc Event Collector Beta( Can collect events from multiple projects in an org for a source resource. |
|
Eventarc Publisher Beta( Can publish events to Eventarc channels. Lowest-level resources where you can grant this role:
|
|
Eventarc Service Agent( Gives Eventarc service account access to managed resources. |
|
Eventarc Viewer( Can view the state of all Eventarc resources, including IAM policies. Lowest-level resources where you can grant this role:
|
|
Administración de IAM a nivel de proyecto
A nivel de proyecto, puedes otorgar, cambiar y revocar roles de IAM con la Google Cloud consola, la API de IAM o Google Cloud CLI. Para obtener instrucciones, consulta Administra el acceso a proyectos, carpetas y organizaciones.