As contas de serviço podem ser divididas nas seguintes categorias:
- Contas de serviço geridas pelo utilizador, que cria e gere
- Agentes de serviço, que Trusted Cloud by S3NS criam e gerem
Esta página descreve como cada tipo de conta de serviço é criado e usado.
Contas de serviço geridas pelo utilizador
As contas de serviço geridas pelo utilizador são contas de serviço que cria nos seus projetos. Pode atualizar, desativar, ativar e eliminar estas contas de serviço à sua discrição. Também pode gerir o acesso de outros responsáveis a estas contas de serviço.
Pode criar contas de serviço geridas pelo utilizador no seu projeto através da API IAM, da Trusted Cloud consola ou da CLI Google Cloud.
Por predefinição, pode criar até 100 contas de serviço geridas pelo utilizador num projeto. Se esta quota não satisfizer as suas necessidades, pode usar a Trusted Cloud consola para pedir um ajuste da quota. Apenas as contas de serviço criadas pelo utilizador contam para esta quota. As contas de serviço predefinidas e os agentes do serviço não contam para a quota.
Quando cria uma conta de serviço gerida pelo utilizador no seu projeto, escolhe um nome para a conta de serviço. Este nome é apresentado no endereço de email que identifica a conta de serviço, que usa o seguinte formato:
service-account-name@project-id.s3ns-system.iam.gserviceaccount.com
Para saber como criar uma conta de serviço, consulte o artigo Crie contas de serviço.
Contas de serviço predefinidas
As contas de serviço predefinidas são contas de serviço geridas pelo utilizador que são criadas automaticamente quando ativa ou usa determinados Trusted Cloud serviços. Estas contas de serviço permitem que o serviço implemente tarefas que acedem a outrosTrusted Cloud recursos. É responsável pela gestão das contas de serviço predefinidas depois de serem criadas.
Se a sua aplicação for executada num ambiente que tenha uma conta de serviço predefinida, a aplicação pode usar as credenciais da conta de serviço predefinida para chamar APIs. Trusted Cloud Trusted Cloud Em alternativa, pode criar a sua própria conta de serviço gerida pelo utilizador e usá-la para autenticar. Para ver detalhes, consulte o artigo Configure as Credenciais padrão da aplicação.
Consoante a configuração da política da organização, a conta de serviço predefinida pode receber automaticamente a função de editor no seu projeto. Recomendamos vivamente que desative a concessão automática de funções
aplicando a restrição da política da organização iam.automaticIamGrantsForDefaultServiceAccounts
. Se tiver criado a sua organização após 3 de maio de 2024, esta restrição é aplicada por predefinição.
Se desativar a concessão automática de funções, tem de decidir que funções conceder às contas de serviço predefinidas e, em seguida, conceder estas funções.
Se a conta de serviço predefinida já tiver a função de editor, recomendamos que substitua a função de editor por funções menos permissivas.
A tabela seguinte indica os serviços que criam contas de serviço predefinidas:
Serviço | Nome da conta de serviço | Endereço de email |
---|---|---|
Compute Engine e qualquer Trusted Cloud serviço que use o Compute Engine | Conta de serviço predefinida do Compute Engine |
project-number-compute@developer.s3ns-system.iam.gserviceaccount.com
|
Agentes do serviço
Alguns Trusted Cloud serviços precisam de aceder aos seus recursos para poderem agir em seu nome. Por exemplo, quando usa o Cloud Run para executar um contentor, o serviço precisa de acesso a todos os tópicos do Pub/Sub que podem acionar o contentor.
Para satisfazer esta necessidade,o Trusted Cloud cria e gere contas de serviço para muitos serviços. Trusted Cloud Estas contas de serviço são conhecidas como agentes de serviços. Pode ver agentes de serviço na política de autorização do seu projeto, nos registos de auditoria ou na página do IAM na Trusted Cloud consola. Para ver uma lista completa de agentes de serviços, consulte Agentes de serviços.
Os agentes de serviço não são criados nos seus projetos, pelo que não os vê quando visualiza as contas de serviço dos seus projetos. Não pode aceder diretamente a estes dados.
Por predefinição, os agentes de serviço não são apresentados na página IAM na Trusted Cloud consola, mesmo que lhes tenha sido concedida uma função no seu projeto. Para ver as concessões de funções para agentes de serviço, selecione a caixa de verificação Incluir concessões de funções fornecidas pela Google.
OTrusted Cloud tem os seguintes tipos de agentes de serviço:
- Agentes de serviços específicos do serviço
- Agente de serviço das APIs Google
- Gestor de funções para agentes de serviço
Agentes de serviços específicos
A maioria dos agentes de serviços é específica do serviço. Estes atuam em nome de serviços individuais. Em muitos casos, estes agentes de serviço são necessários para que os serviços funcionem corretamente. Por exemplo, os agentes de serviço são o que permite que os destinos do Cloud Logging escrevam registos em contentores do Cloud Storage.
Cada agente de serviço está associado a um recurso. Normalmente, este recurso é um projeto, uma pasta ou uma organização, embora também possa ser um recurso específico do serviço, por exemplo, uma instância do Cloud SQL. Este recurso define o âmbito das ações do agente de serviço. Por exemplo, se um agente de serviço estiver associado a um projeto, vai agir em nome de um serviço para o projeto e os respetivos recursos descendentes.
Pode determinar o tipo de recurso ao qual um agente de serviço está associado consultando o respetivo endereço de email:
- Se o agente de serviço estiver associado a um projeto, uma pasta ou uma organização, o respetivo endereço de email contém o ID numérico desse projeto, pasta ou organização.
- Se o agente de serviço estiver associado a um recurso específico do serviço, o respetivo endereço de email contém um ID do projeto numérico e um identificador exclusivo. O ID do projeto numérico indica a que projeto pertence o recurso ao qual o agente do serviço está associado. O identificador exclusivo distingue o agente de serviço de outros agentes de serviço semelhantes no mesmo projeto.
Agente de serviço das APIs Google
É provável que a política de autorização do seu projeto se refira a uma conta de serviço denominada agente de serviço das APIs Google, com um endereço de email que usa o seguinte formato:
project-number@cloudservices.s3ns-system.iam.gserviceaccount.com
.
Esta conta de serviço executa processos Trusted Cloud internos em seu nome.
É-lhe automaticamente atribuída a função de Editor (roles/editor
) no projeto.
Gestor de funções para agentes de serviço
Os seus registos de auditoria para o IAM podem referir-se à conta de serviço service-agent-manager@s3ns-system.system.gserviceaccount.com
.
Esta conta de serviço gere as funções concedidas a outros agentes de serviço. É visível apenas nos registos de auditoria.
Por exemplo, se usar uma nova API, Trusted Cloud pode criar automaticamente
um novo agente de serviço e conceder-lhe funções no seu projeto. A concessão destas funções
gera uma entrada no registo de auditoria, que mostra que service-agent-manager@s3ns-system.system.gserviceaccount.com
definiu a
política de autorização para o projeto.
Criação de agente do serviço
A hora exata em que um agente de serviço é criado depende do tipo de recurso ao qual está associado.
Os agentes de serviço associados a um recurso específico do serviço são criados quando cria o recurso. Para mais informações sobre como identificar e configurar estes agentes de serviço, reveja a documentação do recurso associado.
Os agentes de serviço associados a projetos, pastas e organizações são criados à medida das suas necessidades, normalmente quando usa um serviço pela primeira vez. Se necessário, também pode pedir Trusted Cloud para criar agentes de serviço para um serviço antes de usar o serviço. Para mais informações, consulte o artigo Crie e conceda funções a agentes de serviço.
Funções de IAM para agentes do serviço
Algumas ações no Trusted Cloud requerem que os agentes de serviço criem e acedam a recursos em seu nome. Por exemplo, quando cria um cluster do Dataproc, o agente do serviço Dataproc precisa de autorização para criar instâncias do Compute Engine no seu projeto de modo a criar o cluster.
Para obter este acesso, os agentes de serviço precisam de funções do IAM específicas. A muitos agentes de serviço ao nível do projeto são concedidas automaticamente as funções de que precisam.
Normalmente, os nomes destas funções concedidas automaticamente terminam em serviceAgent
ou ServiceAgent
. Para outros agentes de serviço, tem de lhes conceder funções para que o serviço funcione corretamente. Para saber que agentes de serviço têm funções atribuídas automaticamente, consulte a referência de agentes de serviço.
Se precisar de negar determinadas autorizações a conjuntos de principais que incluam agentes de serviço, por exemplo, o conjunto de principais principalSet://goog/public:all
, recomendamos que adicione os seus agentes de serviço como exceções na regra de negação. Isto ajuda a garantir que os seus serviços
continuam a funcionar corretamente. Quando adicionar agentes de serviço como exceções, use o principal do agente de serviço do projeto, da pasta ou da organização.
Se pedir Trusted Cloud para criar agentes de serviço antes de usar um serviço, tem de conceder aos agentes de serviço as funções que normalmente lhes são concedidas automaticamente. Isto acontece porque não são concedidas automaticamente funções aos agentes de serviço criados a pedido de um utilizador. Se não conceder estas funções aos agentes de serviço, alguns serviços podem não funcionar corretamente. Para saber como atribuir estas funções aos agentes de serviço, consulte o artigo Crie e atribua funções a agentes de serviço.
Agentes de serviço principais
Na referência do agente de serviço, alguns agentes de serviço são identificados como agentes de serviço principais. Os agentes de serviço principais são agentes de serviço cujo endereço de email é devolvido quando aciona a criação de agentes de serviço para um serviço.
Registos de auditoria do agente do serviço
Por vezes, quando um principal inicia uma operação, um agente de serviço executa uma ação em nome do principal. No entanto, quando revê os registos de auditoria de um agente de serviço, pode ser difícil saber em nome de quem o agente de serviço estava a agir e porquê.
Para ajudar a compreender o contexto das ações de um agente de serviços, alguns agentes de serviços incluem detalhes adicionais nos respetivos registos de auditoria, como a tarefa à qual a ação está associada e o principal que criou a tarefa.Os seguintes agentes de serviço incluem estes detalhes adicionais nos respetivos registos de auditoria:
Estes detalhes adicionais encontram-se no campo serviceDelegationHistory
do registo de auditoria,
que está aninhado no campo authenticationInfo
. Este campo contém as seguintes informações:
- O diretor original que criou a tarefa
- O agente de serviço que executou a ação
- O serviço ao qual o agente de serviços pertence
- O ID do trabalho
Por exemplo, suponhamos que
//iam.googleapis.com/locations/global/workforcePools/example-pool/subject/example-user@example.com
cria uma tarefa através da API BigQuery Connection. Esta tarefa requer que um dos agentes de serviço da API BigQuery Connection execute uma ação. Neste caso, o registo de auditoria da ação do agente do serviço
conteria um campo serviceDelegationHistory
semelhante ao seguinte:
{ "protoPayload": { "@type": "type.googleapis.com/google.cloud.audit.AuditLog", "authenticationInfo": { "principalEmail": "bqcx-442188550395-jujw@gcp-sa-bigquery-condel.s3ns-system.iam.gserviceaccount.com", "serviceDelegationHistory": { "originalPrincipal": "principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com", "serviceMetadata": [ { "principalSubject": "serviceAccount:bqcx-442188550395-jujw@gcp-sa-bigquery-condel.s3ns-system.iam.gserviceaccount.com", "serviceDomain": "bigquery.googleapis.com", } ] } } } }
O que se segue?
- Saiba como criar e gerir contas de serviço.
- Saiba como criar e gerir chaves de contas de serviço.
- Conheça as práticas recomendadas para trabalhar com contas de serviço.
- Reveja as práticas recomendadas para gerir chaves de contas de serviço.