Revisa y aplica las recomendaciones de las políticas de la organización

En esta página, se explica cómo ver, comprender y aplicar las recomendaciones de las políticas de la organización. Las recomendaciones de políticas de la organización te ayudan a establecer las políticas correctas sin interrumpir los sistemas.

Antes de comenzar

  • Enable the Organization Policy and Recommender APIs.

    Enable the APIs

  • Configura la autenticación.

    Select the tab for how you plan to use the samples on this page:

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    REST

    Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

    Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .

  • Comprende las recomendaciones de las políticas de la organización.

Roles de IAM obligatorios

En esta sección, se describen los roles y los permisos de IAM que necesitas para trabajar con las recomendaciones de políticas de la organización.

Para obtener los permisos que necesitas para administrar las recomendaciones de políticas de la organización, pídele a tu administrador que te otorgue los siguientes roles de IAM en el recurso para el que deseas administrar las recomendaciones (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.

Estos roles predefinidos contienen los permisos necesarios para administrar las recomendaciones de 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 administrar las recomendaciones de políticas de la organización:

  • Para ver las recomendaciones de las políticas de la organización, haz lo siguiente:
    • recommender.orgPolicyRecommendations.get
    • recommender.orgPolicyRecommendations.list
  • Para aplicar y descartar recomendaciones de políticas de la organización, haz lo siguiente:
    • recommender.orgPolicyRecommendations.get
    • recommender.orgPolicyRecommendations.list
    • recommender.orgPolicyRecommendations.update
  • Para administrar las políticas de la organización, haz lo siguiente:
    • orgpolicy.policy.get
    • orgpolicy.policy.set
    • orgpolicy.constraints.list
    • orgpolicy.policies.create
    • orgpolicy.policies.delete
    • orgpolicy.policies.list
    • orgpolicy.policies.update

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

Limitaciones

La vista previa del recomendador de políticas de la organización tiene las siguientes limitaciones:

  • Las estadísticas solo están disponibles para los proyectos, las carpetas y las organizaciones que tienen recomendaciones.

  • Las recomendaciones solo se realizan para las restricciones que no están configuradas en un recurso determinado o en cualquiera de sus recursos secundarios.

Restricciones admitidas

Las recomendaciones solo están disponibles para las siguientes restricciones de políticas de la organización:

Revisa y aplica recomendaciones

Puedes revisar y aplicar recomendaciones de políticas de la organización con Google Cloud CLI y la API del recomendador.

gcloud

Revisa las recomendaciones:

Para enumerar tus recomendaciones, ejecuta el comando gcloud recommender recommendations list:

gcloud recommender recommendations list \
    --location=global \
    --recommender=google.orgpolicy.policy.Recommender \
    --RESOURCE_TYPE=RESOURCE_ID \
    --filter="recommenderSubtype:RECOMMENDER_SUBTYPE" \
    --format=FORMAT

Reemplaza los siguientes valores:

  • RESOURCE_TYPE: el tipo de recurso para el que deseas enumerar las recomendaciones. Usa el valor project, folder o organization.

  • RESOURCE_ID: El ID del proyecto, la carpeta o la organización de Google Cloud para el que deseas enumerar las recomendaciones. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpeta y organización son numéricos, como 123456789012.

  • RECOMMENDER_SUBTYPE: Opcional Es el ID del subtipo para el que deseas ver recomendaciones. Entre los subtipos válidos, se incluyen los siguientes:

    • ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION proporciona recomendaciones para la restricción iam.managed.disableServiceAccountKeyCreation.
    • ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_UPLOAD proporciona recomendaciones para la restricción iam.managed.disableServiceAccountKeyUpload.
  • FORMAT: El formato de la respuesta. Usa el valor json o yaml.

La respuesta es similar al ejemplo a continuación. En este ejemplo, se analizan dos recursos para detectar claves de cuenta de servicio externas y no se detectan infracciones. Como resultado, la recomendación sugiere configurar iam.managed.disableServiceAccountKeyCreation para evitar incumplimientos futuros.

[
  {
    "associatedInsights": [
      {
        "insight": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/fb927dc1-9695-4436-0000-f0f285007c0f"
      }
    ],
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "add",
              "path": "/",
              "resource": "//orgpolicy.googleapis.com/projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
              "resourceType": "orgpolicy.googleapis.com/Policy",
              "value": {
                "etag": "",
                "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
                "spec": {
                  "etag": "",
                  "inheritFromParent": false,
                  "reset": false,
                  "rules": [
                    {
                      "enforce": true
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "overview": {
        "constraint": {
          "id": "constraints/iam.managed.disableServiceAccountKeyCreation",
          "name": "Disable service account key creation"
        },
        "enforcedResources": [
          {
            "numOfResources": "2",
            "resourceType": "iam.googleapis.com/ServiceAccountKey"
          },
          {
            "numOfResources": "1",
            "resourceType": "cloudresourcemanager.googleapis.com/Project"
          }
        ]
      }
    },
    "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
    "etag": "\"826e992a0f9793ff\"",
    "lastRefreshTime": "2024-12-07T08:00:00Z",
    "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
    "primaryImpact": {
      "category": "SECURITY"
    },
    "priority": "P1",
    "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
    "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 recomendación, consulta Información sobre las recomendaciones.

Para aplicar una recomendación, sigue estos pasos:

  1. Usa el comando gcloud recommender recommendations mark-claimed para cambiar el estado de la recomendación a CLAIMED, lo que evita que la recomendación cambie mientras la aplicas:

    gcloud recommender recommendations mark-claimed \
        RECOMMENDATION_ID \
        --location=global \
        --recommender=google.orgpolicy.policy.Recommender \
        --RESOURCE_TYPE=RESOURCE_ID \
        --format=FORMAT \
        --etag=ETAG \
        --state-metadata=STATE_METADATA
    

    Reemplaza los siguientes valores:

    • RECOMMENDATION_ID: El identificador único de la recomendación. Este valor aparece al final del campo name en la recomendación. En el ejemplo anterior, el identificador es fb927dc1-9695-4436-0000-f0f285007c0f.
    • RESOURCE_TYPE: el tipo de recurso para el que deseas administrar las recomendaciones. Usa el valor project, folder o organization.
    • RESOURCE_ID: El ID del proyecto, la carpeta o la organización de Google Cloudpara el que deseas enumerar las recomendaciones. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpeta y organización son numéricos, como 123456789012.
    • FORMAT: El formato de la respuesta. Usa el valor json o yaml.
    • ETAG: Es un identificador para una versión de la recomendación, como "7caf4103d7669e12". Ten en cuenta que este valor puede incluir comillas.
    • STATE_METADATA: Opcional Pares clave-valor separados por comas que contienen la selección de metadatos sobre la recomendación. Por ejemplo:--state-metadata=reviewedBy=alice,priority=high Los metadatos reemplazan el campo stateInfo.stateMetadata en la recomendación.

    Si el comando se ejecuta de forma correcta, la respuesta muestra la recomendación en un estado CLAIMED, como se muestra en el siguiente ejemplo. Para mayor claridad, en el ejemplo, se omiten la mayoría de los campos:

    
      {
        "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
        "etag": "\"826e992a0f9793ff\"",
        "lastRefreshTime": "2024-12-07T08:00:00Z",
        "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
        "primaryImpact": {
          "category": "SECURITY"
        },
        "priority": "P1",
        "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
        "stateInfo": {
          "state": "CLAIMED",
          "stateMetadata": {\
            "reviewedBy": "alice",
            "priority": "high"
          }
        },
        "targetResources": [
          "//cloudresourcemanager.googleapis.com/projects/123456789012"
        ]
      }
    
  2. Actualiza y aplica la política de la organización para el proyecto, la carpeta o la organización que especifican RESOURCE_TYPE y RESOURCE_ID, de modo que refleje la recomendación.

  3. Actualiza el estado de la recomendación a SUCCEEDED si pudiste aplicarla o a FAILED si no pudiste aplicarla:

    gcloud recommender recommendations COMMAND \
        RECOMMENDATION_ID \
        --location=global \
        --recommender=google.iam.policy.Recommender \
        --RESOURCE_TYPE=RESOURCE_ID \
        --format=FORMAT \
        --etag=ETAG \
        --state-metadata=STATE_METADATA
    

    Reemplaza los siguientes valores:

    • COMMAND: Usa mark-succeeded si aplicaste correctamente la recomendación o mark-failed si no pudiste aplicarla.
    • RECOMMENDATION_ID: El identificador único de la recomendación. Este valor aparece al final del campo name en la recomendación. En el ejemplo anterior, el identificador es fb927dc1-9695-4436-0000-f0f285007c0f.
    • RESOURCE_TYPE: el tipo de recurso para el que deseas administrar las recomendaciones. Usa el valor project, folder o organization.
    • RESOURCE_ID: El ID del proyecto, la carpeta o la organización de Google Cloudpara el que deseas enumerar las recomendaciones. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpeta y organización son numéricos, como 123456789012.
    • FORMAT: El formato de la respuesta. Usa el valor json o yaml.
    • ETAG: Es un identificador para una versión de la recomendación, como "7caf4103d7669e12". Ten en cuenta que este valor puede incluir comillas.
    • STATE_METADATA: Opcional Pares clave-valor separados por comas que contienen la selección de metadatos sobre la recomendación. Por ejemplo:--state-metadata=reviewedBy=alice,priority=high Los metadatos reemplazan el campo stateInfo.stateMetadata en la recomendación.

    Por ejemplo, si marcaste la recomendación como correcta, la respuesta muestra la recomendación en un estado SUCCEEDED. Para mayor claridad, en este ejemplo, se omiten la mayoría de los campos:

    
      {
        "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
        "etag": "\"826e992a0f9793ff\"",
        "lastRefreshTime": "2024-12-07T08:00:00Z",
        "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
        "primaryImpact": {
          "category": "SECURITY"
        },
        "priority": "P1",
        "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
        "stateInfo": {
          "state": "SUCCEEDED",
          "stateMetadata": {
            "reviewedBy": "alice",
            "priority": "high"
          }
        },
        "targetResources": [
          "//cloudresourcemanager.googleapis.com/projects/123456789012"
        ]
      }
    

    Para revertir los cambios en la política de la organización, establece la política de la organización en su configuración original, que se proporciona en el campo configuredPolicy de la estadística asociada.

REST

Revisa las recomendaciones:

Para enumerar todas las recomendaciones disponibles para tu proyecto, carpeta o organización, usa el método recommendations.list de la API de Recommender.

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

  • RESOURCE_TYPE: Es el tipo de recurso para el que deseas administrar las recomendaciones. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: El ID del proyecto, la carpeta o la organización deGoogle Cloud para el que deseas administrar las recomendaciones. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpeta y organización son numéricos, como 123456789012.
  • PAGE_SIZE: Opcional La cantidad máxima de resultados que se mostrarán con esta solicitud. Si no se especifica, el servidor determinará la cantidad de resultados que se mostrarán. Si la cantidad de recomendaciones es mayor que el tamaño de la página, la respuesta contiene un token de paginación que puedes usar para recuperar la siguiente página de resultados.
  • PAGE_TOKEN: Opcional Es el token de paginación que se mostró en una respuesta anterior de este método. Si se especifica, la lista de recomendaciones comenzará donde finalizó la solicitud anterior.
  • FILTER: Opcional Una expresión de filtro para restringir las recomendaciones que se muestran. Puedes filtrar recomendaciones según el campo stateInfo.state. Por ejemplo, stateInfo.state:"DISMISSED" o stateInfo.state:"FAILED".
  • 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/recommenders/google.orgpolicy.policy.Recommender/recommendations?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER

Para enviar tu solicitud, expande una de estas opciones:

La respuesta es similar al ejemplo a continuación. En este ejemplo, se analizan dos recursos para detectar claves de cuenta de servicio externas y no se detectan infracciones. Como resultado, la recomendación sugiere configurar iam.managed.disableServiceAccountKeyCreation para evitar incumplimientos en el futuro.

[
  {
    "associatedInsights": [
      {
        "insight": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8"
      }
    ],
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "add",
              "path": "/",
              "resource": "//orgpolicy.googleapis.com/projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
              "resourceType": "orgpolicy.googleapis.com/Policy",
              "value": {
                "etag": "",
                "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
                "spec": {
                  "etag": "",
                  "inheritFromParent": false,
                  "reset": false,
                  "rules": [
                    {
                      "enforce": true
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "overview": {
        "constraint": {
          "id": "constraints/iam.managed.disableServiceAccountKeyCreation",
          "name": "Disable service account key creation"
        },
        "enforcedResources": [
          {
            "numOfResources": "2",
            "resourceType": "iam.googleapis.com/ServiceAccountKey"
          },
          {
            "numOfResources": "1",
            "resourceType": "cloudresourcemanager.googleapis.com/Project"
          }
        ]
      }
    },
    "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
    "etag": "\"826e992a0f9793ff\"",
    "lastRefreshTime": "2024-12-07T08:00:00Z",
    "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
    "primaryImpact": {
      "category": "SECURITY"
    },
    "priority": "P1",
    "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
    "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 recomendación, consulta Información sobre las recomendaciones.

Para aplicar una recomendación, sigue estos pasos:

  1. Marca la recomendación como CLAIMED:

    Para marcar una recomendación como CLAIMED, lo que evita que la recomendación cambie mientras la aplicas, usa el método recommendations.markClaimed de la API de Recommender.

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

    • RESOURCE_TYPE: Es el tipo de recurso para el que deseas administrar las recomendaciones. Usa el valor projects, folders o organizations.
    • RESOURCE_ID: El ID del proyecto, la carpeta o la organización deGoogle Cloud para el que deseas administrar las recomendaciones. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpeta y organización son numéricos, como 123456789012.
    • RECOMMENDATION_ID: El identificador único de la recomendación. Este valor aparece al final del campo name en la recomendación. Por ejemplo, si el campo name es projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, el ID de recomendación es fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: El valor del campo etag en la recomendación, como "dd0686e7136a4cbb". Usa barras inversas para escapar las comillas, por ejemplo, "\"df7308cca9719dcc\"".
    • STATE_METADATA: Opcional. Un objeto que contiene pares clave-valor con tu elección de metadatos sobre la recomendación. Por ejemplo, {"reviewedBy": "alice", "priority": "high"}. Los metadatos reemplazan el campo stateInfo.stateMetadata en la recomendación.
    • 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/recommenders/google.orgpolicy.policy.Recommender/recommendations/RECOMMENDATION_ID:markClaimed

    Cuerpo JSON de la solicitud:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

    Para enviar tu solicitud, expande una de estas opciones:

    La respuesta muestra la recomendación en un estado CLAIMED, como se muestra en el siguiente ejemplo. Para mayor claridad, en este ejemplo, se omiten la mayoría de los campos:

    {
      "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
      "etag": "\"826e992a0f9793ff\"",
      "lastRefreshTime": "2024-12-07T08:00:00Z",
      "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
      "primaryImpact": {
        "category": "SECURITY"
      },
      "priority": "P1",
      "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
      "stateInfo": {
        "state": "CLAIMED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "targetResources": [
        "//cloudresourcemanager.googleapis.com/projects/123456789012"
      ]
    }
    

  2. Actualiza la política de la organización para el proyecto, la carpeta o la organización que especifican RESOURCE_TYPE y RESOURCE_ID para que refleje la recomendación.

  3. Actualiza el estado de la recomendación a SUCCEEDED si la aplicaste correctamente o a FAILED si no pudiste aplicarla:

    SUCCEEDED

    Para marcar una recomendación como SUCCEEDED, lo que indica que pudiste aplicarla, usa el método recommendations.markSucceeded de la API de Recommender.

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

    • RESOURCE_TYPE: Es el tipo de recurso para el que deseas administrar las recomendaciones. Usa el valor projects, folders o organizations.
    • RESOURCE_ID: El ID del proyecto, la carpeta o la organización deGoogle Cloud para el que deseas administrar las recomendaciones. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpeta y organización son numéricos, como 123456789012.
    • RECOMMENDATION_ID: El identificador único de la recomendación. Este valor aparece al final del campo name en la recomendación. Por ejemplo, si el campo name es projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, el ID de recomendación es fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: El valor del campo etag en la recomendación, como "dd0686e7136a4cbb". Usa barras inversas para escapar las comillas, por ejemplo, "\"df7308cca9719dcc\"".
    • STATE_METADATA: Opcional. Un objeto que contiene pares clave-valor con tu elección de metadatos sobre la recomendación. Por ejemplo, {"reviewedBy": "alice", "priority": "high"}. Los metadatos reemplazan el campo stateInfo.stateMetadata en la recomendación.
    • 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/recommenders/google.orgpolicy.policy.Recommender/recommendations/RECOMMENDATION_ID:markSucceeded

    Cuerpo JSON de la solicitud:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

    Para enviar tu solicitud, expande una de estas opciones:

    La respuesta muestra la recomendación en un estado SUCCEEDED, como se muestra en el siguiente ejemplo. Para mayor claridad, en este ejemplo, se omiten la mayoría de los campos:

    {
      "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
      "etag": "\"826e992a0f9793ff\"",
      "lastRefreshTime": "2024-12-07T08:00:00Z",
      "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
      "primaryImpact": {
        "category": "SECURITY"
      },
      "priority": "P1",
      "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
      "stateInfo": {
        "state": "SUCCEEDED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "targetResources": [
        "//cloudresourcemanager.googleapis.com/projects/123456789012"
      ]
    }
    

    FAILED

    Para marcar una recomendación como FAILED, lo que indica que no pudiste aplicarla, usa el método recommendations.markFailed de la API de Recommender.

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

    • RESOURCE_TYPE: Es el tipo de recurso para el que deseas administrar las recomendaciones. Usa el valor projects, folders o organizations.
    • RESOURCE_ID: El ID del proyecto, la carpeta o la organización deGoogle Cloud para el que deseas administrar las recomendaciones. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpeta y organización son numéricos, como 123456789012.
    • RECOMMENDATION_ID: El identificador único de la recomendación. Este valor aparece al final del campo name en la recomendación. Por ejemplo, si el campo name es projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, el ID de recomendación es fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: El valor del campo etag en la recomendación, como "dd0686e7136a4cbb". Usa barras inversas para escapar las comillas, por ejemplo, "\"df7308cca9719dcc\"".
    • STATE_METADATA: Opcional. Un objeto que contiene pares clave-valor con tu elección de metadatos sobre la recomendación. Por ejemplo, {"reviewedBy": "alice", "priority": "high"}. Los metadatos reemplazan el campo stateInfo.stateMetadata en la recomendación.
    • 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/recommenders/google.orgpolicy.policy.Recommender/recommendations/RECOMMENDATION_ID:markFailed

    Cuerpo JSON de la solicitud:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

    Para enviar tu solicitud, expande una de estas opciones:

    La respuesta muestra la recomendación en un estado FAILED, como se muestra en el siguiente ejemplo. Para mayor claridad, en este ejemplo, se omiten la mayoría de los campos:

    {
      "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
      "etag": "\"826e992a0f9793ff\"",
      "lastRefreshTime": "2024-12-07T08:00:00Z",
      "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
      "primaryImpact": {
        "category": "SECURITY"
      },
      "priority": "P1",
      "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
      "stateInfo": {
        "state": "FAILED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "targetResources": [
        "//cloudresourcemanager.googleapis.com/projects/123456789012"
      ]
    }
    

Información sobre las recomendaciones

Cada recomendación incluye información para ayudarte a comprender por qué se hizo la recomendación y sugerencias para realizar cambios en la configuración de la política de tu organización. Entre sus atributos principales, se incluyen los siguientes:

  • description: Un resumen legible de la recomendación

  • recommenderSubtype: Es el identificador de un subtipo de recomendaciones. Cada restricción tiene un recommenderSubtype único.

  • content: Contiene los cambios recomendados en la política de tu organización.

    • overview: Es la información de resumen condensada sobre la recomendación.

    • constraint: Proporciona información sobre la restricción.

    • enforced_resources: Proporciona información sobre los recursos a los que afecta esta política de la organización si aplicas la recomendación.

    • operationGroups: Es un conjunto de una o más operaciones en la política de la organización cuando aplicas una recomendación.

  • associatedInsights: Es el nombre del recurso de las estadísticas que generaron esta recomendación.

Para obtener más información sobre los atributos de una recomendación, consulta la referencia de recomendaciones.

Las estadísticas y recomendaciones se generan para los recursos que no tienen una de las políticas de organización compatibles configuradas o para cualquiera de sus recursos secundarios. Para ver la configuración de la política de la organización en la que se basa esta recomendación, consulta las estadísticas de la política de la organización asociadas con la recomendación. Estas estadísticas se enumeran en el campo associatedInsights. Para ver una estadística de política de la organización asociada con la recomendación, haz lo siguiente:

  1. Identifica qué estadísticas del campo associatedInsights son estadísticas de políticas de la organización. Las estadísticas de las políticas de la organización tienen el tipo de estadística google.orgpolicy.policy.Insight. Este tipo aparece después de insightTypes en el campo insight.

  2. Copia el ID de la estadística de la política de la organización. El ID es todo lo que se encuentra después de insights/ en el campo insight. Por ejemplo, si el campo de estadísticas dice projects/123456789012/locations/us/insightTypes/google.orgpolicy.policy.Insight/insights/fb927dc1-9695-4436-0000-f0f285007c0f, el ID de la estadística es fb927dc1-9695-4436-0000-f0f285007c0f.

  3. Sigue las instrucciones para obtener una estadística de la política de la organización con el ID de estadística que copiaste.

Exportar recomendaciones a BigQuery

Para ver instantáneas diarias de todas las recomendaciones para tu organización, incluidas las recomendaciones de las políticas de la organización, puedes exportarlas a BigQuery.

Para exportar tus recomendaciones a BigQuery, debes configurar una transferencia de datos con el Servicio de transferencia de datos de BigQuery. Para aprender a configurar una transferencia de datos, consulta Exporta recomendaciones a BigQuery.

¿Qué sigue?