Requer autorização
Define a política de controle de acesso no recurso especificado. Substitui qualquer política existente. Faça o teste agora.
Solicitação
Solicitação HTTP
POST https://www.googleapis.com/deploymentmanager/v2/projects/project/global/deployments/resource/setIamPolicy
Parâmetros
Nome do parâmetro | Valor | Descrição |
---|---|---|
Parâmetros de caminho | ||
project |
string |
O código do projeto dessa solicitação. |
resource |
string |
Nome ou ID do recurso para essa solicitação. |
Autorização
Esta solicitação requer autorização com pelo menos um dos seguintes escopos (leia mais sobre autenticação e autorização).
Escopo |
---|
https://www.googleapis.com/auth/cloud-platform |
https://www.googleapis.com/auth/ndev.cloudman |
Corpo da solicitação
No corpo da solicitação, forneça dados com a seguinte estrutura:
{ "policy": { "version": integer, "bindings": [ { "role": string, "members": [ string ], "condition": { "expression": string, "title": string, "description": string, "location": string } } ], "auditConfigs": [ { "service": string, "exemptedMembers": [ string ], "auditLogConfigs": [ { "logType": string, "exemptedMembers": [ string ] } ] } ], "rules": [ { "description": string, "permissions": [ string ], "action": string, "ins": [ string ], "notIns": [ string ], "conditions": [ { "iam": string, "sys": string, "svc": string, "op": string, "values": [ string ] } ], "logConfigs": [ { "counter": { "metric": string, "field": string }, "dataAccess": { "logMode": string }, "cloudAudit": { "logName": string, "authorizationLoggingOptions": { "permissionType": string } } } ] } ], "etag": bytes, "iamOwned": boolean }, "bindings": [ { "role": string, "members": [ string ], "condition": { "expression": string, "title": string, "description": string, "location": string } } ], "etag": bytes }
Nome da propriedade | Valor | Descrição | Observações |
---|---|---|---|
bindings[] |
list |
Achatar a política para criar um formato de transmissão compatível com versões anteriores. Obsoleto. Use "policy" para especificar vinculações. | |
bindings[].role |
string |
Papel atribuído a "members". Por exemplo, "roles/viewer", "roles/editor" ou "roles/owner". | |
bindings[].members[] |
list |
Especifica as identidades que solicitam acesso a um recurso do Cloud Platform. `members` pode ter os seguintes valores: * `allUsers`: um identificador especial que representa qualquer pessoa na Internet, com ou sem uma conta do Google. * "allAuthenticatedUsers": um identificador especial que representa qualquer pessoa autenticada com uma Conta do Google ou uma conta de serviço. * `user:{emailid}`: um endereço de e-mail que representa uma Conta do Google específica. Por exemplo, "alice@gmail.com". * `serviceAccount:{emailid}`: um endereço de e-mail que representa uma conta de serviço. Por exemplo, "my-other-app@appspot.gserviceaccount.com". * "group:{emailid}": um endereço de e-mail que representa um grupo do Google. Por exemplo, "admins@example.com". * "domain:{domain}": o domínio do G Suite (principal) que representa todos os usuários dele. Por exemplo, "google.com" ou "example.com". |
|
etag |
bytes |
Achatar a política para criar um formato de transmissão compatível com versões anteriores. Obsoleto. Use "policy" para especificar o ETag. | |
bindings[].condition |
nested object |
A condição que está associada a essa vinculação. OBSERVAÇÃO: uma condição não satisfeita impede o acesso do usuário pela vinculação atual. Vinculações diferentes, incluindo as próprias condições, são examinadas de maneira independente. | |
bindings[].condition.expression |
string |
Representação textual de uma expressão na sintaxe de Linguagem de expressão comum. O contexto do aplicativo a que pertence a mensagem determina qual conjunto de recursos conhecido da CEL é compatível. |
|
bindings[].condition.title |
string |
Um título opcional para a expressão, ou seja, uma string curta descrevendo a finalidade. Isso pode ser usado, por exemplo, em IUs que permitam inserir a expressão. | |
bindings[].condition.description |
string |
Uma descrição opcional da expressão. Este é um texto mais longo que descreve a expressão, por exemplo, quando o cursor é passado sobre ela em uma IU. | |
bindings[].condition.location |
string |
Uma string opcional indicando o local da expressão para relatórios de erros, por exemplo, um nome de arquivo e uma posição no arquivo. | |
policy |
nested object |
OBRIGATÓRIO: a política completa a ser aplicada ao "resource". O tamanho da política é limitado a menos de 100 KB. Uma política vazia é válida, mas alguns serviços (como Projetos) podem rejeitá-la. | |
policy.version |
integer |
Descontinuado. |
|
policy.bindings[] |
list |
Associa uma lista de "members" a uma "role". "bindings" sem membros resulta em erro. | |
policy.bindings[].role |
string |
Papel atribuído a "members". Por exemplo, "roles/viewer", "roles/editor" ou "roles/owner". | |
policy.bindings[].members[] |
list |
Especifica as identidades que solicitam acesso a um recurso do Cloud Platform. `members` pode ter os seguintes valores: * `allUsers`: um identificador especial que representa qualquer pessoa na Internet, com ou sem uma conta do Google. * "allAuthenticatedUsers": um identificador especial que representa qualquer pessoa autenticada com uma Conta do Google ou uma conta de serviço. * `user:{emailid}`: um endereço de e-mail que representa uma Conta do Google específica. Por exemplo, "alice@gmail.com". * `serviceAccount:{emailid}`: um endereço de e-mail que representa uma conta de serviço. Por exemplo, "my-other-app@appspot.gserviceaccount.com". * "group:{emailid}": um endereço de e-mail que representa um grupo do Google. Por exemplo, "admins@example.com". * "domain:{domain}": o domínio do G Suite (principal) que representa todos os usuários dele. Por exemplo, "google.com" ou "example.com". |
|
policy.bindings[].condition |
nested object |
A condição que está associada a essa vinculação. OBSERVAÇÃO: uma condição não satisfeita impede o acesso do usuário pela vinculação atual. Vinculações diferentes, incluindo as próprias condições, são examinadas de maneira independente. | |
policy.bindings[].condition.expression |
string |
Representação textual de uma expressão na sintaxe de Linguagem de expressão comum. O contexto do aplicativo a que pertence a mensagem determina qual conjunto de recursos conhecido da CEL é compatível. |
|
policy.bindings[].condition.title |
string |
Um título opcional para a expressão, ou seja, uma string curta descrevendo a finalidade. Isso pode ser usado, por exemplo, em IUs que permitam inserir a expressão. | |
policy.bindings[].condition.description |
string |
Uma descrição opcional da expressão. Este é um texto mais longo que descreve a expressão, por exemplo, quando o cursor é passado sobre ela em uma IU. | |
policy.bindings[].condition.location |
string |
Uma string opcional indicando o local da expressão para relatórios de erros, por exemplo, um nome de arquivo e uma posição no arquivo. | |
policy.auditConfigs[] |
list |
Especifica a configuração do Cloud Audit Logging para esta política. |
|
policy.auditConfigs[].service |
string |
Especifica um serviço que é ativado para geração de registros de auditoria. Por exemplo, "storage.googleapis.com", "cloudsql.googleapis.com". "allServices" é um valor especial que abrange todos os serviços. | |
policy.auditConfigs[].exemptedMembers[] |
list |
||
policy.auditConfigs[].auditLogConfigs[] |
list |
A configuração para a geração de registros de cada tipo de permissão. | |
policy.auditConfigs[].auditLogConfigs[].logType |
string |
O tipo de registro permitido por essa configuração. | |
policy.auditConfigs[].auditLogConfigs[].exemptedMembers[] |
list |
Especifica as identidades que não causam geração de registros para esse tipo de permissão. Segue o mesmo formato de [Binding.members][]. | |
policy.rules[] |
list |
Se mais de uma regra for especificada, elas serão aplicadas da seguinte maneira: - Todas as regras de LOG correspondentes são sempre aplicadas. - Se qualquer regra DENY/DENY_WITH_LOG corresponder, a permissão será negada. A geração de registros será aplicada se uma ou mais regras correspondentes exigirem isso. - Caso contrário, se qualquer regra ALLOW/ALLOW_WITH_LOG corresponder, a permissão será concedida. A geração de registros será aplicada se uma ou mais regras correspondentes exigirem isso. - Caso contrário, se nenhuma regra for aplicada, a permissão será negada. | |
policy.rules[].description |
string |
Descrição legível da regra. | |
policy.rules[].permissions[] |
list |
Uma permissão é uma string no formato ' |
|
policy.rules[].action |
string |
Obrigatório | |
policy.rules[].ins[] |
list |
Se uma ou mais cláusulas "in" são especificadas, a regra faz a correspondência se PRINCIPAL/AUTHORITY_SELECTOR está em pelo menos uma dessas entradas. | |
policy.rules[].notIns[] |
list |
Se uma ou mais cláusulas "not_in" são especificadas, a regra corresponde quando PRINCIPAL/AUTHORITY_SELECTOR não está em nenhuma das entradas. | |
policy.rules[].conditions[] |
list |
Outras restrições que precisam ser atendidas. Todas as condições precisam ser atendidas para que a regra seja atendida. | |
policy.rules[].conditions[].iam |
string |
Atributos confiáveis fornecidos pelo sistema IAM. | |
policy.rules[].conditions[].sys |
string |
Atributos confiáveis fornecidos por qualquer serviço que tenha recursos e use o sistema IAM para controle de acesso. | |
policy.rules[].conditions[].svc |
string |
Atributos do Trusted descarregados pelo serviço. | |
policy.rules[].conditions[].op |
string |
Um operador com quem o assunto será aplicado. | |
policy.rules[].conditions[].values[] |
list |
Os objetos da condição. | |
policy.rules[].logConfigs[] |
list |
A configuração retornada para os autores da chamada de tech.iam.IAM.CheckPolicy para todas as entradas que correspondem à ação LOG. | |
policy.rules[].logConfigs[].counter |
nested object |
Opções de contador. | |
policy.rules[].logConfigs[].counter.metric |
string |
A métrica a ser atualizada. | |
policy.rules[].logConfigs[].counter.field |
string |
O valor do campo a ser atribuído. | |
policy.rules[].logConfigs[].dataAccess |
nested object |
Opções de acesso a dados. | |
policy.rules[].logConfigs[].dataAccess.logMode |
string |
Se o registro do Gin deve acontecer de forma fechada no autor da chamada. Por enquanto, isso é relevante apenas na implementação do LocalIAM. OBSERVAÇÃO: no momento, não é possível fazer o registro no Gin de forma fechada em caso de falha, enquanto o trabalho é feito para atender aos requisitos de go/345. No momento, a configuração do modo LOG_FAIL_CLOSED não tem efeito, mas ainda existe porque há um trabalho ativo sendo feito para oferecer suporte a ele (b/115874152). |
|
policy.rules[].logConfigs[].cloudAudit |
nested object |
Opções de auditoria do Cloud. | |
policy.rules[].logConfigs[].cloudAudit.logName |
string |
O log_name a ser preenchido no registro de auditoria do Cloud. |
|
policy.rules[].logConfigs[].cloudAudit.authorizationLoggingOptions |
nested object |
Informações usadas pelo pipeline de Registros de auditoria do Cloud. | |
policy.rules[].logConfigs[].cloudAudit.authorizationLoggingOptions.permissionType |
string |
O tipo de permissão que foi verificada. | |
policy.etag |
bytes |
A "etag" é usada para controle de simultaneidade otimista como uma forma de ajudar a evitar atualizações simultâneas de uma política por outra. É altamente recomendável que os sistemas usem a "etag" no ciclo de leitura-modificação-gravação para fazer atualizações de políticas, a fim de evitar condições de corrida. Uma "etag" é retornada na resposta a "getIamPolicy", e essa etag é colocada na solicitação de "setIamPolicy" para garantir que a alteração seja aplicada à mesma versão da política. Se nenhuma "etag" for fornecida na chamada para "setIamPolicy", a política atual será substituída cegamente. |
|
policy.iamOwned |
boolean |
Resposta
Se bem-sucedido, este método retornará um corpo de resposta com a seguinte estrutura:
{ "version": integer, "bindings": [ { "role": string, "members": [ string ], "condition": { "expression": string, "title": string, "description": string, "location": string } } ], "auditConfigs": [ { "service": string, "exemptedMembers": [ string ], "auditLogConfigs": [ { "logType": string, "exemptedMembers": [ string ] } ] } ], "rules": [ { "description": string, "permissions": [ string ], "action": string, "ins": [ string ], "notIns": [ string ], "conditions": [ { "iam": string, "sys": string, "svc": string, "op": string, "values": [ string ] } ], "logConfigs": [ { "counter": { "metric": string, "field": string }, "dataAccess": { "logMode": string }, "cloudAudit": { "logName": string, "authorizationLoggingOptions": { "permissionType": string } } } ] } ], "etag": bytes, "iamOwned": boolean }
Nome da propriedade | Valor | Descrição | Observações |
---|---|---|---|
version |
integer |
Descontinuado. |
|
bindings[] |
list |
Associa uma lista de "members" a uma "role". "bindings" sem membros resulta em erro. | |
bindings[].role |
string |
Papel atribuído a "members". Por exemplo, "roles/viewer", "roles/editor" ou "roles/owner". | |
bindings[].members[] |
list |
Especifica as identidades que solicitam acesso a um recurso do Cloud Platform. `members` pode ter os seguintes valores: * `allUsers`: um identificador especial que representa qualquer pessoa na Internet, com ou sem uma conta do Google. * "allAuthenticatedUsers": um identificador especial que representa qualquer pessoa autenticada com uma Conta do Google ou uma conta de serviço. * `user:{emailid}`: um endereço de e-mail que representa uma Conta do Google específica. Por exemplo, "alice@gmail.com". * `serviceAccount:{emailid}`: um endereço de e-mail que representa uma conta de serviço. Por exemplo, "my-other-app@appspot.gserviceaccount.com". * "group:{emailid}": um endereço de e-mail que representa um grupo do Google. Por exemplo, "admins@example.com". * "domain:{domain}": o domínio do G Suite (principal) que representa todos os usuários dele. Por exemplo, "google.com" ou "example.com". |
|
auditConfigs[] |
list |
Especifica a configuração do Cloud Audit Logging para esta política. |
|
auditConfigs[].service |
string |
Especifica um serviço que é ativado para geração de registros de auditoria. Por exemplo, "storage.googleapis.com", "cloudsql.googleapis.com". "allServices" é um valor especial que abrange todos os serviços. | |
auditConfigs[].exemptedMembers[] |
list |
||
auditConfigs[].auditLogConfigs[] |
list |
A configuração para a geração de registros de cada tipo de permissão. | |
auditConfigs[].auditLogConfigs[].logType |
string |
O tipo de registro permitido por essa configuração. | |
auditConfigs[].auditLogConfigs[].exemptedMembers[] |
list |
Especifica as identidades que não causam geração de registros para esse tipo de permissão. Segue o mesmo formato de [Binding.members][]. | |
rules[] |
list |
Se mais de uma regra for especificada, elas serão aplicadas da seguinte maneira: - Todas as regras de LOG correspondentes são sempre aplicadas. - Se qualquer regra DENY/DENY_WITH_LOG corresponder, a permissão será negada. A geração de registros será aplicada se uma ou mais regras correspondentes exigirem isso. - Caso contrário, se qualquer regra ALLOW/ALLOW_WITH_LOG corresponder, a permissão será concedida. A geração de registros será aplicada se uma ou mais regras correspondentes exigirem isso. - Caso contrário, se nenhuma regra for aplicada, a permissão será negada. | |
rules[].description |
string |
Descrição legível da regra. | |
rules[].permissions[] |
list |
Uma permissão é uma string no formato ' |
|
rules[].action |
string |
Obrigatório | |
rules[].ins[] |
list |
Se uma ou mais cláusulas "in" são especificadas, a regra faz a correspondência se PRINCIPAL/AUTHORITY_SELECTOR está em pelo menos uma dessas entradas. | |
rules[].notIns[] |
list |
Se uma ou mais cláusulas "not_in" são especificadas, a regra corresponde quando PRINCIPAL/AUTHORITY_SELECTOR não está em nenhuma das entradas. | |
rules[].conditions[] |
list |
Outras restrições que precisam ser atendidas. Todas as condições precisam ser atendidas para que a regra seja atendida. | |
rules[].conditions[].iam |
string |
Atributos confiáveis fornecidos pelo sistema IAM. | |
rules[].conditions[].sys |
string |
Atributos confiáveis fornecidos por qualquer serviço que tenha recursos e use o sistema IAM para controle de acesso. | |
rules[].conditions[].svc |
string |
Atributos do Trusted descarregados pelo serviço. | |
rules[].conditions[].op |
string |
Um operador com quem o assunto será aplicado. | |
rules[].conditions[].values[] |
list |
Os objetos da condição. | |
rules[].logConfigs[] |
list |
A configuração retornada para os autores da chamada de tech.iam.IAM.CheckPolicy para todas as entradas que correspondem à ação LOG. | |
rules[].logConfigs[].counter |
nested object |
Opções de contador. | |
rules[].logConfigs[].counter.metric |
string |
A métrica a ser atualizada. | |
rules[].logConfigs[].counter.field |
string |
O valor do campo a ser atribuído. | |
etag |
bytes |
A "etag" é usada para controle de simultaneidade otimista como uma forma de ajudar a evitar atualizações simultâneas de uma política por outra. É altamente recomendável que os sistemas usem a "etag" no ciclo de leitura-modificação-gravação para fazer atualizações de políticas, a fim de evitar condições de corrida. Uma "etag" é retornada na resposta a "getIamPolicy", e essa etag é colocada na solicitação de "setIamPolicy" para garantir que a alteração seja aplicada à mesma versão da política. Se nenhuma "etag" for fornecida na chamada para "setIamPolicy", a política atual será substituída cegamente. |
|
iamOwned |
boolean |
||
bindings[].condition |
nested object |
A condição que está associada a essa vinculação. OBSERVAÇÃO: uma condição não satisfeita impede o acesso do usuário pela vinculação atual. Vinculações diferentes, incluindo as próprias condições, são examinadas de maneira independente. | |
bindings[].condition.expression |
string |
Representação textual de uma expressão na sintaxe de Linguagem de expressão comum. O contexto do aplicativo a que pertence a mensagem determina qual conjunto de recursos conhecido da CEL é compatível. |
|
bindings[].condition.title |
string |
Um título opcional para a expressão, ou seja, uma string curta descrevendo a finalidade. Isso pode ser usado, por exemplo, em IUs que permitam inserir a expressão. | |
bindings[].condition.description |
string |
Uma descrição opcional da expressão. Este é um texto mais longo que descreve a expressão, por exemplo, quando o cursor é passado sobre ela em uma IU. | |
bindings[].condition.location |
string |
Uma string opcional indicando o local da expressão para relatórios de erros, por exemplo, um nome de arquivo e uma posição no arquivo. | |
rules[].logConfigs[].dataAccess |
nested object |
Opções de acesso a dados. | |
rules[].logConfigs[].dataAccess.logMode |
string |
Se o registro do Gin deve acontecer de forma fechada no autor da chamada. Por enquanto, isso é relevante apenas na implementação do LocalIAM. OBSERVAÇÃO: no momento, não é possível fazer o registro no Gin de forma fechada em caso de falha, enquanto o trabalho é feito para atender aos requisitos de go/345. No momento, a configuração do modo LOG_FAIL_CLOSED não tem efeito, mas ainda existe porque há um trabalho ativo sendo feito para oferecer suporte a ele (b/115874152). |
|
rules[].logConfigs[].cloudAudit |
nested object |
Opções de auditoria do Cloud. | |
rules[].logConfigs[].cloudAudit.logName |
string |
O log_name a ser preenchido no registro de auditoria do Cloud. |
|
rules[].logConfigs[].cloudAudit.authorizationLoggingOptions |
nested object |
Informações usadas pelo pipeline de Registros de auditoria do Cloud. | |
rules[].logConfigs[].cloudAudit.authorizationLoggingOptions.permissionType |
string |
O tipo de permissão que foi verificada. |
Testar
Use o Explorador de APIs a seguir para chamar este método em dados reais e veja a resposta. Se você preferir, teste o Explorador independente.