Condições do IAM para acesso refinado

Nesta página, descrevemos como restringir o acesso às conexões usando condições do IAM.

Uma condição do IAM permite que você tenha controle granular sobre os recursos do Integration Connectors. Por padrão, um usuário ou um papel dos Conectores de integração pode executar todas as operações compatíveis em uma conexão. Ao usar as Condições do IAM, é possível restringir um papel ou usuário específico para que ele realize apenas operações selecionadas em uma conexão. Por exemplo, é possível restringir um usuário de modo que ele só possa modificar as conexões com nomes que começam com test-connection e não terá outras permissões nas conexões, como inscrição em eventos ou visualização de metadados do esquema.

Antes de começar

Os Integration Connectors usam o Identity and Access Management (IAM) do Google Cloud para gerenciar papéis e permissões dos recursos dos Integration Connectors. Portanto, antes de especificar ou modificar condições no IAM para seus recursos do Integration Connectors, conheça estes conceitos do IAM:

Como adicionar condições do IAM

Para adicionar uma condição do IAM a um recurso do Integration Connectors, você precisa das seguintes informações:

  • URI de recurso nomeado: todos os recursos nos Integration Connectors têm um URI de recurso exclusivo. Por exemplo, o URI do recurso de conexão é projects/PROJECT_ID/locations/CONNECTION_LOCATION/connections/{connection_name}. Para ver a lista completa de todos os URIs disponíveis, consulte Recursos REST de conectores de integração. Para controlar as permissões de acesso a um recurso no nível granular, é preciso nomear o recurso de acordo com uma convenção de nomenclatura. Com base nos seus requisitos, é possível decidir a convenção de nomenclatura que você quer usar. Por exemplo, inclua o prefixo marketing- em todas as conexões de propriedade da equipe de marketing. Neste exemplo, o URI do recurso para as conexões da equipe de marketing vai começar com projects/PROJECT_ID/locations/CONNECTION_LOCATION/connections/marketing-.
  • Permissões somente para o pai: verifique se um recurso ou os recursos filhos dele exigem permissão somente para o pai. Para mais informações, consulte Permissões somente para pais.
  • Tipo de recurso: é possível restringir ainda mais o escopo dos recursos filtrando por um tipo de recurso na condição. O Integration Connectors oferece suporte a condições para os seguintes recursos:
    Nome do 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

Examples

A tabela a seguir lista os exemplos de condições de recursos que você pode aplicar a um usuário ou um papel do Integration Connectors.

Condição do recurso do IAM Descrição

(resource.name.startsWith
("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-") && resource.type == "connectors.googleapis.com/Connection"))
|| resource.type != "connectors.googleapis.com/Connection"
Um usuário ou uma função a que você aplica essa condição só pode fazer as seguintes operações:
  • Liste todas as conexões.
  • Executar operações get, create, update e delete em conexões com nome que começa com marketing-.

(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") 
Um usuário ou um papel a que você aplica essa condição só pode fazer as seguintes operações:
  • Listar todas as conexões.
  • Executar operações get, create, update e delete somente para conexões com nome que começa com marketing-.
  • Receber metadados de esquema de conexão apenas para conexões com nome que começa com marketing-.

Como adicionar Condições do IAM para contas de serviço do Application Integration

É possível aplicar as Condições do IAM à conta de serviço do Application Integration, o que permite restringir as conexões que a conta de serviço pode acessar durante a execução da integração. Por exemplo, é possível restringir uma conta de serviço para que ela possa acessar apenas conexões com nome que comece com marketing-. Para mais informações, consulte Aplicar condições do IAM a uma conta de serviço.

A tabela a seguir lista os exemplos de condições de recursos que podem ser aplicados a uma conta de serviço do Application Integration.

Condição do recurso do IAM Descrição

resource.name.startsWith
("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-")
A conta de serviço a que você aplica essa condição só pode executar as conexões com nome que começa com marketing-.

A seguir

Analise as seguintes informações na documentação do IAM: