Cette page explique comment afficher, comprendre et appliquer des recommandations de rôle pour des projets, des dossiers et des organisations. Les recommandations de rôle vous aident à appliquer le principe du moindre privilège en vous assurant que les comptes principaux disposent uniquement des autorisations dont ils ont réellement besoin.
Avant de commencer
Enable the IAM and Recommender APIs.
Comprenez les recommandations de rôle.
Consultez les bonnes pratiques de recommandations de rôle.
Facultatif: Si vous souhaitez afficher et gérer les recommandations de rôles pour les rôles non de base et personnalisés, assurez-vous d'avoir activé le niveau Premium de Security Command Center au niveau de l'organisation. Pour en savoir plus, consultez la section Questions sur la facturation.
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ôle.
Afficher les recommandations
Pour obtenir les autorisations nécessaires pour afficher les recommandations de rôle, demandez à votre administrateur de vous accorder les rôles IAM suivants sur la ressource pour laquelle vous souhaitez afficher les recommandations (projet, dossier ou organisation):
-
Lecteur de rôles (
roles/iam.roleViewer
) -
Lecteur de l'outil de recommandation IAM (
roles/recommender.iamViewer
) -
Pour afficher les recommandations au niveau du projet dans la console Google Cloud :
Administrateur IAM de projet (
roles/resourcemanager.projectIamAdmin
) -
Pour afficher les recommandations au niveau du dossier dans la console Google Cloud :
Administrateur IAM du dossier (
roles/resourcemanager.folderIamAdmin
) -
Pour afficher les recommandations au niveau de l'organisation dans la console Google Cloud :
Administrateur de l'organisation (
roles/resourcemanager.organizationAdmin
)
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 afficher les recommandations de rôles. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Vous devez disposer des autorisations suivantes pour afficher les recommandations de rôles:
-
iam.roles.get
-
iam.roles.list
-
recommender.iamPolicyRecommendations.get
-
recommender.iamPolicyRecommendations.list
-
recommender.iamPolicyInsights.get
-
recommender.iamPolicyInsights.list
-
recommender.iamPolicyLateralMovementInsights.get
-
recommender.iamPolicyLateralMovementInsights.list
-
Pour afficher les recommandations dans la console Google Cloud :
resourcemanager.RESOURCE.getIamPolicy
, oùRESOURCE
est le type de ressource pour lequel vous souhaitez afficher les recommandations (projects
,folders
ouorganizations
)
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Appliquer et ignorer les recommandations
Pour obtenir les autorisations nécessaires pour afficher, appliquer et ignorer les recommandations de rôle, 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):
-
Lecteur de rôles (
roles/iam.roleViewer
) -
Administrateur de l'outil de recommandation IAM (
roles/recommender.iamAdmin
) -
Pour gérer les recommandations au niveau du projet :
Administrateur de projet IAM (
roles/resourcemanager.projectIamAdmin
) -
Pour gérer les recommandations au niveau des dossiers :
Administrateur IAM de dossier (
roles/resourcemanager.folderIamAdmin
) -
Pour gérer les recommandations au niveau de l'organisation :
Administrateur de l'organisation (
roles/resourcemanager.organizationAdmin
)
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 afficher, appliquer et ignorer les recommandations de rôle. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Vous devez disposer des autorisations suivantes pour afficher, appliquer et ignorer les recommandations de rôle:
-
iam.roles.get
-
iam.roles.list
-
recommender.iamPolicyRecommendations.get
-
recommender.iamPolicyRecommendations.list
-
recommender.iamPolicyInsights.get
-
recommender.iamPolicyInsights.list
-
recommender.iamPolicyLateralMovementInsights.get
-
recommender.iamPolicyLateralMovementInsights.list
-
recommender.iamPolicyRecommendations.update
-
resourcemanager.RESOURCE.getIamPolicy
, oùRESOURCE
est le type de ressource pour lequel vous souhaitez gérer les recommandations (projects
,folders
ouorganizations
) -
resourcemanager.RESOURCE.setIamPolicy
, oùRESOURCE
est le type de ressource pour lequel vous souhaitez gérer les recommandations (projects
,folders
ouorganizations
)
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Lire et appliquer les recommandations
La façon la plus simple d'examiner et d'appliquer vos recommandations consiste à utiliser Google Cloud Console. En outre, si vous souhaitez créer automatiquement un rôle personnalisé lorsque vous appliquez une recommandation, vous devez utiliser la console Google Cloud.
Vous pouvez également examiner et appliquer des recommandations à l'aide de Google Cloud CLI et de l'API Recommender.
Console
Dans la console Google Cloud, accédez à la page IAM.
Sélectionnez un projet, un dossier ou une organisation.
Dans la liste des comptes principaux qui ont accès à votre projet, recherchez la colonne Insights sur la sécurité.
Pour chaque rôle accordé à un compte principal, cette colonne affiche les insights liés à la sécurité. Ces insights mettent en évidence des modèles dans la manière dont vos comptes principaux accèdent aux ressources. Par exemple, certains insights mettent en évidence les autorisations en excès ou les autorisations dont un compte principal n'a pas besoin : D'autres insights mettent en évidence les comptes de service avec des fonctionnalités de mouvement latéral :
Si une recommandation est disponible pour résoudre un problème, la console Google Cloud affiche l'icône Recommandation disponible .
Si des recommandations sont à vérifier, cliquez sur l'icône Recommandation disponible pour en savoir plus sur la recommandation.
Si la recommandation consiste à remplacer le rôle, la recommandation de rôle vous présente toujours un ensemble de rôles prédéfinis que vous pouvez appliquer.
Dans certains cas, la recommandation de rôle suggère également de créer un rôle personnalisé au niveau du projet. Si une recommandation de rôle personnalisé est disponible, la console Google Cloud l'affiche par défaut. Pour passer à la recommandation de rôle prédéfini, cliquez sur Afficher le rôle prédéfini recommandé.
Lisez attentivement la recommandation et assurez-vous de bien comprendre comment elle modifiera l'accès du compte principal aux ressources Google Cloud. Sauf dans le cas des recommandations pour les agents de service, une recommandation n'augmente jamais le niveau d'accès d'un compte principal. Pour en savoir plus, consultez la section Générer des recommandations de rôle.
Pour savoir comment consulter les recommandations dans la console, consultez la section Examiner les recommandations sur cette page.
Facultatif : Si la recommandation consiste à créer un rôle personnalisé, mettez à jour les champs Titre, Description, ID et Étape de lancement du rôle si nécessaire.
Si vous devez ajouter des autorisations au rôle personnalisé, cliquez sur Ajouter des autorisations.
Si vous devez supprimer des autorisations du rôle personnalisé, décochez la case correspondant à chaque autorisation à supprimer.
Prenez les mesures qui s'imposent.
Pour appliquer la recommandation, cliquez sur Appliquer ou Créer et appliquer. Si vous changez d'avis au cours des 90 prochains jours, utilisez l'historique des recommandations pour annuler votre choix.
Pour ignorer la recommandation, cliquez sur Ignorer, puis confirmez votre choix. Vous pouvez restaurer une recommandation ignorée tant qu'elle reste valide.
Répétez les étapes précédentes jusqu'à ce que vous ayez examiné toutes vos recommandations.
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.iam.policy.Recommender \
--RESOURCE_TYPE=RESOURCE_ID \
--format=json
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'organisation Google Cloud 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
.
La réponse est semblable à l'exemple suivant. Dans cet exemple, un compte de service n'a utilisé aucune autorisation associée au rôle Administrateur de Compute (roles/compute.admin
) au cours des 90 derniers jours. Par conséquent, la recommandation de rôle suggère de révoquer le rôle :
[
{
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839"
}
],
"content": {
"operationGroups": [
{
"operations": [
{
"action": "remove",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilter": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "serviceAccount:id-1234567890@example-project.iam.gserviceaccount.com",
"/iamPolicy/bindings/*/role": "roles/compute.admin"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/example-project",
"resourceType": "cloudresourcemanager.googleapis.com/Project"
}
]
}
]
},
"description": "This role has not been used during the observation window.",
"recommenderSubtype": "REMOVE_ROLE",
"etag": "\"770237e2c0decf40\"",
"lastRefreshTime": "2020-01-09T06:06:17Z",
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 708
}
}
},
"priority": "P4",
"stateInfo": {
"state": "ACTIVE"
}
}
]
Examinez attentivement la recommandation et réfléchissez à la manière dont elle modifiera l'accès du compte principal aux ressources Google Cloud. Pour savoir comment consulter les recommandations à partir de gcloud CLI, consultez la section Examiner les recommandations sur cette page.
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.iam.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 ci-dessus, l'ID 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 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
. -
FORMAT
: format de la réponse. Utilisezjson
ouyaml
. -
ETAG
: valeur du champetag
dans la recommandation, telle que"dd0686e7136a4cbb"
. 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. 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": "This role has not been used during the observation window.", "recommenderSubtype": "REMOVE_ROLE", "etag": "\"df7308cca9719dcc\"", "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f", "stateInfo": { "state": "CLAIMED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } } } ]
-
Obtenez la stratégie d'autorisation pour le projet, puis modifiez et définissez la stratégie d'autorisation 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 ci-dessus, l'ID 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 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
. -
FORMAT
: format de la réponse. Utilisezjson
ouyaml
. -
ETAG
: valeur du champetag
dans la recommandation, telle que"dd0686e7136a4cbb"
. 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. 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": "This role has not been used during the observation window.", "recommenderSubtype": "REMOVE_ROLE", "etag": "\"dd0686e7136a4cbb\"", "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f", "stateInfo": { "state": "SUCCEEDED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } } } ]
REST
Ces instructions partent du principe que vous avez authentifié et défini la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS
.
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'organisation Google 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.iam.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, un compte de service dans le projet example-project
n'a utilisé aucune autorisation du rôle d'administrateur Compute (roles/compute.admin
) au cours des 90 derniers jours. Par conséquent, l'outil de recommandation vous suggère de révoquer le rôle :
{ "recommendations": [ "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f", "description": "This role has not been used during the observation window.", "lastRefreshTime": "2020-01-09T06:06:17Z", "primaryImpact": { "category": "SECURITY", "securityProjection": { "details": { "revokedIamPermissionsCount": 708 } } }, "priority": "P4", "content": { "operationGroups": [ { "operations": [ { "action": "remove", "path": "/iamPolicy/bindings/*/members/*", "pathFilter": { "/iamPolicy/bindings/*/condition/expression": "", "/iamPolicy/bindings/*/members/*": "serviceAccount:id-1234567890@example-project.iam.gserviceaccount.com", "/iamPolicy/bindings/*/role": "roles/compute.admin" }, "resource": "//cloudresourcemanager.googleapis.com/projects/example-project", "resourceType": "cloudresourcemanager.googleapis.com/Project" } ] } ] }, "stateInfo": { "state": "ACTIVE" } "etag": "\"770237e2c0decf40\"", "recommenderSubtype": "REMOVE_ROLE", "associatedInsights": [ { "insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839" } ] }
Examinez attentivement la recommandation et réfléchissez à la manière dont elle modifiera l'accès du compte principal aux ressources Google Cloud. Pour savoir comment consulter les recommandations à partir de l'API REST, consultez la section Examiner les recommandations sur cette page.
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'organisation Google 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.iam.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": "This role has not been used during the observation window.", "stateInfo": { "state": "CLAIMED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } }, "etag": "\"dd0686e7136a4cbb\"", "recommenderSubtype": "REMOVE_ROLE" }
Obtenez la stratégie d'autorisation pour le projet, puis modifiez la stratégie d'autorisation 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'organisation Google 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.iam.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": "This role has not been used during the observation window.", "stateInfo": { "state": "SUCCEEDED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } }, "etag": "\"dd0686e7136a4cbb\"", "recommenderSubtype": "REMOVE_ROLE" }
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'organisation Google 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.iam.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": "This role has not been used during the observation window.", "stateInfo": { "state": "FAILED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } }, "etag": "\"dd0686e7136a4cbb\"", "recommenderSubtype": "REMOVE_ROLE" }
Comprendre les recommandations
Chaque recommandation inclut des informations pour vous aider à comprendre pourquoi elle a été émise.
Console
Pour vous aider à comprendre pourquoi la recommandation a été émise, la console Google Cloud affiche l'utilisation des autorisations du compte principal, comme indiqué par l'insight sur les stratégies associé à la recommandation. Par exemple, une liste semblable à celle-ci peut s'afficher :
Pour vous aider à comprendre l'impact de l'application de la recommandation, la console Google Cloud affiche également une liste d'autorisations codées par couleur et par symbole. Cette liste indique les modifications qui seront apportées aux autorisations du compte principal si vous appliquez la recommandation. Par exemple, une liste semblable à celle-ci peut s'afficher :
Les types d'autorisations associés à chaque couleur et symbole sont les suivants :
Gris sans symbole : autorisations qui figurent à la fois dans le rôle actuel du compte principal et dans les rôles recommandés.
Rouge avec un signe moins
: autorisations qui figurent dans le rôle actuel du compte principal, mais pas dans les rôles recommandés, car le compte principal ne les a pas utilisées au cours des 90 derniers jours.Vert avec un signe plus recommandations pour les agents de service.
: autorisations qui ne figurent pas dans le rôle actuel du compte principal, mais qui appartiennent aux rôles recommandés. Ce type d'autorisation n'apparaît que dans lesBleu avec une icône Machine learning machine learning qu'il en aura probablement besoin à l'avenir.
: autorisations qui figurent à la fois dans le rôle actuel du compte principal et dans les rôles recommandés, non pas parce que le compte principal a utilisé ces autorisations au cours des 90 derniers jours, mais parce que l'outil de recommandation a déterminé par le biais du
Certaines recommandations sont également associées à des insights sur les mouvements latéraux. Les insights sur les mouvements latéraux identifient les rôles permettant à un compte de service d'un projet d'usurper l'identité d'un compte de service d'un autre projet. Si une recommandation est associée à un insight de déplacement latéral, la console Google Cloud affiche également les éléments suivants:
Projet d'origine du compte de service : projet dans lequel le compte de service avec des autorisations d'usurpation d'identité a été créé.
Comptes de service pouvant être empruntés dans ce projet : liste de tous les comptes de service du projet actuel dont le compte de service est autorisé à usurper d'identité.
gcloud
Pour en savoir plus sur les champs d'une recommandation, consultez la documentation de référence Recommendation
.
Pour afficher l'utilisation des autorisations sur laquelle cette recommandation est fondée, consultez les insights sur les stratégies associés à la recommandation.
Ces insights sont répertoriés dans le champ associatedInsights
. Pour afficher un insight de stratégie associé à la recommandation, procédez comme suit :
- Identifiez les insights dans le champ
associatedInsights
qui sont des insights sur les stratégies. Les insights sur les stratégies sont de typegoogle.iam.policy.insight
. Ce type apparaît aprèsinsightTypes
dans le champinsight
. - Copiez l'ID de l'insight sur les stratégies. L'ID d'insight correspond à tout ce qui suit
insights/
dans le champinsight
. Dans l'exemple précédent, l'ID de l'insight est279ef748-408f-44db-9a4a-1ff8865b9839
. - Suivez les instructions pour obtenir un insight sur les stratégies en utilisant l'ID d'insight que vous avez copié.
Certaines recommandations sont également associées à des insights sur les mouvements latéraux, qui identifient les rôles permettant aux comptes de service d'un projet d'emprunter l'identité des comptes de service d'un autre projet. Ces insights sont aussi répertoriés dans le champ associatedInsights
. Pour afficher un insight sur les mouvements latéraux associé à la recommandation, procédez comme suit :
- Identifiez les insights dans le champ
associatedInsights
qui sont des insights sur les mouvements latéraux. Les insights sur les mouvements latéraux ont le type d'insightgoogle.iam.policy.LateralMovementInsight
. Ce type apparaît aprèsinsightTypes
dans le champinsight
. - Copiez l'ID de l'insight sur les stratégies. L'ID d'insight correspond à tout ce qui suit
insights/
dans le champinsight
. Dans l'exemple précédent, l'ID de l'insight est279ef748-408f-44db-9a4a-1ff8865b9839
. - Suivez les instructions pour obtenir un insight sur les mouvements latéraux en utilisant l'ID d'insight que vous avez copié.
REST
Pour en savoir plus sur les champs d'une recommandation, consultez la documentation de référence Recommendation
.
Pour afficher l'utilisation des autorisations sur laquelle cette recommandation est fondée, consultez les insights sur les stratégies associés à la recommandation.
Ces insights sont répertoriés dans le champ associatedInsights
. Pour afficher un insight de stratégie associé à la recommandation, procédez comme suit :
- Identifiez les insights dans le champ
associatedInsights
qui sont des insights sur les stratégies. Les insights sur les stratégies sont de typegoogle.iam.policy.insight
. Ce type apparaît aprèsinsightTypes
dans le champinsight
. - Copiez l'ID de l'insight sur les stratégies. L'ID d'insight correspond à tout ce qui suit
insights/
dans le champinsight
. Par exemple, si le champinsight
indiqueprojects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839
, l'ID de l'insight est279ef748-408f-44db-9a4a-1ff8865b9839
. - Suivez les instructions pour obtenir un insight sur les stratégies en utilisant l'ID d'insight que vous avez copié.
Certaines recommandations sont également associées à des insights sur les mouvements latéraux, qui identifient les rôles permettant aux comptes de service d'un projet d'emprunter l'identité des comptes de service d'un autre projet. Ces insights sont aussi répertoriés dans le champ associatedInsights
. Pour afficher un insight sur les mouvements latéraux associé à la recommandation, procédez comme suit :
- Identifiez les insights dans le champ
associatedInsights
qui sont des insights sur les mouvements latéraux. Les insights sur les mouvements latéraux ont le type d'insightgoogle.iam.policy.LateralMovementInsight
. Ce type apparaît aprèsinsightTypes
dans le champinsight
. - Copiez l'ID de l'insight sur les stratégies. L'ID d'insight correspond à tout ce qui suit
insights/
dans le champinsight
. Par exemple, si le champinsight
indiqueprojects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860
, l'ID de l'insight est13088eec-9573-415f-81a7-46e1a260e860
. - Suivez les instructions pour obtenir un insight sur les mouvements latéraux en utilisant l'ID d'insight que vous avez copié.
Afficher, annuler et restaurer des modifications
Une fois que vous avez appliqué ou ignoré une recommandation pour une liaison de rôle au niveau du projet, cette action apparaît dans l'historique des recommandations.
Pour afficher l'historique des recommandations, procédez comme suit :
Dans la console Google Cloud, accédez à la page IAM.
Sélectionnez un projet, un dossier ou une organisation.
En haut de l'écran, cliquez sur Historique des recommandations.
La console Google Cloud affiche une liste des actions précédentes sur vos recommandations de rôles.
Pour afficher les détails d'une recommandation, cliquez sur la flèche de développement
.La console Google Cloud affiche les détails de l'action effectuée, y compris concernant le compte principal ayant effectué l'action:
(Facultatif) Si nécessaire, vous pouvez rétablir la recommandation, ce qui annule les modifications effectuées au sein de la recommandation, ou restaurer une recommandation que vous avez ignorée.
Pour annuler une modification précédemment appliquée sur une recommandation, cliquez sur Rétablir. La console Google Cloud rétablit les modifications apportées aux rôles du compte principal. La recommandation n'apparaît plus dans la console Google Cloud.
Pour restaurer une recommandation qui a été ignorée, cliquez sur Restaurer. La recommandation devient visible sur la page IAM de la console Google Cloud. Aucun rôle ni aucune autorisation n'a été modifié.
Étape suivante
- Apprenez-en plus sur l'outil de recommandation.
- Apprenez à utiliser les insights sur les stratégies d'autorisation.
- Découvrez comment utiliser les insights sur les mouvements latéraux.