Condiciones de IAM para un acceso detallado
En esta página, se describe cómo restringir el acceso a tus conexiones con las Condiciones de IAM.
Una condición de IAM te permite tener un control detallado sobre tus recursos de Integration Connectors. De forma predeterminada, un usuario o un rol de Integration Connectors puede realizar todas las operaciones admitidas en una conexión. Con las Condiciones de IAM, puedes restringir un usuario o un rol específicos para que solo realicen las operaciones seleccionadas en una conexión. Por ejemplo, puedes restringir un usuario de modo que este solo pueda modificar las conexiones cuyo nombre comience con test-connection
y no tenga otros permisos sobre las conexiones, como suscribirse a eventos o ver los metadatos del esquema.
Antes de comenzar
Integration Connectors usa Identity and Access Management (IAM) de Google Cloud para administrar funciones y permisos para los recursos de Integration Connectors. Por lo tanto, antes de especificar o modificar las condiciones en IAM para tus recursos de Integration Connectors, debes familiarizarte con los siguientes conceptos de IAM:
- Recurso
- Jerarquía de recursos
- Funciones
- Funciones personalizadas
- Permisos
- Permisos solo para superiores
Agrega condiciones de IAM
Para agregar una condición de IAM a un recurso de Integration Connectors, necesitas la siguiente información:
- URI de recurso con nombre: Cada recurso en Integration Connectors tiene un URI de recurso único. Por ejemplo, el URI para el recurso de conexión es
projects/PROJECT_ID/locations/CONNECTION_LOCATION/connections/{connection_name}
. Para obtener una lista completa de todos los URI disponibles, consulta Recursos de REST de Integration Connectors. Para controlar los permisos de acceso de un recurso en un nivel detallado, debes asignar un nombre a tu recurso según una convención de nombres. Según tus requisitos, puedes decidir la convención de nombres que deseas usar. Por ejemplo, puedes agregar el prefijomarketing-
a todas las conexiones que pertenecen al equipo de marketing. En este ejemplo, el URI de recurso para las conexiones del equipo de marketing comenzará conprojects/PROJECT_ID/locations/CONNECTION_LOCATION/connections/marketing-
. - Permisos solo para superiores: verifica si un recurso o cualquiera de sus recursos secundarios requieren el permiso solo para superiores. Para obtener más información, consulta Permisos solo para superiores.
- Resource type: Puedes reducir aún más el alcance de los recursos si filtras por un tipo de recurso en la condición. Integration Connectors admite condiciones para los siguientes recursos:
Nombre del recurso Tipo de recurso Connection connectors.googleapis.com/Connection ManagedZone connectors.googleapis.com/ManagedZone EndpointAttachment connectors.googleapis.com/EndpointAttachment EventSubscription connectors.googleapis.com/EventSubscription ConnectionSchemaMetadata connectors.googleapis.com/ConnectionSchemaMetadata
Ejemplos
En la siguiente tabla, se enumeran las condiciones de ejemplo de los recursos que puedes aplicar a un usuario o un rol de Integration Connectors.
Condición del recurso de IAM | Descripción |
---|---|
(resource.name.startsWith
("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-") && resource.type == "connectors.googleapis.com/Connection"))
|| resource.type != "connectors.googleapis.com/Connection" |
Un usuario o un rol al que le apliques esta condición solo puede realizar las siguientes operaciones:
|
(resource.name.startsWith ("projects/PROJECT_ID/locations/CONNECTION_LOCATION/ connections/marketing-") && resource.type == "connectors.googleapis.com/Connection") || (resource.name.startsWith ("projects/PROJECT_ID/locations/CONNECTION_LOCATION/ connections/marketing-") && resource.type == "connectors.googleapis.com/ConnectionSchemaMetadata") || (resource.type != "connectors.googleapis.com/Connection" && resource.type != "connectors.googleapis.com/ConnectionSchemaMetadata") |
Un usuario o un rol al que le apliques esta condición solo puede realizar las siguientes operaciones:
|
Agrega condiciones de IAM para las cuentas de servicio de Application Integration
Puedes aplicar Condiciones de IAM a la cuenta de servicio de Application Integration, lo que te permite restringir las conexiones
a las que la cuenta de servicio puede acceder durante la ejecución de la integración. Por ejemplo, puedes restringir una cuenta de servicio de modo que solo pueda acceder a las conexiones cuyo nombre comience con marketing-
.
Para obtener más información, consulta Aplica condiciones de IAM a una cuenta de servicio.
En la siguiente tabla, se incluyen las condiciones de los recursos de muestra que puedes aplicar para una cuenta de servicio de Application Integration.
Condición del recurso de IAM | Descripción |
---|---|
resource.name.startsWith ("projects/PROJECT_ID/locations/CONNECTION_LOCATION/ connections/marketing-") |
La cuenta de servicio a la que aplicas esta condición solo puede ejecutar aquellas conexiones cuyo nombre comience con marketing- . |
¿Qué sigue?
Revisa la siguiente información en la documentación de IAM:
- Agrega una vinculación de funciones condicional a una política
- Modifica una vinculación de función condicional existente
- Quita una vinculación de función condicional