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.
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.
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 ver las recomendaciones de políticas de la organización, usa el visualizador del recomendador de políticas de la organización (
roles/recommender.orgPolicyViewer
). -
Para aplicar y descartar las recomendaciones de las políticas de la organización: Administrador del recomendador de políticas de la organización (
roles/recommender.orgPolicyAdmin
). -
Para administrar las políticas de la organización, debes tener el rol de Administrador de políticas de la organización (
roles/orgpolicy.policyAdmin
).
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:
Creación de claves de cuentas de servicio (
iam.managed.disableServiceAccountKeyCreation
)Carga de claves de cuentas de servicio (
iam.managed.disableServiceAccountKeyUpload
)Reglas de reenvío de protocolos (
compute.managed.restrictProtocolForwardingCreationForTypes
)
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 valorproject
,folder
oorganization
.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, comomy-project
. Los IDs de carpeta y organización son numéricos, como123456789012
.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óniam.managed.disableServiceAccountKeyCreation
.ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_UPLOAD
proporciona recomendaciones para la restriccióniam.managed.disableServiceAccountKeyUpload
.
FORMAT
: El formato de la respuesta. Usa el valorjson
oyaml
.
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:
Usa el comando
gcloud recommender recommendations mark-claimed
para cambiar el estado de la recomendación aCLAIMED
, 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 camponame
en la recomendación. En el ejemplo anterior, el identificador esfb927dc1-9695-4436-0000-f0f285007c0f
. -
RESOURCE_TYPE
: el tipo de recurso para el que deseas administrar las recomendaciones. Usa el valorproject
,folder
oorganization
. -
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, comomy-project
. Los IDs de carpeta y organización son numéricos, como123456789012
. -
FORMAT
: El formato de la respuesta. Usa el valorjson
oyaml
. -
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 campostateInfo.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" ] }
-
Actualiza y aplica la política de la organización para el proyecto, la carpeta o la organización que especifican
RESOURCE_TYPE
yRESOURCE_ID
, de modo que refleje la recomendación.Actualiza el estado de la recomendación a
SUCCEEDED
si pudiste aplicarla o aFAILED
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
: Usamark-succeeded
si aplicaste correctamente la recomendación omark-failed
si no pudiste aplicarla. -
RECOMMENDATION_ID
: El identificador único de la recomendación. Este valor aparece al final del camponame
en la recomendación. En el ejemplo anterior, el identificador esfb927dc1-9695-4436-0000-f0f285007c0f
. -
RESOURCE_TYPE
: el tipo de recurso para el que deseas administrar las recomendaciones. Usa el valorproject
,folder
oorganization
. -
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, comomy-project
. Los IDs de carpeta y organización son numéricos, como123456789012
. -
FORMAT
: El formato de la respuesta. Usa el valorjson
oyaml
. -
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 campostateInfo.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 valorprojects
,folders
oorganizations
.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, comomy-project
. Los IDs de carpeta y organización son numéricos, como123456789012
.-
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 campostateInfo.state
. Por ejemplo,stateInfo.state:"DISMISSED"
ostateInfo.state:"FAILED"
. PROJECT_ID
: El ID de tu proyecto de Google Cloud . Los IDs de proyecto son cadenas alfanuméricas, comomy-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:
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étodorecommendations.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 valorprojects
,folders
oorganizations
.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, comomy-project
. Los IDs de carpeta y organización son numéricos, como123456789012
.RECOMMENDATION_ID
: El identificador único de la recomendación. Este valor aparece al final del camponame
en la recomendación. Por ejemplo, si el camponame
esprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
, el ID de recomendación esfb927dc1-9695-4436-0000-f0f285007c0f
.ETAG
: El valor del campoetag
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 campostateInfo.stateMetadata
en la recomendación.PROJECT_ID
: El ID de tu proyecto de Google Cloud . Los IDs de proyecto son cadenas alfanuméricas, comomy-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" ] }
Actualiza la política de la organización para el proyecto, la carpeta o la organización que especifican
RESOURCE_TYPE
yRESOURCE_ID
para que refleje la recomendación.Actualiza el estado de la recomendación a
SUCCEEDED
si la aplicaste correctamente o aFAILED
si no pudiste aplicarla:SUCCEEDED
Para marcar una recomendación como
SUCCEEDED
, lo que indica que pudiste aplicarla, usa el métodorecommendations.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 valorprojects
,folders
oorganizations
.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, comomy-project
. Los IDs de carpeta y organización son numéricos, como123456789012
.RECOMMENDATION_ID
: El identificador único de la recomendación. Este valor aparece al final del camponame
en la recomendación. Por ejemplo, si el camponame
esprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
, el ID de recomendación esfb927dc1-9695-4436-0000-f0f285007c0f
.ETAG
: El valor del campoetag
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 campostateInfo.stateMetadata
en la recomendación.PROJECT_ID
: El ID de tu proyecto de Google Cloud . Los IDs de proyecto son cadenas alfanuméricas, comomy-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étodorecommendations.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 valorprojects
,folders
oorganizations
.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, comomy-project
. Los IDs de carpeta y organización son numéricos, como123456789012
.RECOMMENDATION_ID
: El identificador único de la recomendación. Este valor aparece al final del camponame
en la recomendación. Por ejemplo, si el camponame
esprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
, el ID de recomendación esfb927dc1-9695-4436-0000-f0f285007c0f
.ETAG
: El valor del campoetag
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 campostateInfo.stateMetadata
en la recomendación.PROJECT_ID
: El ID de tu proyecto de Google Cloud . Los IDs de proyecto son cadenas alfanuméricas, comomy-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ónrecommenderSubtype
: Es el identificador de un subtipo de recomendaciones. Cada restricción tiene unrecommenderSubtype
ú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: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ísticagoogle.orgpolicy.policy.Insight
. Este tipo aparece después deinsightTypes
en el campoinsight
.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 campoinsight
. Por ejemplo, si el campo de estadísticas diceprojects/123456789012/locations/us/insightTypes/google.orgpolicy.policy.Insight/insights/fb927dc1-9695-4436-0000-f0f285007c0f
, el ID de la estadística esfb927dc1-9695-4436-0000-f0f285007c0f
.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?
- Obtén más información sobre el recomendador.
- Obtén información para usar las estadísticas de las políticas de la organización.
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-01-29 (UTC)