Escribe un análisis de políticas en Cloud Storage

En esta página, se explica cómo analizar las políticas Identity and Access Management (IAM) de forma asíncrona y escribir resultados en Cloud Storage. En general, la funcionalidad es equivalente a analizar políticas de IAM, excepto que el resultado del análisis se escribe en un depósito de Cloud Storage.

Antes de comenzar

  • Debes habilitar la API de Cloud Asset para tu proyecto.

  • Si usas la API para ejecutar estas consultas, debes configurar tu entorno y gcurl.

    1. Configura el entorno.

    2. Para configurar un alias gcurl, sigue estos pasos:

      Si usas una instancia de Compute Engine, ejecuta el siguiente comando.

      alias gcurl='curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type: application/json" -X POST'
      

      Si no usas una instancia de Compute Engine, ejecuta el siguiente comando.

      alias gcurl='curl -H "$(oauth2l header --json CREDENTIALS cloud-platform)" \
      -H "Content-Type: application/json" -X POST'
      

      En este ejemplo, CREDENTIALS es la ruta del archivo de credenciales, como ~/credentials.json.

Permisos necesarios

Se requieren los siguientes permisos para ejecutar un análisis de políticas y escribir los resultados del análisis en el depósito de Cloud Storage especificado:

  • Permisos para ejecutar un análisis de políticas

  • Permisos para escribir en un depósito de Cloud Storage:

    • storage.objects.create

    Este permiso se incluye en las siguientes funciones predefinidas

    • Creador de objetos de almacenamiento (roles/storage.objectCreator)
    • Escritor de depósitos heredados de almacenamiento (roles/storage.legacyBucketWriter)
    • Propietario de depósitos heredados de almacenamiento (roles/storage.legacyBucketOwner)

    Consulta las funciones de IAM para Cloud Storage a fin de obtener más información.

Llama a AnalyzeIamPolicyLongrunning

El método AnalyzeIamPolicyLongrunning te permite emitir una solicitud de análisis y obtener resultados en el depósito de Cloud Storage especificado.

gcloud

Puedes llamar a AnalyzeIamPolicyLongrunning en tu proyecto con la API habilitada mediante el comando de gcloud asset analyze-iam-policy-longrunning. Debes ejecutar la versión 314.0.0 o posterior del SDK de Cloud. Puedes verificar tu versión con el comando gcloud version.

gcloud asset analyze-iam-policy-longrunning \
    --organization="ORG_ID" \
    --full-resource-name="FULL_RESOURCE_NAME" \
    --permissions="COMMA_SEPARATED_PERMISSIONS" \
    --gcs-output-path="GCS_OUTPUT_PATH"

Por ejemplo, a fin de escribir los resultados del análisis de los usuarios que tienen permisos compute.instances.get y compute.instances.start en la instancia de Compute Engine ipa-gce-instance-2, en la organización 123456789 para el depósito de Cloud Storage gcs-bucket-01 con un nombre de archivo como analysis.json:

gcloud asset analyze-iam-policy-longrunning --organization="123456789" \
    --full-resource-name="//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2" \
    --permissions="compute.instances.get,compute.instances.start" \
    --gcs-output-path="gs://gcs-bucket-01/analysis.json"

A continuación puedes encontrar más asistencia:

gcloud asset analyze-iam-policy-longrunning --help

REST

Analiza las políticas de IAM y escribe los resultados con el alias gcurl.

gcurl -d "$JSON_REQUEST" \
"https://cloudasset.googleapis.com/v1/organizations/${YOUR_ORG_ID}:analyzeIamPolicyLongrunning"

Aquí:

  • YOUR_ORG_ID es el ID de la organización, como se muestra a continuación, en 123456789:

  • JSON_REQUEST es la solicitud de análisis en formato JSON. Por ejemplo, a fin de analizar quién tiene los permisos compute.instances.get y compute.instances.start en la instancia de Compute Engine ipa-gce-instance-2, en la organización 123456789, para el depósito de Cloud Storage gcs-bucket-01 con un nombre de archivo como analysis.json:

    JSON_REQUEST='{
      "analysisQuery":{
        "scope":"organization/123456789",
        "resourceSelector":{
           "fullResourceName":"//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2"
        },
        "accessSelector":{
           "permissions":[
              "compute.instances.get",
              "compute.instances.start"
           ]
        }
      },
      "outputConfig":{
        "gcsDestination":{
           "uri":"gs://gcs-bucket-01/analysis.json"
        }
      }
    }'
    

Visualiza los resultados del análisis de las políticas de IAM

Para ver los resultados del análisis de las políticas de IAM, sigue estos pasos:

  1. Ir a la página Navegador de Cloud Storage
    Abrir la página Navegador de Cloud Storage

  2. Abre el archivo nuevo al que exportaste tu análisis.

Los resultados muestran las tuplas de {identity, role(s)/permission(s), resource} junto con las políticas de IAM que generan esas tuplas.

Crea una consulta

A fin de obtener información sobre otros casos prácticos y opciones para las consultas, visita cómo analizar las muestras de consultas de políticas de IAM.