Requiere autorización
Permite configurar la política de control de acceso en el recurso especificado. Reemplaza todas las políticas existentes. Pruébalo ahora.
Solicitud
Solicitud HTTP
POST https://www.googleapis.com/deploymentmanager/v2/projects/project /global/deployments/resource /setIamPolicy
Parámetros
Nombre del parámetro | Valor | Descripción |
---|---|---|
Parámetros de ruta de acceso | ||
project |
string |
ID del proyecto para esta solicitud |
resource |
string |
Es el nombre o el ID del recurso de esta solicitud. |
Autorización
Esta solicitud requiere autorización con al menos uno de los siguientes alcances (obtén más información sobre la autenticación y la autorización).
Alcance |
---|
https://www.googleapis.com/auth/cloud-platform |
https://www.googleapis.com/auth/ndev.cloudman |
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporciona los datos con la siguiente estructura:
{ "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 }
Nombre de la propiedad | Valor | Descripción | Notas |
---|---|---|---|
bindings[] |
list |
Flatten Policy para crear un formato de cable retrocompatible Obsoleto. Usa "policy" para especificar vinculaciones. | |
bindings[].role |
string |
Es el rol que se asigna a "members". Por ejemplo, "roles/viewer", "roles/editor" o "roles/owner". | |
bindings[].members[] |
list |
Especifica qué identidades solicitan acceso al recurso de Cloud Platform. "members" puede tener los siguientes valores: * "allUsers": Un identificador especial que representa a cualquier persona que esté en Internet, con o sin una Cuenta de Google. * "allAuthenticatedUsers": Un identificador especial que representa a cualquier persona que se autentique con una Cuenta de Google o una cuenta de servicio. * "user:{emailid}": Una dirección de correo electrónico que representa una Cuenta de Google específica. Por ejemplo, "alice@gmail.com". * "serviceAccount:{emailid}": Es una dirección de correo electrónico que representa una cuenta de servicio. Por ejemplo, "my-other-app@appspot.gserviceaccount.com". * "group:{emailid}": Es una dirección de correo electrónico que representa un Grupo de Google. Por ejemplo, "admins@example.com". * "domain:{domain}": El dominio de G Suite (principal) que representa a todos los usuarios de ese dominio. Por ejemplo, "google.com" o "example.com". |
|
etag |
bytes |
Flatten Policy para crear un formato de cable retrocompatible Obsoleto. Usa "policy" para especificar el etag. | |
bindings[].condition |
nested object |
La condición asociada a esta vinculación. NOTA: Si una condición no se satisface, no se permitirá el acceso de los usuarios mediante la vinculación actual. Las diferentes vinculaciones, incluidas sus condiciones, se examinan de manera independiente. | |
bindings[].condition.expression |
string |
Representación textual de una expresión en sintaxis de Common Expression Language. El contexto de aplicación del mensaje contenedor determina qué conjunto de atributos bien conocido de CEL es compatible. |
|
bindings[].condition.title |
string |
Un título opcional para la expresión, es decir, una string corta que describe su propósito. Se puede usar, p. ej., en IU que permiten ingresar la expresión. | |
bindings[].condition.description |
string |
Una descripción opcional de la expresión. Es un texto más largo que describe a la expresión (p. ej., al desplazarse sobre ella en una IU). | |
bindings[].condition.location |
string |
Una string opcional que indica la ubicación de la expresión para los informes de errores (p. ej., el nombre de un archivo y una posición en su interior). | |
policy |
nested object |
OBLIGATORIO. La política completa que se debe aplicar al "resource". El tamaño de la política se limita a unas pocas decenas de KB. En general, una política vacía es válida, pero algunos servicios (como Projects) podrían rechazarla. | |
policy.version |
integer |
Obsoleto. |
|
policy.bindings[] |
list |
Asocia una lista de "members" a un "role". Los "bindings" sin miembros generarán un error. | |
policy.bindings[].role |
string |
Es el rol que se asigna a "members". Por ejemplo, "roles/viewer", "roles/editor" o "roles/owner". | |
policy.bindings[].members[] |
list |
Especifica qué identidades solicitan acceso al recurso de Cloud Platform. "members" puede tener los siguientes valores: * "allUsers": Un identificador especial que representa a cualquier persona que esté en Internet, con o sin una Cuenta de Google. * "allAuthenticatedUsers": Un identificador especial que representa a cualquier persona que se autentique con una Cuenta de Google o una cuenta de servicio. * "user:{emailid}": Una dirección de correo electrónico que representa una Cuenta de Google específica. Por ejemplo, "alice@gmail.com". * "serviceAccount:{emailid}": Es una dirección de correo electrónico que representa una cuenta de servicio. Por ejemplo, "my-other-app@appspot.gserviceaccount.com". * "group:{emailid}": Es una dirección de correo electrónico que representa un Grupo de Google. Por ejemplo, "admins@example.com". * "domain:{domain}": El dominio de G Suite (principal) que representa a todos los usuarios de ese dominio. Por ejemplo, "google.com" o "example.com". |
|
policy.bindings[].condition |
nested object |
La condición asociada a esta vinculación. NOTA: Si una condición no se satisface, no se permitirá el acceso de los usuarios mediante la vinculación actual. Las diferentes vinculaciones, incluidas sus condiciones, se examinan de manera independiente. | |
policy.bindings[].condition.expression |
string |
Representación textual de una expresión en sintaxis de Common Expression Language. El contexto de aplicación del mensaje contenedor determina qué conjunto de atributos bien conocido de CEL es compatible. |
|
policy.bindings[].condition.title |
string |
Un título opcional para la expresión, es decir, una string corta que describe su propósito. Se puede usar, p. ej., en IU que permiten ingresar la expresión. | |
policy.bindings[].condition.description |
string |
Una descripción opcional de la expresión. Es un texto más largo que describe a la expresión (p. ej., al desplazarse sobre ella en una IU). | |
policy.bindings[].condition.location |
string |
Una string opcional que indica la ubicación de la expresión para los informes de errores (p. ej., el nombre de un archivo y una posición en su interior). | |
policy.auditConfigs[] |
list |
Especifica la configuración de Cloud Audit Logging para esta política. |
|
policy.auditConfigs[].service |
string |
Especifica un servicio que se habilitará para el registro de auditoría. Por ejemplo, "storage.googleapis.com", "cloudsql.googleapis.com". "allServices" es un valor especial que abarca todos los servicios. | |
policy.auditConfigs[].exemptedMembers[] |
list |
||
policy.auditConfigs[].auditLogConfigs[] |
list |
La configuración para el registro de cada tipo de permiso. | |
policy.auditConfigs[].auditLogConfigs[].logType |
string |
El tipo de registro que habilita esta configuración. | |
policy.auditConfigs[].auditLogConfigs[].exemptedMembers[] |
list |
Especifica las identidades que no provocan registros para este tipo de permiso. Sigue el mismo formato de [Binding.members][]. | |
policy.rules[] |
list |
Si se especifica más de una regla, estas se aplican de la siguiente manera: - Siempre se aplican todas las reglas de LOG que coincidan. - Si coincide alguna regla DENY/DENY_WITH_LOG, se deniega el permiso. Se aplicará el registro si una o más reglas coincidentes lo requieren. - De lo contrario, si coincide alguna regla ALLOW/ALLOW_WITH_LOG, se otorga el permiso. Se aplicará el registro si una o más reglas coincidentes lo requieren. - De lo contrario, si no se aplica ninguna regla, se deniega el permiso. | |
policy.rules[].description |
string |
Es una descripción legible por humanos de la regla. | |
policy.rules[].permissions[] |
list |
Un permiso es una cadena con el formato " |
|
policy.rules[].action |
string |
Obligatorio | |
policy.rules[].ins[] |
list |
Si se especifican una o más cláusulas "in", la regla coincide si PRINCIPAL/AUTHORITY_SELECTOR está en al menos una de estas entradas. | |
policy.rules[].notIns[] |
list |
Si se especifican una o más cláusulas "not_in", la regla coincide si PRINCIPAL/AUTHORITY_SELECTOR no está en ninguna de las entradas. | |
policy.rules[].conditions[] |
list |
Restricciones adicionales que se deben cumplir Todas las condiciones deben cumplirse para que la regla coincida. | |
policy.rules[].conditions[].iam |
string |
Atributos de confianza que proporciona el sistema de IAM. | |
policy.rules[].conditions[].sys |
string |
Atributos de confianza que proporciona cualquier servicio que sea propietario de recursos y use el sistema de IAM para el control de acceso. | |
policy.rules[].conditions[].svc |
string |
Atributos de confianza que descarga el servicio | |
policy.rules[].conditions[].op |
string |
Es un operador para aplicar el asunto. | |
policy.rules[].conditions[].values[] |
list |
Los objetos de la condición. | |
policy.rules[].logConfigs[] |
list |
La configuración que se muestra a los llamadores de tech.iam.IAM.CheckPolicy para las entradas que coincidan con la acción LOG | |
policy.rules[].logConfigs[].counter |
nested object |
Opciones de contador. | |
policy.rules[].logConfigs[].counter.metric |
string |
La métrica que se actualizará. | |
policy.rules[].logConfigs[].counter.field |
string |
Es el valor del campo que se atribuirá. | |
policy.rules[].logConfigs[].dataAccess |
nested object |
Opciones de acceso a los datos. | |
policy.rules[].logConfigs[].dataAccess.logMode |
string |
Indica si el registro de Gin debe realizarse de forma cerrada por error en el llamador. Por ahora, esto solo es relevante en la implementación de LocalIAM. NOTA: Actualmente, no se admite el acceso a Gin de forma cerrada por error mientras se trabaja para satisfacer los requisitos de go/345. Actualmente, configurar el modo LOG_FAIL_CLOSED no tendrá efecto, pero aún existe porque se está trabajando activamente para admitirlo (b/115874152). |
|
policy.rules[].logConfigs[].cloudAudit |
nested object |
Opciones de auditoría de Cloud | |
policy.rules[].logConfigs[].cloudAudit.logName |
string |
Es el nombre de registro que se propagará en el registro de auditoría de Cloud. |
|
policy.rules[].logConfigs[].cloudAudit.authorizationLoggingOptions |
nested object |
Es la información que usa la canalización de Cloud Audit Logging. | |
policy.rules[].logConfigs[].cloudAudit.authorizationLoggingOptions.permissionType |
string |
Es el tipo de permiso que se verificó. | |
policy.etag |
bytes |
"etag" se usa para el control de simultaneidad optimista, como una forma de evitar que las actualizaciones simultáneas de una política se reemplacen entre sí. Se recomienda que los sistemas usen el "etag" en el ciclo de lectura, modificación y escritura para realizar actualizaciones de políticas y evitar condiciones de carrera: se muestra un "etag" en la respuesta a "getIamPolicy" y se espera que los sistemas coloquen ese etag en la solicitud a "setIamPolicy" para garantizar que el cambio se aplique a la misma versión de la política. Si no se proporciona una "etag" en la llamada a "setIamPolicy", la política existente se reemplazará sin consultar. |
|
policy.iamOwned |
boolean |
Respuesta
Si se aplica correctamente, este método muestra un cuerpo de respuesta con la siguiente estructura:
{ "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 }
Nombre de la propiedad | Valor | Descripción | Notas |
---|---|---|---|
version |
integer |
Obsoleto. |
|
bindings[] |
list |
Asocia una lista de "members" a un "role". Los "bindings" sin miembros generarán un error. | |
bindings[].role |
string |
Es el rol que se asigna a "members". Por ejemplo, "roles/viewer", "roles/editor" o "roles/owner". | |
bindings[].members[] |
list |
Especifica qué identidades solicitan acceso al recurso de Cloud Platform. "members" puede tener los siguientes valores: * "allUsers": Un identificador especial que representa a cualquier persona que esté en Internet, con o sin una Cuenta de Google. * "allAuthenticatedUsers": Un identificador especial que representa a cualquier persona que se autentique con una Cuenta de Google o una cuenta de servicio. * "user:{emailid}": Una dirección de correo electrónico que representa una Cuenta de Google específica. Por ejemplo, "alice@gmail.com". * "serviceAccount:{emailid}": Es una dirección de correo electrónico que representa una cuenta de servicio. Por ejemplo, "my-other-app@appspot.gserviceaccount.com". * "group:{emailid}": Es una dirección de correo electrónico que representa un Grupo de Google. Por ejemplo, "admins@example.com". * "domain:{domain}": El dominio de G Suite (principal) que representa a todos los usuarios de ese dominio. Por ejemplo, "google.com" o "example.com". |
|
auditConfigs[] |
list |
Especifica la configuración de Cloud Audit Logging para esta política. |
|
auditConfigs[].service |
string |
Especifica un servicio que se habilitará para el registro de auditoría. Por ejemplo, "storage.googleapis.com", "cloudsql.googleapis.com". "allServices" es un valor especial que abarca todos los servicios. | |
auditConfigs[].exemptedMembers[] |
list |
||
auditConfigs[].auditLogConfigs[] |
list |
La configuración para el registro de cada tipo de permiso. | |
auditConfigs[].auditLogConfigs[].logType |
string |
El tipo de registro que habilita esta configuración. | |
auditConfigs[].auditLogConfigs[].exemptedMembers[] |
list |
Especifica las identidades que no provocan registros para este tipo de permiso. Sigue el mismo formato de [Binding.members][]. | |
rules[] |
list |
Si se especifica más de una regla, estas se aplican de la siguiente manera: - Siempre se aplican todas las reglas de LOG que coincidan. - Si coincide alguna regla DENY/DENY_WITH_LOG, se deniega el permiso. Se aplicará el registro si una o más reglas coincidentes lo requieren. - De lo contrario, si coincide alguna regla ALLOW/ALLOW_WITH_LOG, se otorga el permiso. Se aplicará el registro si una o más reglas coincidentes lo requieren. - De lo contrario, si no se aplica ninguna regla, se deniega el permiso. | |
rules[].description |
string |
Es una descripción legible por humanos de la regla. | |
rules[].permissions[] |
list |
Un permiso es una cadena con el formato " |
|
rules[].action |
string |
Obligatorio | |
rules[].ins[] |
list |
Si se especifican una o más cláusulas "in", la regla coincide si PRINCIPAL/AUTHORITY_SELECTOR está en al menos una de estas entradas. | |
rules[].notIns[] |
list |
Si se especifican una o más cláusulas "not_in", la regla coincide si PRINCIPAL/AUTHORITY_SELECTOR no está en ninguna de las entradas. | |
rules[].conditions[] |
list |
Restricciones adicionales que se deben cumplir Todas las condiciones deben cumplirse para que la regla coincida. | |
rules[].conditions[].iam |
string |
Atributos de confianza que proporciona el sistema de IAM. | |
rules[].conditions[].sys |
string |
Atributos de confianza que proporciona cualquier servicio que sea propietario de recursos y use el sistema de IAM para el control de acceso. | |
rules[].conditions[].svc |
string |
Atributos de confianza que descarga el servicio | |
rules[].conditions[].op |
string |
Es un operador para aplicar el asunto. | |
rules[].conditions[].values[] |
list |
Los objetos de la condición. | |
rules[].logConfigs[] |
list |
La configuración que se muestra a los llamadores de tech.iam.IAM.CheckPolicy para las entradas que coincidan con la acción LOG | |
rules[].logConfigs[].counter |
nested object |
Opciones de contador. | |
rules[].logConfigs[].counter.metric |
string |
La métrica que se actualizará. | |
rules[].logConfigs[].counter.field |
string |
Es el valor del campo que se atribuirá. | |
etag |
bytes |
"etag" se usa para el control de simultaneidad optimista, como una forma de evitar que las actualizaciones simultáneas de una política se reemplacen entre sí. Se recomienda que los sistemas usen el "etag" en el ciclo de lectura, modificación y escritura para realizar actualizaciones de políticas y evitar condiciones de carrera: se muestra un "etag" en la respuesta a "getIamPolicy" y se espera que los sistemas coloquen ese etag en la solicitud a "setIamPolicy" para garantizar que el cambio se aplique a la misma versión de la política. Si no se proporciona una "etag" en la llamada a "setIamPolicy", la política existente se reemplazará sin consultar. |
|
iamOwned |
boolean |
||
bindings[].condition |
nested object |
La condición asociada a esta vinculación. NOTA: Si una condición no se satisface, no se permitirá el acceso de los usuarios mediante la vinculación actual. Las diferentes vinculaciones, incluidas sus condiciones, se examinan de manera independiente. | |
bindings[].condition.expression |
string |
Representación textual de una expresión en sintaxis de Common Expression Language. El contexto de aplicación del mensaje contenedor determina qué conjunto de atributos bien conocido de CEL es compatible. |
|
bindings[].condition.title |
string |
Un título opcional para la expresión, es decir, una string corta que describe su propósito. Se puede usar, p. ej., en IU que permiten ingresar la expresión. | |
bindings[].condition.description |
string |
Una descripción opcional de la expresión. Es un texto más largo que describe a la expresión (p. ej., al desplazarse sobre ella en una IU). | |
bindings[].condition.location |
string |
Una string opcional que indica la ubicación de la expresión para los informes de errores (p. ej., el nombre de un archivo y una posición en su interior). | |
rules[].logConfigs[].dataAccess |
nested object |
Opciones de acceso a los datos. | |
rules[].logConfigs[].dataAccess.logMode |
string |
Indica si el registro de Gin debe realizarse de forma cerrada por error en el llamador. Por ahora, esto solo es relevante en la implementación de LocalIAM. NOTA: Actualmente, no se admite el acceso a Gin de forma cerrada por error mientras se trabaja para satisfacer los requisitos de go/345. Actualmente, configurar el modo LOG_FAIL_CLOSED no tendrá efecto, pero aún existe porque se está trabajando activamente para admitirlo (b/115874152). |
|
rules[].logConfigs[].cloudAudit |
nested object |
Opciones de auditoría de Cloud | |
rules[].logConfigs[].cloudAudit.logName |
string |
Es el nombre de registro que se propagará en el registro de auditoría de Cloud. |
|
rules[].logConfigs[].cloudAudit.authorizationLoggingOptions |
nested object |
Es la información que usa la canalización de Cloud Audit Logging. | |
rules[].logConfigs[].cloudAudit.authorizationLoggingOptions.permissionType |
string |
Es el tipo de permiso que se verificó. |