En este tema, se muestra cómo ver Identity and Access Management (IAM) eficaz políticas sobre un recurso determinado.
En IAM, política vigente describe cómo todas las políticas superiores y principales en la jerarquía de recursos se heredan de un recurso.
Alcance y permisos
Cuando solicitas políticas de IAM eficaces, debes especificar un del proyecto. Puede ser una organización, una carpeta o un proyecto. Todos los IAM las políticas establecidas en ese permiso o dentro de él. El alcance de la solicitud no tienen que ser el mismo que el proyecto habilitado para la API de Cloud Asset. Además, el proyecto habilitado y el permiso de la solicitud requieren diferentes permisos.
Tipos de políticas admitidas
Las políticas de IAM eficaces solo admiten permisos de IAM políticas. No admite las siguientes formas de acceso controlar:
Antes de comenzar
Antes de comenzar, completa los pasos que se indican a continuación.
Habilita la API de Cloud Asset Inventory para tu proyecto.
Habilita la API de Cloud Asset Inventory
No es necesario que este proyecto sea el mismo que el alcance. de tus solicitudes. Obtén más información sobre configurar un proyecto cuando habilitas un servicio.
Instala el SDK de Google Cloud.
Opcional: Para llamar directamente a la API de Cloud Asset Inventory, confirma que acceso al comando
curl
.Establece permisos.
Configura los permisos para la API de Cloud Asset.
Habilita los siguientes permisos para el alcance de tu solicitud.
cloudasset.assets.analyzeIamPolicy
cloudasset.assets.searchAllResources
cloudasset.assets.searchAllIamPolicies
Estos permisos están incluidos en las siguientes funciones predefinidas:
Propietario de Cloud Asset (
roles/cloudasset.owner
)Visualizador de Cloud Asset (
roles/cloudasset.viewer
)
Para obtener más información sobre los permisos y roles de la API de Cloud Asset, consulta Control de acceso.
Obtén políticas de IAM efectivas
gcloud
Para obtener las políticas de IAM eficaces en un recurso, puedes llamar
BatchGetEffectiveIamPolicies
usando el gcloud asset get-effective-iam-policy
. Debes ejecutar la versión 399.0.0 de Google Cloud CLI o una posterior.
gcloud asset get-effective-iam-policy \
--scope=SCOPE \
--names=ASSET_NAME_1,ASSET_NAME_2,...
Ingresa los siguientes valores:
SCOPE
: Un permiso puede ser un proyecto, una carpeta o un organización.Los valores permitidos son los siguientes:
projects/PROJECT_ID
projects/PROJECT_NUMBER
Cómo encontrar un número de proyecto de Google Cloud
Console
Para encontrar un número de proyecto de Google Cloud, completa los siguientes pasos:
-
Ve a la página Panel en la consola de Google Cloud.
- Haz clic en el cuadro del selector en la barra de menú.
- Selecciona tu organización en el cuadro Seleccionar una opción y, luego, busca tu el nombre del proyecto.
- Haz clic en el nombre del proyecto para cambiar a él. El número de proyecto se muestra Tarjeta Información del proyecto
gcloud CLI
Puedes recuperar un número de proyecto de Google Cloud con el siguiente comando:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Cómo encontrar un ID de carpeta de Google Cloud
Console
Para encontrar el ID de una carpeta de Google Cloud, completa los siguientes pasos:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro del selector en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- Busca el nombre de tu carpeta. El ID de la carpeta se muestra junto al nombre de la carpeta.
gcloud CLI
Puedes recuperar un ID de carpeta de Google Cloud que se encuentra a nivel de la organización con el siguiente comando:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Donde TOP_LEVEL_FOLDER_NAME puede ser una coincidencia de cadena completa o parcial. Quita el
--format
para ver más información sobre las carpetas encontradas.Para obtener el ID de una carpeta dentro de otra carpeta, enumera las subcarpetas:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Cómo encontrar un ID de organización de Google Cloud
Console
Para encontrar un ID de organización de Google Cloud, completa los siguientes pasos:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro del selector en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- Haz clic en la pestaña Todos. El ID de la organización se muestra junto a su nombre.
gcloud CLI
Puedes recuperar el ID de una organización de Google Cloud con el siguiente comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
ASSET_NAME
: Una lista de elementos separados por comas nombres completos para recuperar el políticas de IAM efectivas.Puedes recuperar políticas para un máximo de 20 activos en un lote.
Las siguientes muestras de código son ejemplos de comandos de la CLI de gcloud
:
Para un ID de la organización de
123456
:gcloud asset get-effective-iam-policy \ --scope=organizations/123456 \ --names=//cloudresourcemanager.googleapis.com/organizations/123456
Para un ID de carpeta de
1234567
:gcloud asset get-effective-iam-policy \ --scope=folders/1234567 \ --names=//cloudresourcemanager.googleapis.com/folders/1234567
Para dos recursos de instancias de Cloud SQL en un proyecto llamado
my-project
:gcloud asset get-effective-iam-policy \ --scope=projects/my-project \ --names=//cloudsql.googleapis.com/projects/my-project/instances/instance1,//cloudsql.googleapis.com/projects/my-project/instances/instance2
REST
Para obtener las políticas de IAM vigentes en un recurso con la API de Cloud Asset Inventory, usa el siguiente comando curl
:
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"names": [
"ASSET_NAME_1",
"ASSET_NAME_2",
"..."
]
}' \
https://cloudasset.googleapis.com/v1/SCOPE/effectiveIamPolicies:batchGet
Ingresa los siguientes valores:
ASSET_NAME
: Es una lista separada por comas de los nombres completos de los activos para los que se recuperarán las políticas de IAM vigentes.Puedes recuperar políticas para un máximo de 20 activos en un lote.
SCOPE
: Un permiso puede ser un proyecto, una carpeta o un organización.Los valores permitidos son los siguientes:
projects/PROJECT_ID
projects/PROJECT_NUMBER
Cómo encontrar un número de proyecto de Google Cloud
Console
Para encontrar un número de proyecto de Google Cloud, completa los siguientes pasos:
-
Ve a la página Panel en la consola de Google Cloud.
- Haz clic en el cuadro de selector en la barra de menú.
- Selecciona tu organización en el cuadro Seleccionar una opción y, luego, busca tu el nombre del proyecto.
- Haz clic en el nombre del proyecto para cambiar a él. El número de proyecto se muestra Tarjeta Información del proyecto
gcloud CLI
Puedes recuperar un número de proyecto de Google Cloud con el siguiente comando:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Cómo encontrar un ID de carpeta de Google Cloud
Console
Para encontrar el ID de una carpeta de Google Cloud, completa los siguientes pasos:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro de selector en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- Busca el nombre de tu carpeta. El ID de la carpeta se muestra junto al nombre de la carpeta.
gcloud CLI
Puedes recuperar un ID de carpeta de Google Cloud que se encuentra a nivel de la organización con el siguiente comando:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Donde TOP_LEVEL_FOLDER_NAME puede ser una coincidencia de cadena completa o parcial. Quita el
--format
para ver más información sobre las carpetas encontradas.Para obtener el ID de una carpeta dentro de otra carpeta, enumera las subcarpetas:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Cómo encontrar un ID de organización de Google Cloud
Console
Para encontrar un ID de organización de Google Cloud, completa los siguientes pasos:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro de selector en la barra de menú.
- Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
- Haz clic en la pestaña Todos. El ID de la organización se muestra junto a su nombre.
gcloud CLI
Puedes recuperar el ID de una organización de Google Cloud con el siguiente comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-