Condições do IAM para acesso refinado

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

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

Antes de começar

O Integration Connectors usa o Identity and Access Management (IAM) do Google Cloud para gerenciar papéis e permissões para os recursos do Integration Connectors. Portanto, antes de especificar ou modificar condições do IAM para seus recursos do Integration Connectors, familiarize-se com os seguintes 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: todo recurso no Integration Connectors tem um URI de recurso exclusivo. Por exemplo, o URI do recurso de conexão é projects/PROJECT_ID/locations/CONNECTION_LOCATION/connections/{connection_name}. Para a lista completa de todos os URIs disponíveis, consulte Recursos REST do Integration Connectors. Para controlar as permissões de acesso de um recurso em um nível granular, nomeie o recurso de acordo com uma convenção de nomenclatura. Com base nos seus requisitos, você decide qual convenção de nomenclatura quer usar. Por exemplo, é possível prefixar a palavra marketing- para todas as conexões que pertencem à equipe de marketing. Neste exemplo, o URI de recurso das conexões da equipe de marketing 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 um tipo de recurso na condição. O Integration Connectors é compatível com condições para os seguintes recursos:
    Nome do recurso Tipo de recurso
    Conexão connectors.googleapis.com/Connection
    ManagedZone connectors.googleapis.com/ManagedZone
    EndpointAttachment connectors.googleapis.com/EndpointAttachment
    EventSubscription connectors.googleapis.com/EventSubscription
    ConnectionSchemaMetadata connectors.googleapis.com/ConnectionSchemaMetadata

Exemplos

A tabela a seguir lista as condições de recursos de exemplo que podem ser aplicadas a um usuário ou uma função do Integration Connectors.

Condição de 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 quem você aplica essa condição só pode realizar as seguintes operações:
  • Liste todas as conexões.
  • Realizar operações de recebimento, criação, atualização e exclusão em conexões com nomes que começam 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 uma função a quem você aplica essa condição só pode realizar as seguintes operações:
  • Listar todas as conexões.
  • Realize operações de recebimento, criação, atualização e exclusão apenas para conexões cujo nome começa com marketing-.
  • Receba metadados do esquema de conexão apenas para conexões cujo nome começa com marketing-.

Adicionar condições do IAM para contas de serviço do Application Integration

É possível aplicar 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 só possa acessar conexões cujo nome comece com marketing-. Para mais informações, consulte Aplicar condições do IAM a uma conta de serviço.

A tabela a seguir lista as condições de recursos de exemplo que podem ser aplicadas a uma conta de serviço do Application Integration.

Condição de 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 conexões cujo nome começa com marketing-.

A seguir

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