Revisa las estadísticas de las políticas de la organización para proyectos, carpetas y organizaciones

En esta página, se muestra cómo administrar las estadísticas de políticas de la organización, que son resultados sobre el uso y la configuración 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.

A veces, las estadísticas de las políticas de la organización se vinculan a recommendations. Las recomendaciones de las políticas de la organización sugieren acciones que puedes realizar para solucionar los problemas que identifican las estadísticas de las políticas de la organización.

Antes de comenzar

Roles obligatorios

Para obtener los permisos que necesitas para ver y modificar las estadísticas de las políticas de la organización, pídele a tu administrador que te otorgue el rol de IAM de administrador de recomendaciones de políticas de la organización (roles/recommender.orgPolicyAdmin) en el recurso para el que deseas administrar las estadísticas (proyecto, carpeta o organización). Para obtener más información sobre cómo otorgar roles, consulta Administra 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 son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para ver y modificar las estadísticas de las políticas de la organización:

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

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

Genera una lista de estadísticas de la política de la organización

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

gcloud

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

Antes de ejecutar el comando, reemplaza los siguientes valores:

  • RESOURCE_TYPE: el tipo de recurso para el que deseas generar una lista de estadísticas. Usa el valor project, folder o organization.
  • RESOURCE_ID: El ID del proyecto, la carpeta o la organización para el que deseas enumerar las estadísticas.
gcloud recommender insights list --insight-type=google.orgpolicy.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global

En el resultado, se enumeran todas las estadísticas de políticas de la organización para tu proyecto, carpeta o 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 de Recommender enumera todas las estadísticas de políticas de la organización para tu proyecto, carpeta o organización.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • RESOURCE_TYPE: el tipo de recurso para el que deseas generar una lista de estadísticas. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: El ID del proyecto, la carpeta o la organización para el que deseas enumerar las estadísticas.
  • PROJECT_ID: El ID de tu proyecto de 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, expande una de estas opciones:

En la respuesta, se enumeran todas las estadísticas de políticas de la organización para tu proyecto, carpeta o 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 Revisa las estadísticas de las políticas de la organización en esta página.

Obtén una sola estadística de políticas de la organización

Para obtener más información sobre una sola estadística, incluida la descripción, el estado y las recomendaciones asociadas, usa uno de los siguientes métodos:

gcloud

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

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

En el resultado, se muestra la estadística en detalle. Por ejemplo, se analizan dos recursos en busca de claves de cuenta de servicio externas y no se detectan incumplimientos:

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 Revisa las estadísticas de las políticas de la organización en esta página.

REST

Con el método insights.get de la API de recomendador, se obtiene una sola estadística.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • RESOURCE_TYPE: el tipo de recurso para el que deseas administrar las estadísticas. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: El ID del proyecto, la carpeta o la organización para el que deseas administrar las estadísticas.
  • INSIGHT_ID: El ID de la estadística que deseas ver. Si no conoces el ID de estadística, puedes encontrarlo si enumeras las estadísticas en el proyecto, la carpeta o la organización. El ID de una estadística es todo lo que se encuentra después de insights/ en el campo name de la estadística
  • PROJECT_ID: El ID de tu proyecto de 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, expande una de estas opciones:

La respuesta contiene las estadísticas. Por ejemplo, se analizan dos recursos en busca de claves de cuenta de servicio externas y no se detectan incumplimientos:

[
  {
    "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 Revisa las estadísticas de las políticas de la organización en esta página.

Revisa las estadísticas de las políticas de la organización

Después de obtener una sola estadística, puedes revisar su contenido para comprender la configuración de la política de la organización en tus recursos, incluidos los incumplimientos.

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

  • associatedRecommendations: Los identificadores de cualquier recomendación asociada con la estadística. Si no hay recomendaciones asociadas con la estadística, este campo estará vacío.
  • category: La categoría de las estadísticas de las políticas de la organización siempre es SECURITY.
  • content: Proporciona detalles sobre los recursos y la política de la organización que se analizaron. En este campo, se encuentran los siguientes componentes:
    • constraint: Es la restricción que se analizó.
    • consolidatedPolicy: Es la política de la organización para el recurso analizado.
    • evaluatedResources: Son los recursos que se evaluaron para generar la estadística.
    • violations: La cantidad y los tipos de recursos que incumplen la política de la organización
  • description: Un resumen legible de la estadística
  • etag: un identificador único para el estado actual de una estadística. Cada vez que se modifica la estadística, se asigna un valor etag nuevo

    Para cambiar el estado de una estadística, debes proporcionar la etag de la estadística existente. Usar etag ayuda a garantizar que cualquier operación se realice solo si la estadística no cambió desde la última recuperación.

  • insightSubtype: el subtipo de estadística.
  • lastRefreshTime: Es la fecha en la que se actualizó la estadística por última vez, lo que indica la actualidad de los datos que se usaron para generar la estadística.
  • name: El nombre de la estadística, en 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 generó la estadística.
    • RESOURCE_ID: El ID del proyecto, la carpeta o la organización en la que se generó la estadística.
    • INSIGHT_ID: Un ID único para la estadística
  • observationPeriod: El período hasta llegar a la estadística. Los datos de origen que se usaron para generar la estadística finalizan en lastRefreshTime y comienzan en 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 atraviesan varias transiciones de estado después de la propuesta:

    • ACTIVE: Se generó la estadística, pero no se realizó ninguna acción o se realizó una acción sin actualizar el estado de la estadística. Las estadísticas activas se actualizan cuando cambian los datos subyacentes.
    • ACCEPTED: Se realizaron acciones en función de la estadística. Se aceptan las estadísticas cuando una recomendación asociada se marcó como CLAIMED, SUCCEEDED o FAILED, o la estadística se aceptó directamente. Cuando una estadística se encuentra en el estado ACCEPTED, el contenido de la estadística no puede cambiar. Las estadísticas aceptadas se conservan durante 90 días después de su aceptación.
  • targetResources: El nombre completo del recurso del proyecto, la carpeta o la organización para el que se proporciona la estadística. Por ejemplo, //cloudresourcemanager.googleapis.com/projects/1234567890.

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

Si realizas acciones basadas en una estadística activa, puedes marcar esa estadística como ACCEPTED. El estado ACCEPTED le indica a la API de recomendador que realizaste acciones basadas en esta estadística, lo que ayuda a definir mejor las recomendaciones.

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

gcloud

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

  • INSIGHT_ID: El ID de la estadística que deseas ver. Para encontrar el ID, enumera las estadísticas para el proyecto, la carpeta o la organización.
  • RESOURCE_TYPE: el tipo de recurso para el que deseas administrar las estadísticas. Usa el valor project, folder o organization.
  • RESOURCE_ID: El ID del proyecto, la carpeta o la organización para el que deseas administrar las estadísticas.
  • ETAG: Un identificador para una versión de la estadística. Para obtener la etag, haz lo siguiente:

    1. Obtén la estadística mediante el comando gcloud recommender insights describe.
    2. Busca y copia el valor etag del resultado, incluidas las comillas delimitantes. Por ejemplo, "d3cdec23cc712bd0"
gcloud recommender insights mark-accepted INSIGHT_ID \
    --insight-type=google.orgpolicy.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global \
    --etag=ETAG

En el resultado, se 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 la información de estado de una estadística, consulta Revisa las estadísticas de las políticas de la organización en esta página.

REST

Mediante el método insights.markAccepted de la API de recomendador, se marca una estadística como ACCEPTED.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • RESOURCE_TYPE: el tipo de recurso para el que deseas administrar las estadísticas. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: El ID del proyecto, la carpeta o la organización para el que deseas administrar las estadísticas.
  • INSIGHT_ID: El ID de la estadística que deseas ver. Si no conoces el ID de estadística, puedes encontrarlo si enumeras las estadísticas en el proyecto, la carpeta o la organización. El ID de una estadística es todo lo que se encuentra después de insights/ en el campo name de la estadística
  • ETAG: Un identificador para una versión de la estadística. Para obtener la etag, haz lo siguiente:
    1. Obtén la estadística mediante el método insights.get.
    2. Busca y copia el valor etag de la respuesta.
  • PROJECT_ID: El ID de tu proyecto de 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, expande 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 la información de estado de una estadística, consulta Revisa las estadísticas de las políticas de la organización en esta página.

¿Qué sigue?