Consultar estadísticas de políticas de organización de proyectos, carpetas y organizaciones

En esta página se explica cómo gestionar las estadísticas de las políticas de la organización, que son conclusiones sobre la configuración y el uso de los recursos. Las estadísticas de las políticas de la organización pueden ayudarte a identificar los recursos que no están protegidos por las políticas de la organización.

En ocasiones, las estadísticas de las políticas de la organización se vinculan a recomendaciones de políticas de la organización. Las recomendaciones de políticas de organización sugieren acciones que puedes llevar a cabo para solucionar los problemas identificados por las estadísticas de las políticas de organización.

Antes de empezar

Roles obligatorios

Para obtener los permisos que necesitas para ver y modificar las estadísticas de las políticas de la organización, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de Recomendaciones de políticas de la organización (roles/recommender.orgPolicyAdmin) en el recurso para el que quieras gestionar las estadísticas (proyecto, carpeta u organización). Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para ver y modificar las estadísticas de las políticas de la organización. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:

Permisos obligatorios

Para ver y modificar las estadísticas de las políticas de la organización, se necesitan los siguientes permisos:

  • recommender.orgPolicyInsights.get
  • recommender.orgPolicyInsights.list
  • recommender.orgPolicyInsights.update

También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.

Listar las estadísticas de las políticas de organización

Para enumerar todas las estadísticas de políticas de organización de tu proyecto, carpeta u organización, usa uno de los siguientes métodos:

gcloud

Usa el comando gcloud recommender insights list para ver todas las estadísticas de las políticas de organización de tu proyecto, carpeta u organización.

Antes de ejecutar el comando, sustituye los siguientes valores:

  • RESOURCE_TYPE: el tipo de recurso del que quieres obtener estadísticas. Usa el valor project, folder o organization.
  • RESOURCE_ID: ID del proyecto, la carpeta o la organización de los que quieres obtener información valiosa.
gcloud recommender insights list --insight-type=google.orgpolicy.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global

En el resultado se muestran todas las estadísticas de las políticas de organización de tu proyecto, carpeta u organización. Por ejemplo:

INSIGHT_ID                            CATEGORY  INSIGHT_STATE  LAST_REFRESH_TIME     SEVERITY  INSIGHT_SUBTYPE                                          DESCRIPTION
66d543f3-845d-49d6-a26b-80d84804d8a8  SECURITY  ACTIVE         2024-12-10T08:00:00Z  HIGH      RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION  Scanned 3 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.

REST

El método insights.list de la API Recommender muestra todas las estadísticas de las políticas de organización de tu proyecto, carpeta u organización.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • RESOURCE_TYPE: el tipo de recurso del que quieres obtener estadísticas. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: ID del proyecto, la carpeta o la organización de los que quieres obtener información valiosa.
  • PROJECT_ID: tu ID de proyecto. Google Cloud Los IDs de proyecto son cadenas alfanuméricas, como my-project.

Método HTTP y URL:

GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights

Para enviar tu solicitud, despliega una de estas opciones:

La respuesta muestra todas las estadísticas de la política de organización de tu proyecto, carpeta u organización. Por ejemplo:

[
  {
    "associatedRecommendations": [
      {
        "recommendation": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f"
      }
    ],
    "category": "SECURITY",
    "content": {
      "consolidatedPolicy": {
        "inheritFromParent": false,
        "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
        "policyRules": {
          "rules": [
            {
              "enforce": false
            }
          ]
        },
        "reset": false
      },
      "constraint": {
        "id": "constraints/iam.managed.disableServiceAccountKeyCreation",
        "name": "Disable service account key creation"
      },
      "evaluatedResources": [
        {
          "numOfResources": "2",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        },
        {
          "numOfResources": "1",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        }
      ],
      "violations": [
        {
          "numOfResources": "0",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        },
        {
          "numOfResources": "0",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        }
      ]
    },
    "description": "Scanned 3 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.",
    "etag": "\"9a1ad019022f9f56\"",
    "insightSubtype": "RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
    "lastRefreshTime": "2024-12-07T08:00:00Z",
    "name": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8",
    "observationPeriod": "86400s",
    "severity": "HIGH",
    "stateInfo": {
      "state": "ACTIVE",
      "stateMetadata": {
        "reviewedBy": "alice",
        "priority": "high"
      }
    },
    "targetResources": [
      "//cloudresourcemanager.googleapis.com/projects/123456789012"
    ]
  }
]

Para obtener más información sobre los componentes de una estadística, consulta la sección Revisar estadísticas de políticas de organización de esta página.

Obtener una sola estadística de política de organización

Para obtener más información sobre una estadística concreta, como su descripción, su estado y las recomendaciones asociadas, utilice uno de los siguientes métodos:

gcloud

Usa el comando gcloud recommender insights describe con el ID de la estadística para ver información sobre una sola estadística.

  • INSIGHT_ID: ID de la estadística que quieres ver. Para encontrar el ID, consulta la lista de estadísticas de tu proyecto, carpeta u organización.
  • RESOURCE_TYPE: el tipo de recurso del que quieres gestionar las estadísticas. Usa el valor project, folder o organization.
  • RESOURCE_ID: ID del proyecto, carpeta u organización de los que quieres gestionar las estadísticas.
gcloud recommender insights describe INSIGHT_ID \
    --insight-type=google.orgpolicy.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global

El resultado muestra la estadística detallada. Por ejemplo, se analizan dos recursos en busca de claves de cuentas de servicio externas y no se detecta ninguna infracción:

associatedRecommendations:
- recommendation: projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
category: SECURITY
content:
  consolidatedPolicy:
    inheritFromParent: false
    name: 'projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation'
    policyRules:
      rules: [
        "enforce": false
      ]
    reset: false
  constraint: {
    id: constraints/iam.managed.disableServiceAccountKeyCreation
    name: Disable service account key creation
  }
  evaluatedResources:
  - numOfResources: '1'
    resourceType: cloudresourcemanager.googleapis.com/Project
  - numOfResources: '2'
    resourceType: iam.googleapis.com/ServiceAccountKey
  violations:
  - numOfResources: '0'
    resourceType: iam.googleapis.com/ServiceAccountKey
  - numOfResources: '0'
    resourceType: cloudresourcemanager.googleapis.com/Project
description: Scanned 3 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.
etag: '"34ddfdcefd214fd7"'
insightSubtype: RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION
lastRefreshTime: '2024-12-10T08:00:00Z'
name: projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8
observationPeriod: 86400s
severity: HIGH
stateInfo:
  state: ACTIVE
targetResources:
- //cloudresourcemanager.googleapis.com/projects/123456789012

Para obtener más información sobre los componentes de una estadística, consulta la sección Revisar estadísticas de políticas de organización de esta página.

REST

El método insights.get de la API Recommender obtiene una sola estadística.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • RESOURCE_TYPE: el tipo de recurso del que quieres gestionar las estadísticas. Usa el valor projects, folders, o organizations.
  • RESOURCE_ID: El ID del proyecto, la carpeta o la organización de los que quieras gestionar las estadísticas.
  • INSIGHT_ID: el ID de la estadística que quieres ver. Si no conoces el ID de la estadística, puedes encontrarlo consultando la lista de estadísticas de tu proyecto, carpeta u organización. El ID de una estadística es todo lo que hay después de insights/ en el campo name de la estadística.
  • PROJECT_ID: tu ID de proyecto. Google Cloud Los IDs de proyecto son cadenas alfanuméricas, como my-project.

Método HTTP y URL:

GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/INSIGHT_ID

Para enviar tu solicitud, despliega una de estas opciones:

La respuesta contiene la estadística. Por ejemplo, se analizan dos recursos en busca de claves de cuentas de servicio externas y no se detecta ninguna infracción:

[
  {
    "associatedRecommendations": [
      {
        "recommendation": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f"
      }
    ],
    "category": "SECURITY",
    "content": {
      "consolidatedPolicy": {
        "inheritFromParent": false,
        "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
        "policyRules": {
          "rules": [
            {
              "enforce": false
            }
          ]
        },
        "reset": false
      },
      "constraint": {
        "id": "constraints/iam.managed.disableServiceAccountKeyCreation",
        "name": "Disable service account key creation"
      },
      "evaluatedResources": [
        {
          "numOfResources": "1",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        },
        {
          "numOfResources": "2",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        }
      ],
      "violations": [
        {
          "numOfResources": "0",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        },
        {
          "numOfResources": "0",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        }
      ]
    },
    "description": "Scanned 2 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.",
    "etag": "\"9a1ad019022f9f56\"",
    "insightSubtype": "RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
    "lastRefreshTime": "2024-12-03T08:00:00Z",
    "name": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8",
    "observationPeriod": "86400s",
    "severity": "HIGH",
    "stateInfo": {
      "state": "ACTIVE",
      "stateMetadata": {
        "reviewedBy": "alice",
        "priority": "high"
      }
    },
    "targetResources": [
      "//cloudresourcemanager.googleapis.com/projects/123456789012"
    ]
  }
]

Para obtener más información sobre los componentes de una estadística, consulta la sección Revisar estadísticas de políticas de organización de esta página.

Consultar información valiosa sobre las políticas de organización

Una vez que hayas obtenido una sola estadística, puedes revisar su contenido para entender la configuración de la política de la organización en tus recursos, incluidas las infracciones.

Las estadísticas de políticas de la organización (google.orgpolicy.policy.Insight) tienen los siguientes componentes, no necesariamente en este orden:

  • associatedRecommendations: los identificadores de las recomendaciones asociadas a la estadística. Si no hay recomendaciones asociadas a la estadística, este campo está vacío.
  • category: La categoría de las estadísticas de las políticas de organización siempre es SECURITY.
  • content: proporciona detalles sobre los recursos y la política de la organización que se han analizado. Este campo contiene los siguientes componentes:
    • constraint: la restricción que se ha analizado.
    • consolidatedPolicy: la política de organización del recurso analizado.
    • evaluatedResources: los recursos que se han evaluado para generar la estadística.
    • violations: número y tipos de recursos que infringen la política de la organización.
  • description: resumen de la estadística legible por humanos.
  • etag: identificador único del estado actual de una estadística. Cada vez que cambia la estadística, se asigna un nuevo valor etag.

    Para cambiar el estado de una estadística, debe proporcionar el etag de la estadística en cuestión. El uso de etag ayuda a asegurarse de que las operaciones solo se realicen si la estadística no ha cambiado desde la última vez que la recuperaste.

  • insightSubtype: el subtipo de estadística.
  • lastRefreshTime: fecha de la última actualización de la estadística, que indica la actualidad de los datos utilizados para generarla.
  • name: el nombre de la estadística, con el siguiente formato:

    RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/INSIGHT_ID

    Los marcadores de posición tienen los siguientes valores:

    • RESOURCE_TYPE: el tipo de recurso para el que se ha generado la estadística.
    • RESOURCE_ID: ID del proyecto, la carpeta o la organización en los que se ha generado la estadística.
    • INSIGHT_ID: ID único de la estadística.
  • observationPeriod: el periodo previo a la estadística. Los datos de origen que se han usado para generar la estadística terminan el lastRefreshTime y empiezan el lastRefreshTime menos observationPeriod.
  • severity: la gravedad de la estadística. Las estadísticas de las políticas de la organización tienen una gravedad de HIGH.
  • stateInfo: las estadísticas pasan por varias transiciones de estado después de que se proponen:

    • ACTIVE: Se ha generado la estadística, pero no se ha tomado ninguna medida o se ha tomado una medida sin actualizar el estado de la estadística. Los estadísticas activos se actualizan cuando cambian los datos subyacentes.
    • ACCEPTED: se ha tomado alguna medida en función de la estadística. Las estadísticas se aceptan cuando una recomendación asociada se marca como CLAIMED, SUCCEEDED o FAILED, o bien cuando se aceptan directamente. Cuando una estadística está en el estado ACCEPTED, su contenido no puede cambiar. Las estadísticas aceptadas se conservan durante 90 días después de aceptarse.
  • targetResources: El nombre completo del recurso del proyecto, la carpeta o la organización para los que se genera la estadística. Por ejemplo, //cloudresourcemanager.googleapis.com/projects/1234567890.

Marcar una estadística de política de organización como ACCEPTED

Si tomas medidas basándote en una estadística activa, puedes marcarla como ACCEPTED. El estado ACCEPTED indica a la API Recommender que has tomado medidas en función de esta información valiosa, lo que ayuda a mejorar tus recomendaciones.

Las estadísticas aceptadas se conservan durante 90 días después de marcarse como ACCEPTED.

gcloud

Usa el comando gcloud recommender insights mark-accepted con el ID de la estadística para marcarla como ACCEPTED.

  • INSIGHT_ID: ID de la estadística que quieres ver. Para encontrar el ID, consulta la lista de estadísticas de tu proyecto, carpeta u organización.
  • RESOURCE_TYPE: el tipo de recurso del que quieres gestionar las estadísticas. Usa el valor project, folder o organization.
  • RESOURCE_ID: ID del proyecto, carpeta u organización de los que quieres gestionar las estadísticas.
  • ETAG: identificador de una versión de la estadística. Para obtener el etag, haz lo siguiente:

    1. Obtén la información valiosa con el comando gcloud recommender insights describe.
    2. Busca y copia el valor de etag en el resultado, incluidas las comillas. Por ejemplo, "d3cdec23cc712bd0".
gcloud recommender insights mark-accepted INSIGHT_ID \
    --insight-type=google.orgpolicy.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global \
    --etag=ETAG

El resultado muestra la estadística, ahora con el estado ACCEPTED:

associatedRecommendations:
- recommendation: folders/234567890123/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
category: SECURITY
content:
  consolidatedPolicy:
    inheritFromParent: false
    name: 'projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation'
    policyRules:
      rules: [
        "enforce": false
      ]
    reset: false
  constraint: {
    id: constraints/iam.managed.disableServiceAccountKeyCreation
    name: Disable service account key creation
  }
  evaluatedResources:
  - numOfResources: '0'
    resourceType: iam.googleapis.com/ServiceAccountKey
  - numOfResources: '1'
    resourceType: cloudresourcemanager.googleapis.com/Folder
  - numOfResources: '1'
    resourceType: cloudresourcemanager.googleapis.com/Project
  violations:
  - numOfResources: '0'
    resourceType: iam.googleapis.com/ServiceAccountKey
  - numOfResources: '0'
    resourceType: cloudresourcemanager.googleapis.com/Folder
  - numOfResources: '0'
    resourceType: cloudresourcemanager.googleapis.com/Project
description: Scanned 2 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyUpload.
etag: '"2cbb89b22fe2dab7"'
insightSubtype: RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_UPLOAD
lastRefreshTime: '2024-12-10T08:00:00Z'
name: folders/234567890123/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8
observationPeriod: 86400s
severity: HIGH
stateInfo:
  state: ACCEPTED
targetResources:
- //cloudresourcemanager.googleapis.com/folders/234567890123

Para obtener más información sobre el estado de una estadística, consulta la sección Revisar estadísticas de políticas de organización de esta página.

REST

El método insights.markAccepted de la API Recommender marca una estadística como ACCEPTED.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • RESOURCE_TYPE: el tipo de recurso del que quieres gestionar las estadísticas. Usa el valor projects, folders, o organizations.
  • RESOURCE_ID: El ID del proyecto, la carpeta o la organización de los que quieras gestionar las estadísticas.
  • INSIGHT_ID: el ID de la estadística que quieres ver. Si no conoces el ID de la estadística, puedes encontrarlo consultando la lista de estadísticas de tu proyecto, carpeta u organización. El ID de una estadística es todo lo que hay después de insights/ en el campo name de la estadística.
  • ETAG: identificador de una versión de la estadística. Para obtener el etag, haz lo siguiente:
    1. Obtén la información valiosa con el método insights.get.
    2. Busca y copia el valor etag de la respuesta.
  • PROJECT_ID: tu ID de proyecto. Google Cloud Los IDs de proyecto son cadenas alfanuméricas, como my-project.

Método HTTP y URL:

POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/INSIGHT_ID:markAccepted

Cuerpo JSON de la solicitud:

{
  "etag": "ETAG"
}

Para enviar tu solicitud, despliega una de estas opciones:

La respuesta contiene la estadística, ahora con el estado ACCEPTED:

[
  {
    "associatedRecommendations": [
      {
        "recommendation": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f"
      }
    ],
    "category": "SECURITY",
    "content": {
      "consolidatedPolicy": {
        "inheritFromParent": false,
        "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
        "policyRules": {
          "rules": [
            {
              "enforce": false
            }
          ]
        },
        "reset": false
      },
      "constraint": {
        "id": "constraints/iam.managed.disableServiceAccountKeyCreation",
        "name": "Disable service account key creation"
      },
      "evaluatedResources": [
        {
          "numOfResources": "1",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        },
        {
          "numOfResources": "2",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        }
      ],
      "violations": [
        {
          "numOfResources": "0",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        },
        {
          "numOfResources": "0",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        }
      ]
    },
    "description": "Scanned 2 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.",
    "etag": "\"9a1ad019022f9f56\"",
    "insightSubtype": "RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
    "lastRefreshTime": "2024-12-03T08:00:00Z",
    "name": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8",
    "observationPeriod": "86400s",
    "severity": "HIGH",
    "stateInfo": {
      "state": "ACCEPTED",
      "stateMetadata": {
        "reviewedBy": "alice",
        "priority": "high"
      }
    },
    "targetResources": [
      "//cloudresourcemanager.googleapis.com/projects/123456789012"
    ]
  }
]

Para obtener más información sobre el estado de una estadística, consulta la sección Revisar estadísticas de políticas de organización de esta página.

Siguientes pasos