Uma política de gestão de identidade e de acesso (IAM), que especifica os controlos de acesso para os recursos do Google Cloud.
Um Policy é uma coleção de bindings. Uma binding associa um ou mais members, ou principais, a um único role. Os principais podem ser contas de utilizador, contas de serviço, grupos Google e domínios (como o G Suite). Uma role é uma lista de autorizações com nome; cada role pode ser uma função predefinida do IAM ou uma função personalizada criada pelo utilizador.
Para alguns tipos de recursos do Google Cloud, uma binding também pode especificar uma condition, que é uma expressão lógica que permite o acesso a um recurso apenas se a expressão for avaliada como true. Uma condição pode adicionar restrições com base nos atributos do pedido, do recurso ou de ambos. Para saber que recursos suportam condições nas respetivas políticas de IAM, consulte a documentação da IAM.
Os valores válidos são 0, 1 e 3. Os pedidos que especificam um valor inválido são rejeitados.
Qualquer operação que afete as associações de funções condicionais tem de especificar a versão 3. Este requisito aplica-se às seguintes operações:
Obter uma política que inclua uma associação de funções condicional
Adicionar uma associação de função condicional a uma política
Alterar uma associação de função condicional numa política
Remover qualquer associação de funções, com ou sem uma condição, de uma política que inclua condições
Importante: se usar condições do IAM, tem de incluir o campo etag sempre que chamar setIamPolicy. Se omitir este campo, o IAM permite-lhe substituir uma política de versão 3 por uma política de versão 1, e todas as condições na política de versão 3 são perdidas.
Se uma política não incluir condições, as operações nessa política podem especificar qualquer versão válida ou deixar o campo não definido.
Para saber que recursos suportam condições nas respetivas políticas de IAM, consulte a documentação da IAM.
Associa uma lista de members, ou principais, a um role. Opcionalmente, pode especificar um condition que determine como e quando os bindings são aplicados. Cada um dos bindings tem de conter, pelo menos, um principal.
O bindings num Policy pode referir-se a até 1500 responsáveis; até 250 destes responsáveis podem ser grupos Google. Cada ocorrência de um principal conta para estes limites. Por exemplo, se a bindings conceder 50 funções diferentes a user:alice@example.com e a nenhum outro principal, pode adicionar mais 1450 principais à bindings no Policy.
etag é usado para o controlo de simultaneidade otimista como forma de ajudar a evitar que as atualizações simultâneas de uma política se substituam mutuamente. É fortemente sugerido que os sistemas usem o etag no ciclo de leitura-modificação-escrita para fazer atualizações de políticas de modo a evitar condições de concorrência: é devolvido um etag na resposta a getIamPolicy, e espera-se que os sistemas coloquem esse etag no pedido a setIamPolicy para garantir que a respetiva alteração é aplicada à mesma versão da política.
Importante: se usar condições do IAM, tem de incluir o campo etag sempre que chamar setIamPolicy. Se omitir este campo, o IAM permite-lhe substituir uma política de versão 3 por uma política de versão 1, e todas as condições na política de versão 3 são perdidas.
função atribuída à lista de members ou diretores. Por exemplo, roles/viewer, roles/editor ou roles/owner.
Para uma vista geral das funções e autorizações de IAM, consulte a documentação de IAM. Para ver uma lista das funções predefinidas disponíveis, consulte aqui.
members[]
string
Especifica os principais que pedem acesso a um recurso do Google Cloud. members pode ter os seguintes valores:
allUsers: um identificador especial que representa qualquer pessoa que esteja na Internet, com ou sem uma Conta Google.
allAuthenticatedUsers: um identificador especial que representa qualquer pessoa autenticada com uma Conta Google ou uma conta de serviço. Não inclui identidades provenientes de fornecedores de identidade (IdPs) externos através da federação de identidades.
user:{emailid}: um endereço de email que representa uma conta Google específica. Por exemplo, alice@example.com .
serviceAccount:{emailid}: um endereço de email que representa uma conta de serviço da Google. Por exemplo, my-other-app@appspot.gserviceaccount.com.
serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: um identificador de uma conta de serviço do Kubernetes. Por exemplo, my-project.svc.id.goog[my-namespace/my-kubernetes-sa].
group:{emailid}: um endereço de email que representa um grupo Google. Por exemplo, admins@example.com.
domain:{domain}: o domínio do G Suite (principal) que representa todos os utilizadores desse domínio. Por exemplo, google.com ou example.com.
principal://iam.googleapis.com/locations/global/workforcePools/{poolId}/subject/{subject_attribute_value}: Uma única identidade num Workload Identity Pool.
principalSet://iam.googleapis.com/locations/global/workforcePools/{poolId}/group/{groupId}: todas as identidades da força de trabalho num grupo.
principalSet://iam.googleapis.com/locations/global/workforcePools/{poolId}/attribute.{attributeName}/{attributeValue}: todas as identidades da força de trabalho com um valor de atributo específico.
principalSet://iam.googleapis.com/locations/global/workforcePools/{poolId}/*: Todas as identidades num Workforce Identity Pool.
principal://iam.googleapis.com/projects/{projectNumber}/locations/global/workloadIdentityPools/{poolId}/subject/{subject_attribute_value}: uma única identidade num Workload Identity Pool.
principalSet://iam.googleapis.com/projects/{projectNumber}/locations/global/workloadIdentityPools/{poolId}/group/{groupId}: Um grupo do Workload Identity Pool.
principalSet://iam.googleapis.com/projects/{projectNumber}/locations/global/workloadIdentityPools/{poolId}/attribute.{attributeName}/{attributeValue}: Todas as identidades num Workload Identity Pool com um determinado atributo.
principalSet://iam.googleapis.com/projects/{projectNumber}/locations/global/workloadIdentityPools/{poolId}/*: Todas as identidades num Workload Identity Pool.
deleted:user:{emailid}?uid={uniqueid}: um endereço de email (mais um identificador exclusivo) que representa um utilizador eliminado recentemente. Por exemplo, alice@example.com?uid=123456789012345678901. Se o utilizador for recuperado, este valor reverte para user:{emailid} e o utilizador recuperado mantém a função na associação.
deleted:serviceAccount:{emailid}?uid={uniqueid}: um endereço de email (mais um identificador exclusivo) que representa uma conta de serviço que foi eliminada recentemente. Por exemplo, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. Se a conta de serviço for anulada, este valor reverte para serviceAccount:{emailid} e a conta de serviço anulada mantém a função na associação.
deleted:group:{emailid}?uid={uniqueid}: um endereço de email (mais um identificador único) que representa um Grupo Google que foi eliminado recentemente. Por exemplo, admins@example.com?uid=123456789012345678901. Se o grupo for recuperado, este valor reverte para group:{emailid} e o grupo recuperado mantém a função na associação.
deleted:principal://iam.googleapis.com/locations/global/workforcePools/{poolId}/subject/{subject_attribute_value}: Eliminou uma única identidade num Workforce Identity Pool. Por exemplo, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value.
Se a condição for avaliada como true, esta associação aplica-se ao pedido atual.
Se a condição for avaliada como false, esta associação não se aplica ao pedido atual. No entanto, uma associação de funções diferente pode conceder a mesma função a um ou mais dos principais nesta associação.
Para saber que recursos suportam condições nas respetivas políticas de IAM, consulte a documentação da IAM.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-10-19 UTC."],[],[]]