Visão geral do controle de acesso

Ao criar um projeto do Google Cloud , você é o único principal nele. Por padrão, nenhum outro principal (usuários, grupos ou contas de serviço) tem acesso ao seu projeto ou aos recursos dele. Depois de provisionar o Application Integration no seu projeto, você pode adicionar novas entidades e definir o controle de acesso aos recursos do Application Integration.

Application Integration usa o Identity and Access Management (IAM) para gerenciar o controle de acesso no seu projeto. É possível usar o IAM para gerenciar o acesso no nível do projeto ou do recurso:

  • Para conceder acesso a recursos no nível do projeto, atribua um ou mais papéis a um principal.
  • Para conceder acesso a um recurso específico, defina uma política do IAM nele. O recurso precisa oferecer suporte para políticas no nível do recurso. A política define quais papéis são atribuídos a quais principais.

Papéis IAM

Cada principal no seu projeto Google Cloud recebe um papel com permissões específicas. Quando você adiciona um principal a um projeto ou recurso, especifica quais papéis precisam ser concedidos. Cada papel do IAM contém um conjunto de permissões que permite que o principal execute ações específicas no recurso.

Para saber mais sobre os diferentes tipos de papéis no IAM, consulte Noções básicas sobre papéis.

Para informações sobre como conceder papéis a principais, consulte Como conceder, alterar e revogar acesso.

O Application Integration oferece um conjunto específico de papéis predefinidos do IAM. Você pode usar esses papéis para dar acesso a recursos específicos do Application Integration e impedir o acesso indesejado a outros recursos do Google Cloud.

Contas de serviço

As contas de serviço são contas Google Cloud associadas ao seu projeto que podem realizar tarefas ou operações em seu nome. Papéis e permissões são atribuídos a contas de serviço da mesma maneira que a principais, usando o IAM. Para mais informações sobre contas de serviço e os diferentes tipos de contas de serviço, consulte Contas de serviço do IAM.

É preciso conceder os devidos papéis do IAM a uma conta de serviço para permitir que ela acesse os métodos de API relevantes. Quando você concede um papel do IAM a uma conta de serviço, qualquer integração que tenha essa conta anexada recebe a autorização concedida por esse papel. Se não houver um papel predefinido para o nível de acesso pretendido, crie e conceda papéis personalizados.

O Application Integration usa dois tipos de contas de serviço:

Conta de serviço gerenciada pelo usuário

Uma conta de serviço gerenciado pelo usuário pode ser anexada a uma integração para fornecer credenciais e executar a tarefa. Para mais informações, consulte Contas serviço gerenciado pelo usuário.

A autorização fornecida à integração é limitada por duas configurações separadas: os papéis concedidos à conta de serviço anexada e os escopos de acesso. As duas configurações precisam permitir o acesso antes que a integração possa executar a tarefa.

Uma conta de serviço gerenciado pelo usuário tem o seguinte endereço de e-mail:

service-account-name@PROJECT_ID.iam.gserviceaccount.com

Conta padrão de serviço

Os novos projetos do Google Cloud que provisionaram o Application Integration têm uma conta de serviço padrão do Application Integration, que tem o seguinte endereço de e-mail:

service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com

A conta de serviço padrão do Application Integration é criada durante o provisionamento e adicionada automaticamente ao projeto com os papéis e permissões básicos do IAM. Para mais informações, consulte Contas de serviço padrão.

Para informações sobre como conceder papéis ou permissões adicionais à conta de serviço padrão, consulte Como conceder, alterar e revogar acesso.

Adicionar uma conta de serviço

O Application Integration oferece duas maneiras de adicionar uma conta de serviço à sua integração:

Regra de autenticação

Se a integração tiver um perfil OAuth 2.0 e uma conta de serviço gerenciada pelo usuário configurados, o perfil OAuth 2.0 será usado para a autenticação por padrão. Se nem o perfil do OAuth 2.0 nem a conta de serviço gerenciada pelo usuário estiverem configurados, a conta de serviço padrão (service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com) será usada. Se a tarefa não usar a conta de serviço padrão, a execução vai falhar.

Regra de autorização

Se você anexar uma conta de serviço à integração, determine o nível de acesso que ela tem pelos papéis do IAM concedidos a ela. Se a conta de serviço não tiver papéis do IAM, nenhum recurso poderá ser acessado usando a conta de serviço.

Os escopos de acesso podem limitar ainda mais o acesso aos métodos de API durante a autenticação por meio do OAuth. No entanto, eles não se estendem a outros protocolos de autenticação, como o gRPC.

Papéis IAM

É preciso conceder os devidos papéis do IAM a uma conta de serviço para permitir que ela acesse os métodos de API relevantes.

Quando você concede um papel do IAM a uma conta de serviço, qualquer integração que tenha essa conta anexada recebe a autorização concedida por esse papel.

Escopos de acesso

Os escopos de acesso são o método legado de especificação das permissões da sua integração. Em vez disso, eles definem os escopos padrão do OAuth usados nas solicitações da CLI gcloud ou das bibliotecas de cliente. Os escopos permitem especificar permissões de acesso para os usuários. É possível especificar vários escopos separados por um único espaço (" "). Para mais informações, consulte Escopos do OAuth 2.0 para APIs do Google. Para contas serviço gerenciado pelo usuário, o escopo é predefinido como:

https://www.googleapis.com/auth/cloud-platform