Cette page explique comment afficher, comprendre et appliquer les recommandations de règles de l'organisation. Les recommandations de règles d'administration vous aident à définir les règles d'administration appropriées sans perturber les systèmes.
Avant de commencer
Enable the Organization Policy and Recommender APIs.
Configurez l'authentification.
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
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Découvrez les recommandations concernant les règles d'administration.
Rôles IAM requis
Cette section décrit les rôles et les autorisations IAM dont vous avez besoin pour utiliser les recommandations de règles d'administration.
Pour obtenir les autorisations nécessaires pour gérer les recommandations de stratégie de l'organisation, demandez à votre administrateur de vous accorder les rôles IAM suivants sur la ressource pour laquelle vous souhaitez gérer les recommandations (projet, dossier ou organisation):
-
Pour afficher les recommandations sur les règles de l'organisation :
Lecteur de l'outil de recommandation pour les règles d'administration (
roles/recommender.orgPolicyViewer
) -
Pour appliquer et ignorer les recommandations concernant les règles d'administration :
Administrateur de l'outil de recommandation pour les règles d'administration (
roles/recommender.orgPolicyAdmin
) -
Pour gérer les règles d'administration :
Administrateur des règles d'administration (
roles/orgpolicy.policyAdmin
)
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Ces rôles prédéfinis contiennent les autorisations requises pour gérer les recommandations de règles d'administration. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour gérer les recommandations de règles d'administration:
-
Pour afficher les recommandations concernant les règles d'administration :
-
recommender.orgPolicyRecommendations.get
-
recommender.orgPolicyRecommendations.list
-
-
Pour appliquer et ignorer les recommandations concernant les règles d'administration :
-
recommender.orgPolicyRecommendations.get
-
recommender.orgPolicyRecommendations.list
-
recommender.orgPolicyRecommendations.update
-
-
Pour gérer les règles d'administration :
-
orgpolicy.policy.get
-
orgpolicy.policy.set
-
orgpolicy.constraints.list
-
orgpolicy.policies.create
-
orgpolicy.policies.delete
-
orgpolicy.policies.list
-
orgpolicy.policies.update
-
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Limites
La version Preview de l'outil de recommandation de règles d'administration présente les limites suivantes:
Les insights ne sont disponibles que pour les projets, dossiers et organisations associés à des recommandations.
Les recommandations ne sont émises que pour les contraintes qui ne sont pas configurées sur une ressource donnée ni sur l'une de ses ressources enfants.
Contraintes acceptées
Les recommandations ne sont disponibles que pour les contraintes de stratégie de l'organisation suivantes:
Création de clés de compte de service (
iam.managed.disableServiceAccountKeyCreation
)Importation de clés de compte de service (
iam.managed.disableServiceAccountKeyUpload
)Règles de transfert de protocole (
compute.managed.restrictProtocolForwardingCreationForTypes
)
Lire et appliquer les recommandations
Vous pouvez examiner et appliquer les recommandations concernant les règles de l'organisation à l'aide de Google Cloud CLI et de l'API Recommender.
gcloud
Examinez les recommandations :
Pour répertorier vos recommandations, exécutez la commande
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
Remplacez les valeurs suivantes :
RESOURCE_TYPE
: type de ressource pour lequel vous souhaitez répertorier les recommandations. Utilisez la valeurproject
,folder
ouorganization
.RESOURCE_ID
: ID du projet, du dossier ou de l' Google Cloud organisation pour lequel vous souhaitez répertorier les recommandations. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
. Les ID de dossier et d'organisation sont numériques, tels que123456789012
.RECOMMENDER_SUBTYPE
: facultatif. ID du sous-type pour lequel vous souhaitez obtenir des recommandations. Les sous-types valides sont les suivants:ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION
fournit des recommandations pour la contrainteiam.managed.disableServiceAccountKeyCreation
.ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_UPLOAD
fournit des recommandations pour la contrainteiam.managed.disableServiceAccountKeyUpload
FORMAT
: format de la réponse. Utilisez la valeurjson
ouyaml
.
La réponse est semblable à l'exemple suivant. Dans cet exemple, deux ressources sont analysées pour les clés de compte de service externes, et aucune infraction n'est détectée. Par conséquent, la recommandation suggère de définir
iam.managed.disableServiceAccountKeyCreation
pour éviter de futures infractions.[ { "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" ] } ]
Pour en savoir plus sur les composants d'une recommandation, consultez la section Comprendre les recommandations.
Pour appliquer une recommandation, procédez comme suit :
Utilisez la commande
gcloud recommender recommendations mark-claimed
pour définir l'état de la recommandation surCLAIMED
, ce qui empêche la recommandation de changer lorsque vous l'appliquez: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
Remplacez les valeurs suivantes :
-
RECOMMENDATION_ID
: identifiant unique de la recommandation. Cette valeur apparaît à la fin du champname
de la recommandation. Dans l'exemple précédent, l'identifiant estfb927dc1-9695-4436-0000-f0f285007c0f
. -
RESOURCE_TYPE
: type de ressource pour lequel vous souhaitez gérer les recommandations. Utilisez la valeurproject
,folder
ouorganization
. -
RESOURCE_ID
: ID du projet, du dossier ou de l'organisation Google Cloudpour lequel vous souhaitez répertorier les recommandations. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
. Les ID de dossier et d'organisation sont numériques, tels que123456789012
. -
FORMAT
: format de la réponse. Utilisez la valeurjson
ouyaml
. -
ETAG
: identifiant d'une version de la recommandation, telle que"7caf4103d7669e12"
. Notez que cette valeur peut inclure des guillemets. -
STATE_METADATA
: facultatif. Paires clé/valeur séparées par des virgules contenant votre choix de métadonnées relatives à la recommandation. Par exemple,--state-metadata=reviewedBy=alice,priority=high
. Les métadonnées remplacent le champstateInfo.stateMetadata
de la recommandation.
Si la commande aboutit, la réponse affiche la recommandation à l'état
CLAIMED
, comme indiqué dans l'exemple suivant. Pour plus de clarté, l'exemple omet la plupart des champs :{ "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" ] }
-
Mettez à jour et appliquez la règle d'administration de l'organisation pour le projet, le dossier ou l'organisation spécifiés par
RESOURCE_TYPE
etRESOURCE_ID
afin qu'elle reflète la recommandation.Mettez à jour l'état de la recommandation sur
SUCCEEDED
si vous avez appliqué la recommandation ou surFAILED
si vous ne pouvez pas appliquer la recommandation: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
Remplacez les valeurs suivantes :
-
COMMAND
: utilisezmark-succeeded
si vous avez appliqué la recommandation, oumark-failed
si vous n'avez pas pu appliquer la recommandation. -
RECOMMENDATION_ID
: identifiant unique de la recommandation. Cette valeur apparaît à la fin du champname
de la recommandation. Dans l'exemple précédent, l'identifiant estfb927dc1-9695-4436-0000-f0f285007c0f
. -
RESOURCE_TYPE
: type de ressource pour lequel vous souhaitez gérer les recommandations. Utilisez la valeurproject
,folder
ouorganization
. -
RESOURCE_ID
: ID du projet, du dossier ou de l'organisation Google Cloudpour lequel vous souhaitez répertorier les recommandations. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
. Les ID de dossier et d'organisation sont numériques, tels que123456789012
. -
FORMAT
: format de la réponse. Utilisez la valeurjson
ouyaml
. -
ETAG
: identifiant d'une version de la recommandation, telle que"7caf4103d7669e12"
. Notez que cette valeur peut inclure des guillemets. -
STATE_METADATA
: facultatif. Paires clé/valeur séparées par des virgules contenant votre choix de métadonnées relatives à la recommandation. Par exemple,--state-metadata=reviewedBy=alice,priority=high
. Les métadonnées remplacent le champstateInfo.stateMetadata
de la recommandation.
Par exemple, si vous avez marqué la recommandation comme réussie, la réponse affiche la recommandation avec l'état
SUCCEEDED
. Pour plus de clarté, cet exemple omet la plupart des champs :{ "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" ] }
Pour annuler les modifications apportées à la règle d'administration de l'organisation, définissez la règle de l'organisation sur sa configuration d'origine, qui est fournie dans le champ
configuredPolicy
de l'insight associé.-
REST
Examinez les recommandations :
Pour répertorier toutes les recommandations disponibles pour votre projet, dossier ou organisation, utilisez la méthode
recommendations.list
de l'API Recommender.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
RESOURCE_TYPE
: type de ressource pour lequel vous souhaitez gérer les recommandations. Utilisez la valeurprojects
,folders
ouorganizations
.RESOURCE_ID
: ID du projet, du dossier ou de l'organisationGoogle Cloud pour lequel vous souhaitez gérer les recommandations. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
. Les ID de dossier et d'organisation sont numériques, tels que123456789012
.-
PAGE_SIZE
: facultatif. Nombre maximal de résultats à renvoyer pour cette requête. Si cette valeur n'est pas spécifiée, le serveur détermine le nombre de résultats à renvoyer. Si le nombre de recommandations est supérieur à la taille de la page, la réponse contient un jeton de pagination que vous pouvez utiliser pour récupérer la page de résultats suivante. -
PAGE_TOKEN
: facultatif. Jeton de pagination renvoyé dans une réponse précédente de cette méthode. Si spécifié, la liste de recommandations commence à la fin de la requête précédente. -
FILTER
: facultatif. Expression de filtre permettant de limiter les recommandations renvoyées. Vous pouvez filtrer les recommandations en fonction du champstateInfo.state
. Par exemple,stateInfo.state:"DISMISSED"
oustateInfo.state:"FAILED"
. PROJECT_ID
: l' Google Cloud ID de votre projet. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
.
Méthode HTTP et 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
Pour envoyer votre requête, développez l'une des options suivantes :
La réponse est semblable à l'exemple suivant. Dans cet exemple, deux ressources sont analysées pour détecter les clés de compte de service externes, et aucune infraction n'est détectée. Par conséquent, la recommandation suggère de définir
iam.managed.disableServiceAccountKeyCreation
pour éviter de futures infractions.[ { "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" ] } ]
Pour en savoir plus sur les composants d'une recommandation, consultez la section Comprendre les recommandations.
Pour appliquer une recommandation, procédez comme suit :
Définissez l'état de la recommandation sur
CLAIMED
:Pour marquer une recommandation comme
CLAIMED
, ce qui empêche sa modification lorsque vous l'appliquez, utilisez la méthoderecommendations.markClaimed
de l'API Recommender.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
RESOURCE_TYPE
: type de ressource pour lequel vous souhaitez gérer les recommandations. Utilisez la valeurprojects
,folders
ouorganizations
.RESOURCE_ID
: ID du projet, du dossier ou de l'organisationGoogle Cloud pour lequel vous souhaitez gérer les recommandations. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
. Les ID de dossier et d'organisation sont numériques, tels que123456789012
.RECOMMENDATION_ID
: identifiant unique de la recommandation. Cette valeur s'affiche à la fin du champname
de la recommandation. Par exemple, si le champname
estprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
, l'ID de la recommandation estfb927dc1-9695-4436-0000-f0f285007c0f
.ETAG
: valeur du champetag
dans la recommandation, telle que"dd0686e7136a4cbb"
. Utilisez des barres obliques inverses pour échapper les guillemets (par exemple,"\"df7308cca9719dcc\""
).STATE_METADATA
: facultatif. Objet contenant des paires clé/valeur avec les métadonnées de votre choix concernant la recommandation. Exemple :{"reviewedBy": "alice", "priority": "high"}
. Les métadonnées remplacent le champstateInfo.stateMetadata
de la recommandation.PROJECT_ID
: l' Google Cloud ID de votre projet. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
.
Méthode HTTP et URL :
POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/RECOMMENDATION_ID:markClaimed
Corps JSON de la requête :
{ "etag": "ETAG", "stateMetadata": { "STATE_METADATA" } }
Pour envoyer votre requête, développez l'une des options suivantes :
La réponse affiche la recommandation à l'état
CLAIMED
, comme illustré dans l'exemple suivant. Pour plus de clarté, cet exemple omet la plupart des champs :{ "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" ] }
Mettez à jour la règle d'administration pour le projet, le dossier ou l'organisation spécifiés par
RESOURCE_TYPE
etRESOURCE_ID
afin qu'elle reflète la recommandation.Mettez à jour l'état de la recommandation sur
SUCCEEDED
si vous avez appliqué la recommandation ou surFAILED
si vous ne pouvez pas appliquer la recommandation:SUCCEEDED
Pour marquer une recommandation comme
SUCCEEDED
, ce qui indique que vous avez pu l'appliquer, utilisez la méthoderecommendations.markSucceeded
de l'API Recommender.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
RESOURCE_TYPE
: type de ressource pour lequel vous souhaitez gérer les recommandations. Utilisez la valeurprojects
,folders
ouorganizations
.RESOURCE_ID
: ID du projet, du dossier ou de l'organisationGoogle Cloud pour lequel vous souhaitez gérer les recommandations. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
. Les ID de dossier et d'organisation sont numériques, tels que123456789012
.RECOMMENDATION_ID
: identifiant unique de la recommandation. Cette valeur s'affiche à la fin du champname
de la recommandation. Par exemple, si le champname
estprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
, l'ID de la recommandation estfb927dc1-9695-4436-0000-f0f285007c0f
.ETAG
: valeur du champetag
dans la recommandation, telle que"dd0686e7136a4cbb"
. Utilisez des barres obliques inverses pour échapper les guillemets (par exemple,"\"df7308cca9719dcc\""
).STATE_METADATA
: facultatif. Objet contenant des paires clé/valeur avec les métadonnées de votre choix concernant la recommandation. Exemple :{"reviewedBy": "alice", "priority": "high"}
. Les métadonnées remplacent le champstateInfo.stateMetadata
de la recommandation.PROJECT_ID
: l' Google Cloud ID de votre projet. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
.
Méthode HTTP et URL :
POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/RECOMMENDATION_ID:markSucceeded
Corps JSON de la requête :
{ "etag": "ETAG", "stateMetadata": { "STATE_METADATA" } }
Pour envoyer votre requête, développez l'une des options suivantes :
La réponse affiche la recommandation à l'état
SUCCEEDED
, comme illustré dans l'exemple suivant. Pour plus de clarté, cet exemple omet la plupart des champs :{ "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
Pour marquer une recommandation comme
FAILED
, ce qui indique que vous n'avez pas pu l'appliquer, utilisez la méthoderecommendations.markFailed
de l'API Recommender.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
RESOURCE_TYPE
: type de ressource pour lequel vous souhaitez gérer les recommandations. Utilisez la valeurprojects
,folders
ouorganizations
.RESOURCE_ID
: ID du projet, du dossier ou de l'organisationGoogle Cloud pour lequel vous souhaitez gérer les recommandations. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
. Les ID de dossier et d'organisation sont numériques, tels que123456789012
.RECOMMENDATION_ID
: identifiant unique de la recommandation. Cette valeur s'affiche à la fin du champname
de la recommandation. Par exemple, si le champname
estprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
, l'ID de la recommandation estfb927dc1-9695-4436-0000-f0f285007c0f
.ETAG
: valeur du champetag
dans la recommandation, telle que"dd0686e7136a4cbb"
. Utilisez des barres obliques inverses pour échapper les guillemets (par exemple,"\"df7308cca9719dcc\""
).STATE_METADATA
: facultatif. Objet contenant des paires clé/valeur avec les métadonnées de votre choix concernant la recommandation. Exemple :{"reviewedBy": "alice", "priority": "high"}
. Les métadonnées remplacent le champstateInfo.stateMetadata
de la recommandation.PROJECT_ID
: l' Google Cloud ID de votre projet. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
.
Méthode HTTP et URL :
POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/RECOMMENDATION_ID:markFailed
Corps JSON de la requête :
{ "etag": "ETAG", "stateMetadata": { "STATE_METADATA" } }
Pour envoyer votre requête, développez l'une des options suivantes :
La réponse affiche la recommandation à l'état
FAILED
, comme illustré dans l'exemple suivant. Pour plus de clarté, cet exemple omet la plupart des champs :{ "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" ] }
Comprendre les recommandations
Chaque recommandation inclut des informations pour vous aider à comprendre pourquoi elle a été émise et des suggestions de modifications à apporter à la configuration de vos règles d'administration. Voici ses principaux attributs:
description
: résumé lisible de la recommandation.recommenderSubtype
: identifiant d'un sous-type de recommandations. Chaque contrainte possède unrecommenderSubtype
unique.content
: contient les modifications recommandées apportées à votre stratégie d'organisation.overview
: informations récapitulatives sur la recommandation.constraint
: fournit des informations sur la contrainte.enforced_resources
: fournit des informations sur les ressources concernées par cette règle d'administration si vous appliquez la recommandation.operationGroups
: ensemble d'une ou plusieurs opérations sur la stratégie de l'organisation lorsque vous appliquez une recommandation.
associatedInsights
: nom de la ressource des insights qui ont conduit à cette recommandation.
Pour en savoir plus sur les attributs d'une recommandation, consultez la documentation de référence sur les recommandations.
Des insights et des recommandations sont générés pour les ressources auxquelles aucune des règles d'administration compatibles n'est appliquée, ni à aucune de ses ressources enfants. Pour afficher la configuration des règles d'administration sur laquelle cette recommandation est basée, consultez les insights sur les règles d'administration associés à la recommandation. Ces insights sont répertoriés dans le champ
associatedInsights
. Pour afficher un insight sur les règles d'administration associé à la recommandation, procédez comme suit:Identifiez les insights dans le champ
associatedInsights
qui sont des insights sur les règles d'administration de l'organisation. Les insights sur les règles d'administration de l'organisation sont de typegoogle.orgpolicy.policy.Insight
. Ce type apparaît aprèsinsightTypes
dans le champinsight
.Copiez l'ID de l'insight sur les stratégies de l'organisation. L'ID correspond à tout ce qui suit
insights/
dans le champinsight
. Par exemple, si le champ d'insight indiqueprojects/123456789012/locations/us/insightTypes/google.orgpolicy.policy.Insight/insights/fb927dc1-9695-4436-0000-f0f285007c0f
, l'ID de l'insight estfb927dc1-9695-4436-0000-f0f285007c0f
.Suivez les instructions pour obtenir un insight sur les règles de l'organisation en utilisant l'ID d'insight que vous avez copié.
Exporter des recommandations vers BigQuery
Pour afficher des instantanés quotidiens de toutes les recommandations pour votre organisation, y compris les recommandations concernant les règles d'administration, vous pouvez exporter vos recommandations vers BigQuery.
Pour exporter vos recommandations vers BigQuery, vous devez configurer un transfert de données à l'aide du service de transfert de données BigQuery. Pour savoir comment configurer un transfert de données, consultez Exporter des recommandations vers BigQuery.
Étape suivante
- Apprenez-en plus sur l'outil de recommandation.
- Découvrez comment utiliser les insights sur les règles d'administration.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/01/30 (UTC).