En esta página se describe cómo solucionar problemas de las políticas de acceso de principales, de denegación y de permiso de Gestión de Identidades y Accesos (IAM).
Ver todas las políticas de permitir y denegar que se aplican a un recurso
En Trusted Cloud, las siguientes políticas de permitir y denegar afectan al acceso a un recurso:
- La política de permisos del recurso
- Las políticas de denegación del recurso, si las hay
- Las políticas de permiso del proyecto, la carpeta y la organización principales del recurso, si los tiene
- Las políticas de denegación del proyecto, la carpeta y la organización principales del recurso, si los hay
Las políticas de permitir y denegar de los proyectos, las carpetas y las organizaciones principales afectan al acceso a un recurso debido a la herencia de políticas. Cuando adjuntas una política de permiso o denegación a un proyecto, una carpeta o una organización, esa política también se aplica a todos los recursos de ese proyecto, carpeta u organización.
Por ejemplo, si una política de denegación de una organización indica que una entidad de seguridad no puede usar un permiso específico, la entidad de seguridad no podrá usar ese permiso para ningún recurso de la organización. Esta regla se aplica aunque las carpetas y los proyectos de esa organización tengan políticas de denegación más permisivas o políticas de permiso que concedan el permiso a la principal.
Del mismo modo, si una política de permiso de un proyecto otorga a una entidad principal un permiso específico, la entidad principal tendrá ese permiso para cualquier recurso del proyecto, siempre que no se le deniegue.
La unión de todas estas políticas se denomina política aplicable o política efectiva del recurso.
En Trusted Cloud, puedes obtener una lista de todas las políticas de permitir y denegar que afectan al acceso a un proyecto mediante el comando gcloud beta projects
get-ancestors-iam-policy
con la marca --include-deny
. En conjunto, estas políticas forman la política aplicable al proyecto. Puedes investigar cada política para ver cómo afecta al acceso de la entidad de seguridad.
gcloud
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
PROJECT_ID
: tu ID de proyecto. Trusted Cloud Los IDs de proyecto son cadenas alfanuméricas, comomy-project
.
Ejecuta el comando
gcloud beta projects get-ancestors-iam-policy
:
Linux, macOS o Cloud Shell
gcloud beta projects get-ancestors-iam-policy PROJECT_ID --include-deny --format=json
Windows (PowerShell)
gcloud beta projects get-ancestors-iam-policy PROJECT_ID --include-deny --format=json
Windows (cmd.exe)
gcloud beta projects get-ancestors-iam-policy PROJECT_ID --include-deny --format=json
La respuesta contiene las políticas de permiso y denegación del proyecto, las carpetas que sean antecesoras del proyecto y la organización. En el siguiente ejemplo se muestran las políticas de permiso de la organización 1234567890123
y del proyecto my-project
, así como una política de denegación del proyecto my-project
:
[ { "id": "1234567890123", "policy": { "bindings": [ { "members": [ "principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/cloud-admins" ], "role": "roles/iam.denyAdmin" }, { "members": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/raha@example.com" ], "role": "roles/iam.serviceAccountAdmin" } ], "etag": "BwXW6Eab7TI=", "version": 1 }, "type": "organization" }, { "id": "my-project", "policy": { "bindings": [ { "members": [ "principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/cloud-admins" ], "role": "roles/owner" } ], "etag": "BwXXjOM7L6M=", "type": "project" } }, { "id": "my-project", "policy": { "createTime": "2022-02-14T21:46:35.865279Z", "displayName": "My deny policy", "etag": "MTgyMzg2ODcwNTEyMjMxMTM3Mjg=", "kind": "DenyPolicy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F123456789012/denypolicies/my-deny-policy", "rules": [ { "denyRule": { "deniedPermissions": [ "iam.googleapis.com/serviceAccounts.create" ], "deniedPrincipals": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/raha@example.com" ] }, "description": "Prevent service account creation" } ], "uid": "c83e3dc3-d8a6-6f51-4018-814e9f200b05", "updateTime": "2022-02-14T21:46:35.865279Z" }, "type": "project" } ]
En este ejemplo, a Raha se le ha concedido el rol Administrador de cuentas de servicio (roles/iam.serviceAccountAdmin
) en la organización, pero el proyecto tiene una política de denegación que impide que Raha use el permiso iam.googleapis.com/serviceAccounts.create
. Por lo tanto, si Raha intenta crear una cuenta de servicio en el proyecto my-project
, se denegará la solicitud.
En algunos casos, solo tendrás que ver la política de permiso efectiva de un recurso, por ejemplo, si tu organización no usa políticas de denegación. En estos casos, puede usar los siguientes métodos para ver la política de permiso efectiva:
Consulta la política de permiso de gestión de identidades y accesos del recurso en laTrusted Cloud consola. La consola Trusted Cloud muestra automáticamente la política efectiva de cada recurso.
Para saber cómo ver la política de permisos de gestión de identidades y accesos de un recurso en laTrusted Cloud consola, consulta Ver el acceso actual.
Usa la API Cloud Asset para obtener la política de permiso efectiva del recurso. Para obtener más información, consulta Ver las políticas de gestión de identidades y accesos efectivas.