Analizar políticas de IAM

En esta página, se muestra cómo usar el Analizador de políticas para descubrir qué identidades o principales (usuarios, cuentas de servicio, grupos y dominios) tienen qué acceso a qué recursos de Google Cloud.

Las preguntas típicas que el analizador de políticas puede ayudarte a responder son “¿Quién puede acceder a esta cuenta de servicio de IAM?”, “¿Quién puede leer datos en este conjunto de datos de BigQuery que contiene información de identificación personal (PII)” o “¿Quién puede acceder a este bucket de Cloud Storage en la fecha/hora X?”

Puedes usar el método AnalyzeIamPolicy para emitir una solicitud de análisis y, luego, obtener los resultados en su respuesta. Ten en cuenta que es posible que los resultados del análisis no estén completos, según la cantidad de datos que deban procesarse. Si quieres obtener resultados completos, escribir los resultados para un análisis más detallado o almacenarlos por tu cuenta, puedes usar AnalyzeIamPolicyLongrunning para escribir BigQuery o Cloud Storage.

Descripción general

El Analizador de políticas te permite realizar la administración de acceso, proporciona la visibilidad del acceso y también se puede usar para tareas relacionadas con la auditoría y el cumplimiento.

En particular, considera lo siguiente:

  • El analizador de políticas admite la herencia y las políticas de recursos y políticas. Las políticas heredadas y la jerarquía de recursos que se encuentran debajo del alcance del análisis que especificaste se tendrán en cuenta cuando se analicen políticas eficaces.
  • El Analizador de políticas admite la expansión de grupos de usuarios, así que, incluso si se incluye un usuario en un grupo, podemos ayudar a identificar su acceso.
  • El Analizador de políticas admite la función de expansión de permisos, lo que permite una mayor flexibilidad en tus consultas, ya que puedes consultar por permiso o funciones.
  • El Analizador de políticas admite un conjunto limitado de expansión de recursos dentro de la jerarquía de recursos. Por ejemplo, en los resultados de la consulta, puedes expandir todas las instancias de VM dentro de un proyecto o todos los proyectos de una carpeta.
  • El analizador de políticas admite vinculaciones de funciones condicionales de IAM, pero puede que necesite contexto adicional sobre la solicitud. Por ejemplo, para analizar condiciones basadas en atributos de fecha y hora, el analizador de políticas requiere el punto temporal en la solicitud. Esta característica solo es compatible a través de la API y la herramienta de gcloud.
  • Cuando se analizan las políticas de IAM, el Analizador de políticas admite el análisis de robo de identidad de cuentas de servicio, que incluye el robo de identidad “encadenado” en muchos niveles. El Analizador de políticas ayuda a analizar cualquier acceso indirecto a través de cuentas de servicio. Esta característica solo es compatible mediante la API y la herramienta de gcloud.

Por ejemplo, pueden ocurrir los siguientes casos de uso en los análisis:

  • Determinar las principales que pueden acceder a un recurso: encuentra las principales a las que se otorgó acceso en un recurso específico. Este tipo de análisis se puede usar para responder preguntas como las siguientes:

    • "¿Quién tiene acceso a esta cuenta de servicio de IAM?"
    • "¿Quién tiene permiso como actuar en nombre de esta cuenta de servicio de IAM?"
    • "¿Quiénes son los administradores de facturación en el proyecto A?"
    • (Solo API y herramienta de gcloud): "¿Quién puede actualizar el proyecto A si roban la identidad de una cuenta de servicio?"
  • Determinar las principales que tienen ciertas funciones o permisos: encuentra las principales que tienen las funciones o los permisos especificados en los recursos aplicables. Este tipo de análisis se puede usar para responder preguntas como las siguientes:

    • "¿Quién tiene permiso para actuar en nombre de las cuentas de servicio de mi organización?"
    • "¿Quiénes son los administradores de facturación de mi organización?"
    • (Solo API y herramienta de gcloud): “¿Quién de mi organización puede leer un conjunto de datos de BigQuery si se hace pasar por una cuenta de servicio?”
  • Determinar el tipo de acceso que tiene una principal en un recurso: encuentra qué tipo de acceso se otorgó a una principal para un recurso específico. Este tipo de análisis se puede usar para responder preguntas como las siguientes:

    • “¿Qué funciones y permisos tiene el usuario Ivy en este conjunto de datos de BigQuery?”
    • "¿Qué funciones y permisos tiene el grupo dev-testers para los recursos de este proyecto?"
    • (Solo API y herramienta de gcloud): "¿Qué funciones y permisos tiene el usuario Ivy en este conjunto de datos de BigQuery si se hace pasar por una cuenta de servicio?"
  • Determinar a qué recursos puede acceder una principal: busca los recursos a los que una principal tiene acceso. Esto se puede usar para responder preguntas como las siguientes:

    • “¿En qué conjuntos de datos de BigQuery el usuario Ivy tiene permiso para leer?”
    • "¿En qué conjuntos de datos de BigQuery posee datos el grupo dev-testers?"
    • "¿Qué VM puede borrar John en el proyecto A?"
    • (Solo API y herramienta de gcloud): “¿Qué VM puede borrar el usuario John si roban la identidad de una cuenta de servicio?”
  • Determina el acceso condicional: encuentra los recursos a los que puede acceder una principal para un atributo de condición determinado. Esto se puede usar para responder preguntas como las siguientes:

    • (Solo API y herramienta de gcloud): “¿Qué principales tienen permisos compute.instances.get o compute.instances.start para una instancia determinada en un momento específico?”

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 -H "X-HTTP-Method-Override: GET"'
      

      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 -H "X-HTTP-Method-Override: GET"'
      

      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.

Permisos en el permiso

Para analizar una política, necesitas los siguientes permisos de IAM en el alcance que estás analizando:

  • 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)

Consulta Control de acceso para obtener más información sobre las funciones y los permisos de la API de Cloud Asset.

Permisos en funciones de IAM

Cuando especificas una carpeta o un proyecto como alcance en tu solicitud, si el análisis encuentra principales con una función personalizada de IAM definida a nivel de la organización, necesitarás el permiso iam.roles.get en esa función para que el análisis pueda usar su definición en tu nombre.

Permisos de las membresías de grupos de Google Workspace

Cuando verificas qué principales pueden acceder a un recurso, si eliges expandir los miembros de un grupo, intentaremos expandir los grupos para los miembros con tu credencial de usuario final. Por lo tanto, solo podrás ver los miembros de los grupos en los que tienes permiso para ver la membresía.

Cuando creas una consulta para determinar qué tipo de acceso tiene una principal en un recurso o a qué recursos tiene acceso, debes especificar una principal. Intentaremos averiguar de qué grupos (directa o indirectamente) es miembro la principal especificada. Nuevamente, se usa tu credencial de usuario final; solo verás los grupos en los que tienes permiso para ver la membresía.

Para ver las membresías, el principal debe tener el permiso groups.read. Las funciones que contienen este permiso incluyen la función de administrador de lector de grupos o funciones más potentes, como la de administrador de grupo o administrador avanzado. Consulta este tema para obtener más información.

Consulta de análisis

Una consulta de análisis se compone de un alcance, uno o más selectores y otras opciones avanzadas.

Permiso

Para cada consulta de análisis, debes especificar un alcance: una organización, una carpeta o un proyecto. Todas las políticas de IAM definidas en ese permiso (ya sea en el nivel de recurso específico o por debajo de él) se incluirán en el análisis. Como resultado, las políticas de IAM definidas por encima del nivel de recurso específico no se consideran en el análisis.

Selector de recursos

El selector de recursos te permite especificar un recurso para analizar quién tiene acceso en el permiso especificado.

Consulta la referencia de IamPolicyAnalysisQuery para obtener más información.

Selector de identidad

El selector de identidad te permite especificar una identidad para analizar a qué recursos tiene acceso la identidad especificada en el permiso especificado.

Consulta la referencia de IamPolicyAnalysisQuery para obtener más información.

Selector de acceso

El selector de acceso te permite especificar varias funciones o permisos para averiguar a quién se les otorgaron los recursos en el permiso especificado.

Consulta la referencia de IamPolicyAnalysisQuery para obtener más información.

Opciones avanzadas

Además del alcance y los selectores, también puedes especificar otras opciones avanzadas en tu consulta para obtener más resultados.

Consulta la referencia de IamPolicyAnalysisQuery para obtener más información.

Determina qué principales pueden acceder a un recurso

Puedes usar el analizador de políticas para verificar qué principales tienen ciertas funciones o permisos en un recurso específico de tu proyecto, organización o carpeta. A fin de obtener esta información, crea una consulta que incluya el recurso para el que deseas analizar el acceso y una o más funciones o permisos que desees verificar.

Console

  1. En Cloud Console, ve a la página Analizador de políticas.

    Ir a la página de Analizador de políticas

  2. En la sección Crear consulta a partir de una plantilla, haz clic en Compilar consulta personalizada.

  3. En el campo Seleccionar el alcance de la consulta, selecciona el proyecto, la carpeta o la organización en los que deseas definir el alcance de la consulta. El analizador de políticas analizará el acceso a ese proyecto, carpeta u organización, así como cualquier recurso dentro de ese proyecto, organización o carpeta.

  4. Elige el recurso que deseas verificar y la función o el permiso que deseas verificar:

    1. En el campo Parámetro 1, selecciona Recurso en el menú desplegable.
    2. En el campo Resource (Recurso), ingresa el nombre completo del recurso para el que deseas analizar el acceso. Si no conoces el nombre completo del recurso, comienza a escribir su nombre visible y, luego, selecciónalo de la lista de recursos proporcionados.
    3. Haz clic en Agregar selector.
    4. En el campo Parámetro 2, selecciona Función o Permiso.
    5. En el campo Selecciona una función o Selecciona un permiso, selecciona la función o el permiso que deseas verificar.
    6. Opcional: Para verificar las funciones y los permisos adicionales, continúa agregando los selectores de Funciones y Permisos hasta que se muestren todas las funciones y los permisos que deseas verificar. ,
  5. Opcional: Haz clic en Continuar y, luego, selecciona las opciones avanzadas que deseas habilitar para esta consulta.

  6. En el panel Consulta personalizada, haz clic en Ejecutar consulta. La página del informe muestra los parámetros de búsqueda que ingresaste y una tabla de resultados de todos los principales con las funciones o los permisos especificados en el recurso especificado.

gcloud

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

Para verificar qué principales tienen los COMMA_SEPARATED_PERMISSIONS en el FULL_RESOURCE_NAME de ORG_ID, haz lo siguiente:

gcloud asset analyze-iam-policy --organization="ORG_ID" \
    --full-resource-name="FULL_RESOURCE_NAME" \
    --permissions="COMMA_SEPARATED_PERMISSIONS"

Por ejemplo, para verificar qué principales tienen los permisos compute.instances.get o compute.instances.start en la instancia de Compute Engine ipa-gce-instance-2, en la organización 1234567890:

gcloud asset analyze-iam-policy --organization="1234567890" \
    --full-resource-name="//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2" \
    --permissions="compute.instances.get,compute.instances.start"

REST

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

  2. Crea un archivo request.json para el cuerpo de la solicitud y configura su contenido como la solicitud de análisis en formato JSON.

    Por ejemplo, el siguiente cuerpo de solicitud verifica quién tiene los permisos compute.instances.get o compute.instances.start en la instancia de Compute Engine ipa-gce-instance-2:

    {
      "analysisQuery": {
        "resourceSelector": {
          "fullResourceName":
            "//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2"
         },
        "accessSelector": {
          "permissions": [
            "compute.instances.get",
            "compute.instances.start"
          ]
        }
      }
    }
    
  3. Analiza las políticas de IAM con el siguiente comando gcurl.

    gcurl -d @request.json  \
    "https://cloudasset.googleapis.com/v1/organizations/ORG_ID:analyzeIamPolicy"
    

    En el ejemplo anterior, ORG_ID es el ID de la organización, como 1234567890.

Determina qué principales tienen ciertas funciones o permisos

Puedes usar el Analizador de políticas para verificar qué principales tienen funciones o permisos específicos en cualquier recurso de Google Cloud de tu organización. Si deseas obtener esta información, crea una consulta que incluya una o más funciones o permisos para verificar, pero no especifique un recurso.

Console

  1. En Cloud Console, ve a la página Analizador de políticas.

    Ir a la página de Analizador de políticas

  2. En la sección Crear consulta a partir de una plantilla, haz clic en Compilar consulta personalizada.

  3. En el campo Seleccionar el alcance de la consulta, selecciona el proyecto, la carpeta o la organización en los que deseas definir el alcance de la consulta. El analizador de políticas analizará el acceso a ese proyecto, carpeta u organización, así como cualquier recurso dentro de ese proyecto, organización o carpeta.

  4. En el campo Parámetro 1, selecciona Función o Permiso.

  5. En el campo Selecciona una función o Selecciona un permiso, selecciona la función o el permiso que deseas verificar.

  6. Opcional: Para verificar las funciones y los permisos adicionales, sigue estos pasos:

    1. Haz clic en Agregar selector.
    2. En el campo Parámetro 2, selecciona Función o Permiso.
    3. En el campo Selecciona una función o Selecciona un permiso, selecciona la función o el permiso que deseas verificar.
    4. Sigue agregando selectores de Funciones y Permisos hasta que se muestren todas las funciones y los permisos que deseas verificar.
  7. Opcional: Haz clic en Continuar y, luego, selecciona las opciones avanzadas que deseas habilitar para esta consulta.

  8. En el panel Consulta personalizada, haz clic en Ejecutar consulta. La página del informe muestra los parámetros de consulta que ingresaste y una tabla de resultados de todos los principales con las funciones o los permisos especificados en cualquier recurso dentro del alcance.

gcloud

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

Para verificar qué principales tienen el COMMA_SEPARATED_PERMISSIONS en ORG_ID, haz lo siguiente:

gcloud asset analyze-iam-policy --organization="ORG_ID" \
    --permissions="COMMA_SEPARATED_PERMISSIONS"

Por ejemplo, para verificar qué principales tienen los permisos compute.instances.get o compute.instances.start en la organización 1234567890:

gcloud asset analyze-iam-policy --organization="1234567890" \
    --permissions="compute.instances.get,compute.instances.start"

REST

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

  2. Crea un archivo request.json para el cuerpo de la solicitud y configura su contenido como la solicitud de análisis en formato JSON.

    Por ejemplo, en el siguiente cuerpo de solicitud, se verifica qué principales tienen los permisos compute.instances.get o compute.instances.start en los recursos aplicables:

    {
      "analysisQuery": {
        "accessSelector": {
          "permissions": [
            "compute.instances.get",
            "compute.instances.start"
          ]
        }
      }
    }
    
  3. Analiza las políticas de IAM con el siguiente comando gcurl.

    gcurl -d @request.json  \
    "https://cloudasset.googleapis.com/v1/organizations/ORG_ID:analyzeIamPolicy"
    

    En el ejemplo anterior, ORG_ID es el ID de la organización, como 1234567890.

Determina qué acceso tiene un principal en un recurso

Puedes usar el Analizador de políticas para verificar qué funciones o permisos tiene una principal en un recurso en tu organización. Para obtener esta información, crea una consulta que incluya la principal cuyo acceso deseas analizar y el recurso para el que deseas analizar el acceso.

Console

1. En Cloud Console, ve a la página Analizador de políticas.

  <a class="button button-primary" href="https://console.cloud.google.com/iam-admin/analyzer"
  target="console" track-type="task" track-name="consoleLink"
  track-metadata-position="body" track-metadata-end-goal="queryOnPrincipalWithResource">
  Go to the Policy analyzer page</a>
  1. En la sección Crear consulta a partir de una plantilla, haz clic en Compilar consulta personalizada.
  2. En el campo Seleccionar el alcance de la consulta, selecciona el proyecto, la carpeta o la organización en los que deseas definir el alcance de la consulta. El analizador de políticas analizará el acceso a ese proyecto, carpeta u organización, así como cualquier recurso dentro de ese proyecto, organización o carpeta.
  3. Elige el recurso y el principal que deseas verificar:

    1. En el campo Parámetro 1, selecciona Recurso en el menú desplegable.
    2. En el campo Resource (Recurso), ingresa el nombre completo del recurso para el que deseas analizar el acceso. Si no conoces el nombre completo del recurso, comienza a escribir su nombre visible y, luego, selecciónalo de la lista de recursos proporcionados.
    3. Haz clic en Agregar selector.
    4. En el campo Parámetro 2, selecciona Principal en el menú desplegable.
    5. En el campo Principal, comienza a escribir el nombre de un usuario, una cuenta de servicio o un grupo. Luego, selecciona el usuario, la cuenta de servicio o el grupo cuyo acceso deseas analizar de la lista de principales proporcionados.
  4. Haz clic en Continue (Continuar) y selecciona cualquier opción avanzada que quieras habilitar para esta consulta (opcional).

  5. En el panel Consulta personalizada, haz clic en Ejecutar consulta. La página del informe muestra los parámetros de consulta que ingresaste y una tabla de resultados con todas las funciones que el principal especificado tiene en el recurso especificado.

gcloud

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

Para determinar qué funciones o permisos se otorgaron a USER en el FULL_RESOURCE_NAME de ORG_ID, haz lo siguiente:

gcloud asset analyze-iam-policy --organization="ORG_ID" \
    --full-resource-name="FULL_RESOURCE_NAME" \
    --identity="USER"

Por ejemplo, qué funciones o permisos tiene el usuario user1@example.com en la instancia de Compute Engine ipa-gce-instance-2, en la organización 1234567890:

gcloud asset analyze-iam-policy --organization="1234567890" \
    --full-resource-name="//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2" \
    --identity="user:user1@example.com"

REST

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

  2. Crea un archivo request.json para el cuerpo de la solicitud y configura su contenido como la solicitud de análisis en formato JSON.

    Por ejemplo, en el siguiente cuerpo de solicitud, se verifica qué funciones o permisos se otorgaron al usuario user1@example.com en la instancia de Compute Engine ipa-gce-instance-2:

    {
      "analysisQuery": {
        "resourceSelector": {
          "fullResourceName":
            "//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2"
         },
        "identitySelector": {
          "identity": "user:user1@example.com"
        }
      }
    }
    
  3. Analiza las políticas de IAM con el siguiente comando gcurl.

    gcurl -d @request.json \
    "https://cloudasset.googleapis.com/v1/organizations/ORG_ID:analyzeIamPolicy"
    

    En el ejemplo anterior, ORG_ID es el ID de la organización, como 1234567890.

Determina a qué recursos puede acceder un principal

Puedes usar el Analizador de políticas para verificar qué recursos de la organización tiene funciones o permisos una principal. Para obtener esta información, crea una consulta que incluya la principal cuyo acceso deseas analizar y uno o más permisos o funciones que desees verificar.

Console

  1. En Cloud Console, ve a la página Analizador de políticas.

    Ir a la página de Analizador de políticas

  2. En la sección Crear consulta a partir de una plantilla, haz clic en Compilar consulta personalizada.

  3. En el campo Seleccionar el alcance de la consulta, selecciona el proyecto, la carpeta o la organización en los que deseas definir el alcance de la consulta. El analizador de políticas analizará el acceso a ese proyecto, carpeta u organización, así como cualquier recurso dentro de ese proyecto, organización o carpeta.

  4. Elige el principal que deseas verificar y la función o el permiso que deseas verificar:

    1. En el campo Parámetro 1, selecciona Principal en el menú desplegable.
    2. En el campo Principal, comienza a escribir el nombre de un usuario, una cuenta de servicio o un grupo. Luego, selecciona el usuario, la cuenta de servicio o el grupo cuyo acceso deseas analizar de la lista de principales proporcionados.
    3. Haz clic en Agregar selector.
    4. En el campo Parámetro 2, selecciona Función o Permiso.
    5. En el campo Selecciona una función o Selecciona un permiso, selecciona la función o el permiso que deseas verificar.
    6. Opcional: Para verificar las funciones y los permisos adicionales, continúa agregando los selectores de Función y Permiso hasta que todas las funciones y los permisos que deseas verificar{101] }.
  5. Opcional: Haz clic en Continuar y, luego, selecciona las opciones avanzadas que deseas habilitar para esta consulta.

  6. En el panel Consulta personalizada, haz clic en Ejecutar consulta. La página del informe muestra los parámetros de búsqueda que ingresaste y una tabla de resultados con todos los recursos en los que el principal especificado tiene las funciones o los permisos especificados.

gcloud

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

Para determinar qué recurso tiene un USER en los COMMA_SEPARATED_PERMISSIONS de ORG_ID, haz lo siguiente:

gcloud asset analyze-iam-policy --organization="ORG_ID" \
    --identity="USER" \
    --permissions="COMMA_SEPARATED_PERMISSIONS"

Por ejemplo, en qué recursos user1@example.com tiene permisos compute.instances.get o compute.instances.start en la organización 1234567890:

gcloud asset analyze-iam-policy --organization="1234567890" \
    --identity="user:user1@example.com" \
    --permissions="compute.instances.get,compute.instances.start"

REST

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

  2. Crea un archivo request.json para el cuerpo de la solicitud y configura su contenido como la solicitud de análisis en formato JSON.

    Por ejemplo, en el siguiente cuerpo de solicitud, se verifica qué recursos user1@example.com tienen los permisos compute.instances.get o compute.instances.start en:

    {
      "analysisQuery": {
        "identitySelector": {
          "identity": "user:user1@example.com"
         },
        "accessSelector": {
          "permissions": [
            "compute.instances.get",
            "compute.instances.start"
          ]
        }
      }
    }
    
  3. Analiza las políticas de IAM con el siguiente comando gcurl.

    gcurl -d @request.json  \
    "https://cloudasset.googleapis.com/v1/organizations/ORG_ID:analyzeIamPolicy"
    

    En el ejemplo anterior, ORG_ID es el ID de la organización, como 1234567890.

Determina el acceso condicional

El analizador de políticas puede analizar vinculaciones de funciones condicionales de IAM para determinar qué principales tienen un atributo de condición deseado que restringe su acceso a los recursos. Por ejemplo, una cuenta de servicio puede recibir una o más funciones en un recurso que solo permita el acceso durante una fecha o una hora específica.

Puedes configurar accessTime en el campo ConditionContext para habilitar el análisis de vinculación de funciones condicionales de fecha y hora del atributo.

gcloud

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

Para verificar qué principales tienen el COMMA_SEPARATED_PERMISSIONS en FULL_RESOURCE_NAME, en ORG_ID a DATE_TIME:

gcloud asset analyze-iam-policy --organization="ORG_ID" \
    --full-resource-name="FULL_RESOURCE_NAME" \
    --permissions="COMMA_SEPARATED_PERMISSIONS" \
    --access-time="DATE_TIME"

Por ejemplo, para verificar qué principales tienen los permisos compute.instances.get o compute.instances.start en la instancia de Compute Engine ipa-gce-instance-2 en la organización 1234567890 en 2099-03-01T00:00:00Z. Para obtener información sobre los formatos de hora, consulta gcloud topic datetime.

gcloud asset analyze-iam-policy --organization="1234567890" \
    --full-resource-name="//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2" \
    --permissions="compute.instances.get,compute.instances.start" \
    --access-time="2099-03-01T00:00:00Z"

REST

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

  2. Crea un archivo request.json para el cuerpo de la solicitud y configura su contenido como la solicitud de análisis en formato JSON.

    Por ejemplo, con el siguiente cuerpo de solicitud se verifica quién tiene los permisos compute.instances.get o compute.instances.start en la instancia ipa-gce-instance-2 de Compute Engine en 2099-03-01T00:00:00Z:

    {
      "analysisQuery": {
        "resourceSelector": {
          "fullResourceName":
            "//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2"
         },
        "accessSelector": {
          "permissions": [
            "compute.instances.get",
            "compute.instances.start"
          ]
        },
        "conditionContext": {
          "accessTime": "2099-03-01T00:00:00Z"
        }
      }
    }
    
  3. Analiza las políticas de IAM con el siguiente comando gcurl.

    gcurl -d @request.json  \
    "https://cloudasset.googleapis.com/v1/organizations/ORG_ID:analyzeIamPolicy"
    

    En el ejemplo anterior, ORG_ID es el ID de la organización, como 1234567890.

Referencia de la API y biblioteca cliente

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.