Cette page explique comment afficher, comprendre et appliquer les recommandations concernant les règles d'administration. 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.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.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 API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :
gcloud init
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .
Comprendre les recommandations de 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 règles d'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 concernant les règles d'administration :
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 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 bêta de l'outil de recommandation de règles d'administration présente les limites suivantes :
Les insights ne sont disponibles que pour les projets, les dossiers et les organisations qui comportent des recommandations.
Les recommandations ne sont faites que pour les contraintes qui ne sont pas configurées sur une ressource donnée ou sur l'une de ses ressources enfants.
Contraintes acceptées
Les recommandations ne sont disponibles que pour les contraintes de règles d'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 des recommandations concernant les règles d'administration à 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 Google Cloud projet, du dossier ou de l'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 afficher les recommandations. Voici les sous-types valides :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 d'autres cas de non-respect.[ { "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 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, tel 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 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 pu l'appliquer ou surFAILED
si vous n'avez pas pu l'appliquer :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, tel 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 rétablir les modifications apportées à la règle d'administration, définissez la règle d'administration 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, 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
: ID de votre projet Google Cloud . 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 les clés de compte de service externes, et aucune violation n'est détectée. Par conséquent, la recommandation suggère de définir
iam.managed.disableServiceAccountKeyCreation
pour éviter d'autres cas de non-respect.[ { "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 Comprendre les recommandations.
Pour appliquer une recommandation, procédez comme suit :
Définissez l'état de la recommandation sur
CLAIMED
:Pour définir l'état d'une recommandation sur
CLAIMED
, ce qui empêche la modification de la recommandation lorsque vous l'appliquez, utilisez la méthoderecommendations.markClaimed
de l'API Recommender.Avant d'utiliser les données de requête, 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
: ID de votre projet Google Cloud . 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, 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
: ID de votre projet Google Cloud . 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, 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
: ID de votre projet Google Cloud . 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, ainsi que 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 pour votre règle d'administration.overview
: informations générales condensées 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 de plusieurs opérations sur la règle d'administration lorsque vous appliquez une recommandation.
associatedInsights
: nom de 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.
Les insights et les recommandations sont générés pour les ressources sur lesquelles aucune des règles d'administration compatibles n'est définie, ni sur aucune de leurs ressources enfants. Pour afficher la configuration de la règle 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. Les insights sur les règles d'administration ont le type d'insightgoogle.orgpolicy.policy.Insight
. Ce type apparaît aprèsinsightTypes
dans le champinsight
.Copiez l'ID de l'insight sur les règles de l'organisation. L'ID correspond à tout ce qui suit
insights/
dans le champinsight
. Par exemple, si le champ "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 d'administration en utilisant l'ID d'insight que vous avez copié.
Exporter des recommandations vers BigQuery
Pour afficher les instantanés quotidiens de toutes les recommandations pour votre organisation, y compris les recommandations concernant les règles de l'organisation, 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.
Étapes suivantes
- 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/09/22 (UTC).