Esta página descreve como conceder, alterar e revogar o acesso de um principal a uma única conta de serviço. Para gerir o acesso de um principal a todas as contas de serviço num projeto, numa pasta ou numa organização, faça a gestão do respetivo acesso ao nível do projeto, da pasta ou da organização.
Na gestão de identidade e de acesso (IAM), o acesso é gerido através de políticas de autorização, também conhecidas como políticas de IAM. Uma política de permissão está anexada a um recursoGoogle Cloud . Cada política de autorização contém uma coleção de associações de funções que associam um ou mais responsáveis, como utilizadores ou contas de serviço, a uma função do IAM. Estas associações de funções concedem as funções especificadas aos principais, tanto no recurso ao qual a política de autorização está anexada como em todos os descendentes desse recurso. Para mais informações sobre as políticas de autorização, consulte o artigo Compreender as políticas de autorização.
As contas de serviço são recursos aos quais outros responsáveis podem receber acesso e responsáveis que podem receber acesso a outros recursos. Esta página trata as contas de serviço como recursos e descreve como conceder a outros responsáveis acesso às mesmas. Para saber como conceder acesso de uma conta de serviço a outros recursos, consulte os seguintes guias:
- Para conceder a uma conta de serviço acesso a um projeto, uma pasta ou uma organização, consulte o artigo Gerir o acesso a projetos, pastas e organizações.
- Para conceder a uma conta de serviço acesso a outros recursos, consulte o artigo Gerir o acesso a outros recursos.
Esta página descreve como gerir o acesso a contas de serviço através da consolaGoogle Cloud , da Google Cloud CLI e da API REST. Também pode gerir o acesso através das bibliotecas de cliente da IAM.
Antes de começar
Enable the IAM API.
Saiba mais sobre as contas de serviço.
Funções de IAM necessárias
Para obter as autorizações de que
precisa para gerir o acesso a uma conta de serviço,
peça ao seu administrador para lhe conceder a função de
administrador da conta de serviço (roles/iam.serviceAccountAdmin
)
do IAM na conta de serviço ou no projeto proprietário da conta de serviço.
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Esta função predefinida contém as autorizações necessárias para gerir o acesso a uma conta de serviço. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para gerir o acesso a uma conta de serviço:
-
iam.serviceAccounts.get
-
iam.serviceAccounts.list
-
iam.serviceAccounts.getIamPolicy
-
iam.serviceAccounts.setIamPolicy
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Veja o acesso atual
A secção seguinte mostra como usar a Google Cloud consola, a CLI gcloud e a API REST para ver quem tem acesso a uma conta de serviço. Também pode ver o acesso através das bibliotecas do cliente do IAM para obter a política de autorização da conta de serviço.
Consola
Na Google Cloud consola, aceda à página Contas de serviço.
Selecione um projeto.
Clique no endereço de email da conta de serviço.
Aceda ao separador Autorizações. A secção Principais com acesso a esta conta de serviço apresenta todos os principais aos quais foi concedida uma função na conta de serviço.
Esta lista inclui os responsáveis cujo acesso provém de funções concedidas em recursos principais. Para mais informações sobre a herança de políticas, consulte o artigo Herança de políticas e a hierarquia de recursos.
Opcional: para ver concessões de funções para agentes de serviço, selecione a caixa de verificação Incluir concessões de funções fornecidas pela GoogleGoogle.
gcloud
Para ver quem tem acesso à sua conta de serviço, obtenha a política de autorização para a conta de serviço. Para saber como interpretar as políticas de permissão, consulte o artigo Compreender as políticas de permissão.
Para obter a política de permissão para a conta de serviço, execute o comando get-iam-policy
para a conta de serviço:
gcloud iam service-accounts get-iam-policy SA_ID --format=FORMAT > PATH
Indique os seguintes valores:
SA_ID
: o ID da sua conta de serviço. Pode ser o endereço de email da conta de serviço no formatoSA_NAME@PROJECT_ID.iam.gserviceaccount.com
ou o ID numérico exclusivo da conta de serviço.FORMAT
: o formato da política. Usejson
ouyaml
.PATH
: o caminho para um novo ficheiro de saída para a política.
Por exemplo, o comando seguinte obtém a política para a conta de serviço
my-service-account
e guarda-a no seu diretório principal no formato JSON:
gcloud iam service-accounts get-iam-policy my-service-account --format json > ~/policy.json
REST
Para ver quem tem acesso à sua conta de serviço, obtenha a política de autorização para a conta de serviço. Para saber como interpretar as políticas de permissão, consulte o artigo Compreender as políticas de permissão.
O método
serviceAccounts.getIamPolicy
obtém a política de autorização de uma conta de serviço.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: O ID do seu Google Cloud projeto. Os IDs dos projetos são strings alfanuméricas, comomy-project
.SA_ID
: o ID da sua conta de serviço. Este pode ser o endereço de email da conta de serviço no formatoSA_NAME@PROJECT_ID.iam.gserviceaccount.com
ou o ID numérico exclusivo da conta de serviço.POLICY_VERSION
: a versão da política a ser devolvida. Os pedidos devem especificar a versão da política mais recente, que é a versão 3 da política. Consulte o artigo Especificar uma versão da política ao obter uma política para ver detalhes.
Método HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:getIamPolicy
Corpo JSON do pedido:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
Para enviar o seu pedido, expanda uma destas opções:
A resposta contém a política de permissão da conta de serviço. Por exemplo:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] } ] }
Conceda ou revogue uma única função de IAM
Pode usar a Google Cloud consola e a CLI gcloud para conceder ou revogar rapidamente uma única função para um único principal, sem editar diretamente a política de autorização da conta de serviço. Os tipos comuns de principais incluem contas Google, contas de serviço, grupos Google e domínios.Para ver uma lista de todos os tipos de diretor, consulte Tipos de diretor.
Em geral, as alterações às políticas entram em vigor no prazo de 2 minutos. No entanto, em alguns casos, a propagação das alterações por todo o sistema pode demorar 7 minutos ou mais.
Se precisar de ajuda para identificar a função predefinida mais adequada, consulte o artigo Encontre as funções predefinidas certas.
Conceda uma única função de IAM
Para conceder uma única função a um principal, faça o seguinte:
Consola
Na Google Cloud consola, aceda à página Contas de serviço.
Selecione um projeto.
Clique no endereço de email da conta de serviço.
Aceda ao separador Autorizações e encontre a secção Membros com acesso a esta conta de serviço.
Selecione um principal ao qual atribuir uma função:
Para conceder uma função a um principal que já tenha outras funções na conta de serviço, encontre uma linha que contenha o principal, clique em
Editar principal nessa linha e, de seguida, clique em Adicionar outra função.Para conceder uma função a um agente de serviço, selecione a caixa de verificação Incluir concessões de funções fornecidas pela Google para ver o respetivo endereço de email.
Para conceder uma função a um principal que não tenha funções existentes na conta de serviço, clique em
Conceder acesso e, em seguida, introduza um identificador para o principal, por exemplo,my-user@example.com
ou//iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
.
Selecione uma função a conceder na lista pendente. Para as melhores práticas de segurança, escolha uma função que inclua apenas as autorizações de que o seu principal precisa.
Opcional: adicione uma condição à função.
Clique em Guardar. O principal recebe a função na conta de serviço.
gcloud
Para conceder rapidamente uma função a um principal, execute o comando
add-iam-policy-binding
:
gcloud iam service-accounts add-iam-policy-binding SA_ID \ --member=PRINCIPAL --role=ROLE_NAME \ --condition=CONDITION
Indique os seguintes valores:
SA_ID
: o ID da sua conta de serviço. Pode ser o endereço de email da conta de serviço no formatoSA_NAME@PROJECT_ID.iam.gserviceaccount.com
ou o ID numérico exclusivo da conta de serviço.PRINCIPAL
: um identificador do principal ou membro, que normalmente tem o seguinte formato:PRINCIPAL-TYPE:ID
. Por exemplo,user:my-user@example.com
ouprincipalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
. Para ver uma lista completa dos valores quePRINCIPAL
pode ter, consulte Identificadores principais.Para o tipo principal
user
, o nome do domínio no identificador tem de ser um domínio do Google Workspace ou um domínio do Cloud ID. Para saber como configurar um domínio do Cloud ID, consulte a vista geral do Cloud ID.ROLE_NAME
: o nome da função que quer conceder. Use um dos seguintes formatos:- Funções predefinidas:
roles/SERVICE.IDENTIFIER
- Funções personalizadas ao nível do projeto:
projects/PROJECT_ID/roles/IDENTIFIER
- Funções personalizadas ao nível da organização:
organizations/ORG_ID/roles/IDENTIFIER
Para ver uma lista das funções predefinidas, consulte o artigo Compreender as funções.
- Funções predefinidas:
CONDITION
: opcional. A condição a adicionar à associação de funções. Para mais informações sobre as condições, consulte a vista geral das condições.
Por exemplo, para conceder a função Utilizador da conta de serviço ao utilizador
my-user@example.com
para a conta de serviço
my-service-account@my-project.iam.gserviceaccount.com
:
gcloud iam service-accounts add-iam-policy-binding my-service-account@my-project.iam.gserviceaccount.com \ --member=user:my-user@example.com --role=roles/iam.serviceAccountUser
Revogue uma única função de IAM
Para revogar uma única função de um principal, faça o seguinte:
Consola
Na Google Cloud consola, aceda à página Contas de serviço.
Selecione um projeto.
Clique no endereço de email da conta de serviço.
Aceda ao separador Autorizações e encontre a secção Membros com acesso a esta conta de serviço.
Procure a linha que contém o principal cujo acesso quer revogar. Em seguida, clique em
Editar principal nessa linha.Clique no botão Eliminar
para a função que quer revogar e, de seguida, clique em Guardar.
gcloud
Para revogar rapidamente uma função de um utilizador, execute o comando
remove-iam-policy-binding
:
gcloud iam service-accounts remove-iam-policy-binding SA_ID \ --member=PRINCIPAL --role=ROLE_NAME
Indique os seguintes valores:
SA_ID
: o ID da sua conta de serviço. Pode ser o endereço de email da conta de serviço no formatoSA_NAME@PROJECT_ID.iam.gserviceaccount.com
ou o ID numérico exclusivo da conta de serviço.PRINCIPAL
: um identificador do principal ou membro, que normalmente tem o seguinte formato:PRINCIPAL-TYPE:ID
. Por exemplo,user:my-user@example.com
ouprincipalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
. Para ver uma lista completa dos valores quePRINCIPAL
pode ter, consulte Identificadores principais.Para o tipo principal
user
, o nome do domínio no identificador tem de ser um domínio do Google Workspace ou um domínio do Cloud ID. Para saber como configurar um domínio do Cloud ID, consulte a vista geral do Cloud ID.ROLE_NAME
: o nome da função que quer revogar. Use um dos seguintes formatos:- Funções predefinidas:
roles/SERVICE.IDENTIFIER
- Funções personalizadas ao nível do projeto:
projects/PROJECT_ID/roles/IDENTIFIER
- Funções personalizadas ao nível da organização:
organizations/ORG_ID/roles/IDENTIFIER
Para ver uma lista das funções predefinidas, consulte o artigo Compreender as funções.
- Funções predefinidas:
Por exemplo, para revogar a função Utilizador da conta de serviço do utilizador
my-user@example.com
para a conta de serviço
my-service-account@my-project.iam.gserviceaccount.com
:
gcloud iam service-accounts remove-iam-policy-binding my-service-account@my-project.iam.gserviceaccount.com \ --member=user:my-user@example.com --role=roles/iam.serviceAccountUser
Conceda ou revogue várias funções do IAM através da Google Cloud consola
Pode usar a Google Cloud consola para conceder e revogar várias funções para um único principal:
Na Google Cloud consola, aceda à página Contas de serviço.
Selecione um projeto.
Clique no endereço de email da conta de serviço.
Aceda ao separador Autorizações e encontre a secção Membros com acesso a esta conta de serviço.
Selecione o principal cujas funções quer modificar:
Para modificar funções de um principal que já tenha funções na conta de serviço, encontre uma linha que contenha o principal, clique em
Editar principal nessa linha e, de seguida, clique em Adicionar outra função.Para modificar as funções de um agente de serviços, selecione a caixa de verificação Incluir atribuições de funções fornecidas pela Google Googlepara ver o respetivo endereço de email.
Para conceder funções a um principal que não tenha funções existentes na conta de serviço, clique em
Conceder acesso e, de seguida, introduza o endereço de email ou outro identificador do principal.
Modifique as funções do principal:
- Para conceder uma função a um principal que não tenha funções existentes no recurso, clique em Selecionar uma função e, de seguida, selecione uma função a conceder na lista pendente.
- Para conceder uma função adicional ao principal, clique em Adicionar outra função e, em seguida, selecione uma função a conceder na lista pendente.
- Para substituir uma das funções do principal por uma função diferente, clique na função existente e, de seguida, escolha uma função diferente para conceder na lista pendente.
- Para revogar uma das funções do principal, clique no botão Eliminar para cada função que quer revogar.
Também pode adicionar uma condição a uma função, modificar a condição de uma função ou remover a condição de uma função.
Clique em Guardar.
Conceda ou revogue várias funções do IAM por programação
Para fazer alterações de acesso em grande escala que envolvam a concessão e a revogação de várias funções para vários responsáveis, use o padrão read-modify-write para atualizar a política de autorização da conta de serviço:
- Leia a política de permissão atual chamando
getIamPolicy()
. - Edite a política de autorização, através de um editor de texto ou programaticamente, para adicionar ou remover quaisquer responsáveis ou associações de funções.
- Escreva a política de permissão atualizada chamando
setIamPolicy()
.
Esta secção mostra como usar a CLI gcloud e a API REST para atualizar a política de autorização. Também pode atualizar a política de autorização através das bibliotecas de cliente da IAM.
Em geral, as alterações às políticas entram em vigor no prazo de 2 minutos. No entanto, em alguns casos, a propagação das alterações por todo o sistema pode demorar 7 minutos ou mais.
Obtenha a política de permissão atual
gcloud
Para obter a política de permissão para a conta de serviço, execute o comando get-iam-policy
para a conta de serviço:
gcloud iam service-accounts get-iam-policy SA_ID --format=FORMAT > PATH
Indique os seguintes valores:
SA_ID
: o ID da sua conta de serviço. Pode ser o endereço de email da conta de serviço no formatoSA_NAME@PROJECT_ID.iam.gserviceaccount.com
ou o ID numérico exclusivo da conta de serviço.FORMAT
: o formato da política de permissão. Usejson
ouyaml
.PATH
: o caminho para um novo ficheiro de saída para a política allow.
Por exemplo, o comando seguinte obtém a política de autorização para a conta de serviço
my-service-account
e guarda-a no seu diretório principal no formato JSON:
gcloud iam service-accounts get-iam-policy my-service-account --format json > ~/policy.json
REST
O método
serviceAccounts.getIamPolicy
obtém a política de autorização de uma conta de serviço.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: O ID do seu Google Cloud projeto. Os IDs dos projetos são strings alfanuméricas, comomy-project
.SA_ID
: o ID da sua conta de serviço. Este pode ser o endereço de email da conta de serviço no formatoSA_NAME@PROJECT_ID.iam.gserviceaccount.com
ou o ID numérico exclusivo da conta de serviço.POLICY_VERSION
: a versão da política a ser devolvida. Os pedidos devem especificar a versão da política mais recente, que é a versão 3 da política. Consulte o artigo Especificar uma versão da política ao obter uma política para ver detalhes.
Método HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:getIamPolicy
Corpo JSON do pedido:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
Para enviar o seu pedido, expanda uma destas opções:
A resposta contém a política de permissão da conta de serviço. Por exemplo:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] } ] }
Guarde a resposta num ficheiro do tipo adequado (json
ou yaml
).
Java
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Java IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Python IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Modifique a política de autorização
Modifique programaticamente ou através de um editor de texto a cópia local da política de autorização da sua conta de serviço para refletir as funções que quer conceder ou revogar a determinados utilizadores.
Para garantir que não substitui outras alterações, não edite nem remova o campo etag
da política de permissão. O campo etag
identifica o estado atual da política de autorização. Quando define a política de permissão atualizada, o IAM compara o valor etag
no pedido com o etag
existente e só escreve a política de permissão se os valores corresponderem.
Para editar as funções que uma política de autorização concede, tem de editar as associações de funções na política de autorização. As associações de funções têm o seguinte formato:
{ "role": "ROLE_NAME", "members": [ "PRINCIPAL_1", "PRINCIPAL_2", ... "PRINCIPAL_N" ], "conditions:" { CONDITIONS } }
Os marcadores de posição têm os seguintes valores:
ROLE_NAME
: o nome da função que quer conceder. Use um dos seguintes formatos:- Funções predefinidas:
roles/SERVICE.IDENTIFIER
- Funções personalizadas ao nível do projeto:
projects/PROJECT_ID/roles/IDENTIFIER
- Funções personalizadas ao nível da organização:
organizations/ORG_ID/roles/IDENTIFIER
Para ver uma lista das funções predefinidas, consulte o artigo Compreender as funções.
- Funções predefinidas:
PRINCIPAL_1
,PRINCIPAL_2
,...PRINCIPAL_N
: identificadores dos principais aos quais quer conceder a função.Normalmente, os identificadores principais têm o seguinte formato:
PRINCIPAL-TYPE:ID
. Por exemplo,user:my-user@example.com
ouprincipalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
. Para ver uma lista completa dos valores quePRINCIPAL
pode ter, consulte Identificadores principais.Para o tipo principal
user
, o nome do domínio no identificador tem de ser um domínio do Google Workspace ou um domínio do Cloud ID. Para saber como configurar um domínio do Cloud ID, consulte a vista geral do Cloud ID.CONDITIONS
: opcional. Quaisquer condições que especifiquem quando o acesso é concedido.
Conceda uma função
Para conceder funções aos seus principais, modifique as associações de funções na política de autorização. Para saber que funções pode conceder, consulte o artigo Compreender as funções ou ver as funções concedíveis para a conta de serviço. Se precisar de ajuda para identificar as funções predefinidas mais adequadas, consulte o artigo Encontre as funções predefinidas certas.
Opcionalmente, pode usar condições para conceder funções apenas quando determinados requisitos são cumpridos.
Para conceder uma função que já está incluída na política de autorização, adicione o principal a uma associação de funções existente:
gcloud
Edite a política de autorização adicionando o principal a uma associação de funções existente. Tenha em atenção que esta alteração não entra em vigor até definir a política de autorização atualizada.
Por exemplo, imagine que a política de autorização contém a seguinte associação de funções, que
concede a função de utilizador da conta de serviço (roles/iam.serviceAccountUser
) a
Kai:
{
"role": "roles/iam.serviceAccountUser",
"members": [
"user:kai@example.com"
]
}
Para conceder essa mesma função a Raha, adicione Raha à associação de funções existente:
{ "role": "roles/iam.serviceAccountUser", "members": [ "user:kai@example.com", "user:raha@example.com" ] }
REST
Edite a política de autorização adicionando o principal a uma associação de funções existente. Tenha em atenção que esta alteração não entra em vigor até definir a política de autorização atualizada.
Por exemplo, imagine que a política de autorização contém a seguinte associação de funções, que
concede a função de utilizador da conta de serviço (roles/iam.serviceAccountUser
) a
Kai:
{
"role": "roles/iam.serviceAccountUser",
"members": [
"user:kai@example.com"
]
}
Para conceder essa mesma função a Raha, adicione Raha à associação de funções existente:
{ "role": "roles/iam.serviceAccountUser", "members": [ "user:kai@example.com", "user:raha@example.com" ] }
Para conceder uma função que ainda não esteja incluída na política de autorização, adicione uma nova associação de funções:
gcloud
Edite a política de autorização adicionando uma nova associação de funções que conceda a função ao principal. Esta alteração não entra em vigor até que defina a política de permissão atualizada.
Por exemplo, para conceder a função Criador de tokens de contas de serviço (roles/iam.serviceAccountTokenCreator
) a Raha, adicione a associação de funções seguinte à matriz bindings
para a política de autorização:
{
"role": "roles/iam.serviceAccountTokenCreator",
"members": [
"user:raha@example.com"
]
}
REST
Edite a política de autorização adicionando uma nova associação de funções que conceda a função ao principal. Esta alteração não entra em vigor até que defina a política de permissão atualizada.
Por exemplo, para conceder a função Criador de tokens de contas de serviço (roles/iam.serviceAccountTokenCreator
) a Raha, adicione a associação de funções seguinte à matriz bindings
para a política de autorização:
{
"role": "roles/iam.serviceAccountTokenCreator",
"members": [
"user:raha@example.com"
]
}
Revogue uma função
Para revogar uma função, remova o principal da associação de funções. Se não existirem outros principais na associação de funções, remova toda a associação de funções da política de autorização.
gcloud
Edite a política de permissão removendo o principal ou a associação de funções completa. Esta alteração não entra em vigor até definir a política de permissão atualizada.
Por exemplo, imagine que a política de permissão contém a seguinte associação de funções, que
concede a Kai e Raha a função de utilizador da conta de serviço
(roles/iam.serviceAccountUser
):
{
"role": "roles/iam.serviceAccountUser",
"members": [
"user:kai@example.com",
"user:raha@example.com"
]
}
Para revogar a função de Kai, remova o identificador principal de Kai da associação de funções:
{
"role": "roles/iam.serviceAccountUser",
"members": [
user:raha@example.com
]
}
Para revogar a função de Kai e Raha, remova a associação de funções da política de autorização.
REST
Edite a política de permissão removendo o principal ou a associação de funções completa. Esta alteração não entra em vigor até definir a política de permissão atualizada.
Por exemplo, imagine que a política de permissão contém a seguinte associação de funções, que
concede a Kai e Raha a função de utilizador da conta de serviço
(roles/iam.serviceAccountUser
):
{
"role": "roles/iam.serviceAccountUser",
"members": [
"user:kai@example.com",
"user:raha@example.com"
]
}
Para revogar a função de Kai, remova o identificador principal de Kai da associação de funções:
{
"role": "roles/iam.serviceAccountUser",
"members": [
user:raha@example.com
]
}
Para revogar a função de Kai e Raha, remova a associação de funções da política de autorização.
Defina a política de permissão
Depois de modificar a política de autorização para conceder e revogar funções, chame setIamPolicy()
para fazer as atualizações.
gcloud
Para definir a política de autorização para o recurso, execute o comando
set-iam-policy
para a conta de serviço:
gcloud iam service-accounts set-iam-policy SA_ID PATH
Indique os seguintes valores:
SA_ID
: o ID da sua conta de serviço. Pode ser o endereço de email da conta de serviço no formatoSA_NAME@PROJECT_ID.iam.gserviceaccount.com
ou o ID numérico exclusivo da conta de serviço.PATH
: o caminho para um ficheiro que contém a nova política de permissão.
A resposta contém a política de permissão atualizada.
Por exemplo, o comando seguinte define a política de permissão armazenada em policy.json
como a política de permissão para a conta de serviço
my-service-account@my-project.iam.gserviceaccount.com
:
gcloud iam service-accounts set-iam-policy my-service-account@my-project.iam.gserviceaccount.com \ ~/policy.json
REST
O método
serviceAccounts.setIamPolicy
define uma política de permissão atualizada para a conta de serviço.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: O ID do seu Google Cloud projeto. Os IDs dos projetos são strings alfanuméricas, comomy-project
.SA_ID
: o ID da sua conta de serviço. Este pode ser o endereço de email da conta de serviço no formatoSA_NAME@PROJECT_ID.iam.gserviceaccount.com
ou o ID numérico exclusivo da conta de serviço.-
POLICY
: Uma representação JSON da política que quer definir. Para mais informações sobre o formato de uma política, consulte a referência de políticas.Por exemplo, para definir a política de permissão apresentada no passo anterior, substitua
policy
pelo seguinte:{ "version": 1, "etag": "BwUqLaVeua8=", "bindings": [ { "role": "roles/iam.serviceAccountUser", "members": [ "group:my-group@example.com" ] }, { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] } ] }
Método HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:setIamPolicy
Corpo JSON do pedido:
{ "policy": POLICY }
Para enviar o seu pedido, expanda uma destas opções:
A resposta contém a política de permissão atualizada.
Java
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Java IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Python IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
O que se segue?
- Saiba que funções conceder para permitir que os responsáveis se autentiquem como contas de serviço.
- Saiba como escolher as funções predefinidas mais adequadas.
- Reveja as práticas recomendadas para trabalhar com contas de serviço para saber como usar contas de serviço em segurança.
- Saiba como gerir o acesso a projetos, pastas e organizações.
- Saiba os passos gerais para gerir o acesso a outros recursos.
- Saiba como tornar o acesso de um principal condicional com associações de funções condicionais.
Experimente
Se for um novo utilizador do Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em cenários reais. Os novos clientes também recebem 300 USD em créditos gratuitos para executar, testar e implementar cargas de trabalho.
Comece gratuitamente