Cette page explique comment restaurer une version précédente d'une stratégie d'autorisation IAM après avoir apporté des modifications par inadvertance ou l'avoir supprimée accidentellement.
Pour restaurer une stratégie IAM précédente, recherchez la dernière setIamPolicy réussie avant la modification ou la suppression, puis utilisez-la pour restaurer la stratégie.
Rôles requis
Pour obtenir les autorisations nécessaires pour restaurer une ancienne règle d'autorisation, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet, le dossier ou l'organisation :
-
Restaurez les règles d'autorisation avec
setIamPolicy:-
Lecteur Logging (
roles/logging.viewer) -
Administrateur de l'organisation (
roles/resourcemanager.organizationAdmin) -
Propriétaire (
roles/owner)
-
Lecteur Logging (
-
Restaurer les stratégies d'autorisation avec l'inventaire des éléments cloud :
Propriétaire d'éléments cloud (
roles/cloudasset.owner)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Lorsque vous restaurez des stratégies d'autorisation avecsetIamPolicy, le rôle d'administrateur de l'organisation est nécessaire pour les stratégies d'autorisation au niveau de l'organisation et du dossier, et le rôle de propriétaire est nécessaire pour les stratégies d'autorisation au niveau du projet.
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Restaurer une stratégie d'autorisation avec la dernière instance setIamPolicy réussie
Pour restaurer une version précédente d'une stratégie d'autorisation, vous pouvez consulter vos journaux d'audit pour trouver la dernière instance réussie de setIamPolicy avant la modification ou la suppression, puis utiliser les informations de cette instance pour restaurer la stratégie. Ce processus comprend les étapes suivantes :
- Identifiez la dernière instance
setIamPolicyréussie pour la règle d'autorisation et récupérez leinsertId. - Utilisez
insertIdà partir de la requêtesetIamPolicypour exporter la stratégie d'autorisation au format YAML ou JSON. - Modifiez le fichier de sortie pour qu'il corresponde à la stratégie d'autorisation fonctionnelle précédente et remplacez la stratégie d'autorisation actuelle.
Identifiez la dernière instance réussie de setIamPolicy et récupérez le insertId.
Pour identifier la dernière instance réussie de setIamPolicy et récupérer le isertId, utilisez la console Google Cloud ou la gcloud CLI pour examiner vos journaux d'audit.
Console
Dans la console Google Cloud , accédez à la page Explorateur de journaux.
Dans l'éditeur de requête, saisissez l'une des requêtes suivantes. Ces requêtes recherchent dans vos journaux d'audit les entrées qui contiennent
SetIamPolicydans le champmethodNamedeprotoPayload:Pour obtenir les journaux de toutes les modifications apportées à la stratégie d'autorisation d'une ressource, utilisez la requête suivante :
logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity" protoPayload.methodName:SetIamPolicy
Pour obtenir les journaux des modifications apportées aux stratégies d'autorisation impliquant un utilisateur ou un compte de service spécifique, utilisez la requête suivante :
logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity" protoPayload.methodName:SetIamPolicy protoPayload.serviceData.policyDelta.bindingDeltas.member:"EMAIL_ADDRESS"
Remplacez les éléments suivants :
RESOURCE_TYPE: type de ressource pour lequel vous souhaitez répertorier les journaux d'audit. Les valeurs valides sontprojects,foldersouorganizations.RESOURCE_ID: ID de votre projet Google Cloud , dossier ou organisation. Les ID de projets sont alphanumériques, par exemplemy-project. Les ID de dossier et d'organisation sont numériques, tels que123456789012.EMAIL_ADDRESS: adresse e-mail de l'utilisateur ou du compte de service, par exempleexample-service-account@example-project.iam.gserviceaccount.com.
Pour exécuter la requête, cliquez sur Exécuter la requête.
Utilisez le sélecteur Période pour spécifier la période appropriée pour la requête. Vous pouvez également ajouter une expression de code temporel directement à l'éditeur de requête. Pour en savoir plus, consultez Afficher les journaux par plage de dates.
Copiez le
insertIdde la dernière instance réussie desetIamPolicyavant la modification ou la suppression.
gcloud
La commande
gcloud logging read
permet de lire les entrées de journal.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
-
RESOURCE_TYPE: type de ressource pour lequel vous souhaitez répertorier les journaux d'audit. Utilisez la valeurprojects,foldersouorganizations. -
RESOURCE_ID: ID de votre projet Google Cloud, de votre organisation ou de votre dossier. 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. -
TIME_PERIOD: période pour laquelle vous souhaitez répertorier les journaux d'audit. Les entrées renvoyées ne sont pas antérieures à cette valeur. Si elle n'est pas spécifiée, la valeur par défaut est1d. Pour en savoir plus sur les formats de date et d'heure, consultez la section gcloud topic datetimes. -
RESOURCE_TYPE_SINGULAR: type de ressource pour lequel vous souhaitez répertorier les journaux d'audit. Utilisez la valeurproject,folderouorganization.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud logging read \ 'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity AND protoPayload.methodName=SetIamPolicy' \ --freshness=TIME_PERIOD \ --RESOURCE_TYPE_SINGULAR=RESOURCE_ID
Windows (PowerShell)
gcloud logging read ` 'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity AND protoPayload.methodName=SetIamPolicy' ` --freshness=TIME_PERIOD ` --RESOURCE_TYPE_SINGULAR=RESOURCE_ID
Windows (cmd.exe)
gcloud logging read ^ 'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity AND protoPayload.methodName=SetIamPolicy' ^ --freshness=TIME_PERIOD ^ --RESOURCE_TYPE_SINGULAR=RESOURCE_ID
Copiez le insertId de la dernière instance réussie de setIamPolicy avant la modification ou la suppression.
Utilisez insertId pour exporter la stratégie d'autorisation.
Utilisez le insertId que vous avez récupéré lors de la dernière instance réussie de setIamPolicy pour exécuter la commande suivante dans gcloud CLI afin d'exporter la stratégie d'autorisation au format JSON ou YAML. Vous pouvez exporter les stratégies d'autorisation pour les organisations et les projets.
Niveau Organisation
La commande
gcloud logging read
permet de lire les entrées de journal.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
-
ORGANIZATION_ID: organisation pour laquelle vous souhaitez afficher et exporter la stratégie d'autorisation. -
INSERT_ID:insertIdde la requêtesetIamPolicy. -
FORMAT: format de la réponse. Utilisezjsonouyaml. -
TIME_PERIOD: période pour laquelle vous souhaitez répertorier les journaux d'audit. Les entrées renvoyées ne sont pas antérieures à cette valeur. Si elle n'est pas spécifiée, la valeur par défaut est1d. Pour en savoir plus sur les formats de date et d'heure, consultez la section gcloud topic datetimes. -
OUTPUT_FILE: nom de fichier et extension de la sortie. Par exemple,previous_policy.jsonouprevious_policy.yaml.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud logging read organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com insertId="INSERT_ID"' --organization=ORGANIZATION_ID --format="FORMAT(protoPayload.request.policy)" --freshness=TIME_PERIOD > OUTPUT_FILE
Windows (PowerShell)
gcloud logging read organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com insertId="INSERT_ID"' --organization=ORGANIZATION_ID --format="FORMAT(protoPayload.request.policy)" --freshness=TIME_PERIOD > OUTPUT_FILE
Windows (cmd.exe)
gcloud logging read organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com insertId="INSERT_ID"' --organization=ORGANIZATION_ID --format="FORMAT(protoPayload.request.policy)" --freshness=TIME_PERIOD > OUTPUT_FILE
Niveau Projet
La commande
gcloud logging read
permet de lire les entrées de journal.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
-
INSERT_ID:insertIdde la requêtesetIamPolicy. -
TIME_PERIOD: période pour laquelle vous souhaitez répertorier les journaux d'audit. Les entrées renvoyées ne sont pas antérieures à cette valeur. Si elle n'est pas spécifiée, la valeur par défaut est1d. Pour en savoir plus sur les formats de date et d'heure, consultez la section gcloud topic datetimes. -
FORMAT: format de la réponse. Utilisezjsonouyaml. -
OUTPUT_FILE: nom du fichier dans lequel vous souhaitez enregistrer la sortie (par exemple,previous_policy.jsonouprevious_policy.yaml).
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud logging read \ 'protoPayload.methodName="SetIamPolicy" AND insertId="INSERT_ID"' \ --freshness=TIME_PERIOD \ --format="FORMAT(protoPayload.request.policy)" > OUTPUT_FILE
Windows (PowerShell)
gcloud logging read ` 'protoPayload.methodName="SetIamPolicy" AND insertId="INSERT_ID"' ` --freshness=TIME_PERIOD ` --format="FORMAT(protoPayload.request.policy)" > OUTPUT_FILE
Windows (cmd.exe)
gcloud logging read ^ 'protoPayload.methodName="SetIamPolicy" AND insertId="INSERT_ID"' ^ --freshness=TIME_PERIOD ^ --format="FORMAT(protoPayload.request.policy)" > OUTPUT_FILE
Modifier le fichier de sortie et remplacer la stratégie d'autorisation actuelle
Modifiez le fichier de sortie comme suit et remplacez la stratégie d'autorisation actuelle.
Modifiez le fichier de sortie de manière programmatique ou à l'aide d'un éditeur de texte en supprimant les lignes suivantes :
--- protoPayload: request: policy:Le fichier obtenu commence par
auditConfigs:.Obtenez la stratégie d'autorisation actuelle.
gcloud
La commande
gcloud get-iam-policypermet d'obtenir la stratégie d'autorisation d'un projet, d'un dossier ou d'une organisation.Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
-
RESOURCE_TYPE: type de la ressource pour laquelle vous souhaitez obtenir la stratégie d'autorisation. Les valeurs valides sontprojects,resource-manager foldersouorganizations. -
RESOURCE_ID: ID de votre projet Google Cloud , dossier ou organisation. Les ID de projets sont alphanumériques, par exemplemy-project. Les ID de dossier et d'organisation sont des valeurs numériques, telles que123456789012. -
FORMAT: format souhaité pour la stratégie d'autorisation. Utilisezjsonouyaml. -
PATH: le chemin d'accès à un nouveau fichier de sortie pour la stratégie d'autorisation.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud RESOURCE_TYPE get-iam-policy RESOURCE_ID --format=FORMAT > PATH
Windows (PowerShell)
gcloud RESOURCE_TYPE get-iam-policy RESOURCE_ID --format=FORMAT > PATH
Windows (cmd.exe)
gcloud RESOURCE_TYPE get-iam-policy RESOURCE_ID --format=FORMAT > PATH
Par exemple, la commande suivante récupère la stratégie d'autorisation du projet
my-projectet l'enregistre dans votre répertoire d'accueil au format JSON :gcloud projects get-iam-policy my-project --format json > ~/policy.json
C#
Pour vous authentifier auprès de Resource Manager, configurez les identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Pour savoir comment installer et utiliser la bibliothèque cliente pour Resource Manager, consultez la page Bibliothèques clientes Resource Manager.
L'exemple suivant montre comment obtenir la stratégie d'autorisation d'un projet. Pour savoir comment obtenir la stratégie d'autorisation d'un dossier ou d'une organisation, consultez la documentation de la bibliothèque cliente Resource Manager pour votre langage de programmation.
Java
Pour vous authentifier auprès de Resource Manager, configurez les identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Pour savoir comment installer et utiliser la bibliothèque cliente pour Resource Manager, consultez la page Bibliothèques clientes Resource Manager.
L'exemple suivant montre comment obtenir la stratégie d'autorisation d'un projet. Pour savoir comment obtenir la stratégie d'autorisation d'un dossier ou d'une organisation, consultez la documentation de la bibliothèque cliente Resource Manager pour votre langage de programmation.
Python
Pour vous authentifier auprès de Resource Manager, configurez les identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Pour savoir comment installer et utiliser la bibliothèque cliente pour Resource Manager, consultez la page Bibliothèques clientes Resource Manager.
L'exemple suivant montre comment obtenir la stratégie d'autorisation d'un projet. Pour savoir comment obtenir la stratégie d'autorisation d'un dossier ou d'une organisation, consultez la documentation de la bibliothèque cliente Resource Manager pour votre langage de programmation.
REST
La méthode
get-iam-policyde l'API Resource Manager permet d'obtenir la stratégie d'autorisation d'un projet, d'un dossier ou d'une organisation.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
API_VERSION: version de l'API à utiliser. Pour les projets et les organisations, utilisezv1. Pour les dossiers, utilisezv2.RESOURCE_TYPE: type de ressource dont vous souhaitez gérer la stratégie. Utilisez la valeurprojects,foldersouorganizations.RESOURCE_ID: ID de votre projet Google Cloud, de votre organisation ou de votre dossier. 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.POLICY_VERSION: version de la stratégie à renvoyer. Les requêtes doivent spécifier la version de stratégie la plus récente, qui est la version 3. Pour plus d'informations, consultez la section Spécifier une version de stratégie lors de l'obtention d'une stratégie.
Méthode HTTP et URL :
POST https://cloudresourcemanager.googleapis.com/API_VERSION/RESOURCE_TYPE/RESOURCE_ID:getIamPolicy
Corps JSON de la requête :
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }Pour envoyer votre requête, développez l'une des options suivantes :
La réponse contient la stratégie d'autorisation de la ressource. Par exemple :
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/owner", "members": [ "user:my-user@example.com" ] } ] }Enregistrez la réponse dans un fichier du type approprié (
jsonouyaml).-
Copiez la valeur
etagde la stratégie d'autorisation actuelle.Remplacez la valeur
etagdans le fichier de sortie par la valeuretagque vous avez copiée à partir de la stratégie d'autorisation actuelle. Leetagdu fichier de résultat doit correspondre auetagactuel pour lancer une nouvelle requêtesetIamPolicy. Assurez-vous que l'espacement de l'etag n'a pas changé dans le fichier de sortie.Examinez le fichier pour vous assurer qu'il correspond à la stratégie d'autorisation fonctionnelle précédente. Vous pouvez envisager de créer un projet et d'y appliquer la règle pour vous assurer qu'elle fonctionne comme prévu.
Définissez la stratégie d'autorisation pour remplacer la stratégie d'autorisation actuelle par celle du fichier de sortie que vous avez créé.
gcloud
La commande
gcloud set-iam-policydéfinit la stratégie de la requête comme nouvelle stratégie d'autorisation pour le projet, le dossier ou l'organisation.Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
-
RESOURCE_TYPE: type de la ressource pour laquelle vous souhaitez définir la stratégie d'autorisation. Les valeurs valides sontprojects,resource-manager foldersouorganizations. -
RESOURCE_ID: ID de votre projet Google Cloud , dossier ou organisation. Les ID de projets sont alphanumériques, par exemplemy-project. Les ID de dossier et d'organisation sont des valeurs numériques, telles que123456789012. -
PATH: le chemin d'accès à un fichier contenant la nouvelle stratégie d'autorisation.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
Windows (PowerShell)
gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
Windows (cmd.exe)
gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
La réponse contient la stratégie d'autorisation mise à jour.
Par exemple, la commande suivante définit la stratégie d'autorisation stockée dans
policy.jsonen tant que stratégie d'autorisation pour le projetmy-project:gcloud projects set-iam-policy my-project ~/policy.json
C#
Java
Pour vous authentifier auprès de Resource Manager, configurez les identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Pour savoir comment installer et utiliser la bibliothèque cliente pour Resource Manager, consultez la page Bibliothèques clientes Resource Manager.
L'exemple suivant montre comment définir la stratégie d'autorisation pour un projet. Pour savoir comment définir la stratégie d'autorisation d'un dossier ou d'une organisation, consultez la documentation de la bibliothèque cliente Resource Manager pour votre langage de programmation.
Python
Pour vous authentifier auprès de Resource Manager, configurez les identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Pour savoir comment installer et utiliser la bibliothèque cliente pour Resource Manager, consultez la page Bibliothèques clientes Resource Manager.
L'exemple suivant montre comment définir la stratégie d'autorisation pour un projet. Pour savoir comment définir la stratégie d'autorisation d'un dossier ou d'une organisation, consultez la documentation de la bibliothèque cliente Resource Manager pour votre langage de programmation.
REST
La méthode
set-iam-policyde l'API Resource Manager définit la stratégie de la requête comme nouvelle stratégie d'autorisation pour le projet, le dossier ou l'organisation.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
API_VERSION: version de l'API à utiliser. Pour les projets et les organisations, utilisezv1. Pour les dossiers, utilisezv2.RESOURCE_TYPE: type de ressource dont vous souhaitez gérer la stratégie. Utilisez la valeurprojects,foldersouorganizations.RESOURCE_ID: ID de votre projet Google Cloud, de votre organisation ou de votre dossier. 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.-
POLICY: représentation JSON de la stratégie que vous souhaitez définir. Pour en savoir plus sur le format d'une stratégie, consultez la documentation de référence sur les stratégies.
Méthode HTTP et URL :
POST https://cloudresourcemanager.googleapis.com/API_VERSION/RESOURCE_TYPE/RESOURCE_ID:setIamPolicy
Corps JSON de la requête :
{ "policy": POLICY }Pour envoyer votre requête, développez l'une des options suivantes :
La réponse contient la stratégie d'autorisation mise à jour.
-
Restaurer une stratégie d'autorisation avec l'inventaire des éléments cloud
Pour restaurer une version précédente d'une stratégie d'autorisation, vous pouvez utiliser inventaire des éléments cloud pour afficher l'historique des modifications des stratégies d'autorisation de la ressource et utiliser ces informations pour restaurer la stratégie. Ce processus comprend les étapes suivantes :
- Utilisez l'inventaire des éléments cloud pour consulter l'historique des modifications des stratégies d'autorisation et identifier celle que vous souhaitez restaurer.
- Copiez la stratégie d'autorisation et créez un fichier au format JSON.
- Remplacez la stratégie d'autorisation actuelle par celle du nouveau fichier.
Examiner l'historique des modifications des stratégies d'autorisation avec inventaire des éléments cloud
Console
Dans la console Google Cloud , accédez à la page Inventaire des éléments.
Cliquez sur l'onglet Stratégie IAM.
Exécutez la requête suivante dans le champ Filtre :
Resource :
RESOURCE_IDRemplacez
RESOURCE_IDpar l'ID de votre Google Cloud projet, dossier ou organisation. Les ID de projets sont alphanumériques, par exemplemy-project. Les ID de dossier et d'organisation sont numériques, tels que123456789012.Pour afficher l'historique des modifications de la règle d'autorisation de la ressource, cliquez sur le nom de la ressource, puis sélectionnez l'onglet Historique des modifications.
Pour comparer les modifications apportées à la règle d'autorisation de la ressource, sélectionnez deux enregistrements différents avec un code temporel dans le menu Sélectionnez un enregistrement à comparer.
gcloud
La commande gcloud asset get-history permet d'obtenir l'historique mis à jour des stratégies d'autorisation sur un élément qui chevauche une période.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
-
RESOURCE_TYPE: type de ressource pour lequel vous souhaitez répertorier les journaux d'audit. Utilisez la valeurproject,folderouorganization. -
RESOURCE_ID: ID de votre projet Google Cloud, de votre organisation ou de votre dossier. 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. -
ASSET_NAME: liste de noms de ressources mis en forme, séparés par une virgule, pour les ressources dont vous souhaitez afficher l'historique des stratégies d'autorisation. Exemple ://cloudresourcemanager.googleapis.com/projects/my-projectCes ressources peuvent être n'importe quel type de ressource acceptant les stratégies d'autorisation. -
START_TIME: début de la période. 7 jours au maximum. La valeur doit être l'heure actuelle ou une heure passée (35 jours maximum). Pour en savoir plus sur les formats de date et d'heure, consultez la section gcloud topic datetimes. -
END_TIME: facultatif. Point de fin de la période. 7 jours au maximum. La valeur doit être l'heure actuelle ou une heure passée (35 jours maximum). Si aucune heure de fin n'est spécifiée, l'heure actuelle est utilisée. Pour en savoir plus sur les formats de date et d'heure, consultez la section gcloud topic datetimes.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud asset get-history \ --RESOURCE_TYPE=RESOURCE_ID \ --asset-names=ASSET_NAME_1,ASSET_NAME_2,... \ --content-type=iam-policy \ --start-time=START_TIME \ --end-time=END_TIME
Windows (PowerShell)
gcloud asset get-history ` --RESOURCE_TYPE=RESOURCE_ID ` --asset-names=ASSET_NAME_1,ASSET_NAME_2,... ` --content-type=iam-policy ` --start-time=START_TIME ` --end-time=END_TIME
Windows (cmd.exe)
gcloud asset get-history ^ --RESOURCE_TYPE=RESOURCE_ID ^ --asset-names=ASSET_NAME_1,ASSET_NAME_2,... ^ --content-type=iam-policy ^ --start-time=START_TIME ^ --end-time=END_TIME
La réponse contient l'historique mis à jour des stratégies d'autorisation.
Créer un fichier de règles d'autorisation
Après avoir examiné l'historique des stratégies d'autorisation et identifié celle que vous souhaitez restaurer, procédez comme suit.
Copiez la stratégie d'autorisation que vous souhaitez restaurer, en commençant par la ligne
"bindings"et en terminant par la ligne"etag".Collez la règle d'autorisation que vous avez copiée dans un nouveau fichier, puis placez-la entre accolades (
{}). Par exemple, la stratégie d'autorisation peut se présenter comme suit :{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-service-account@my-project.iam.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", }Enregistrez le fichier au format JSON. Par exemple, vous pouvez nommer le nouveau fichier
previous_iam_policy.json.
Définir la nouvelle stratégie d'autorisation
Définissez la stratégie d'autorisation pour remplacer la stratégie d'autorisation actuelle par celle du fichier de sortie que vous avez créé.
gcloud
La commande
gcloud set-iam-policy
définit la stratégie de la requête comme nouvelle stratégie d'autorisation pour le projet, le dossier ou l'organisation.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
-
RESOURCE_TYPE: type de la ressource pour laquelle vous souhaitez définir la stratégie d'autorisation. Les valeurs valides sontprojects,resource-manager foldersouorganizations. -
RESOURCE_ID: ID de votre projet Google Cloud , dossier ou organisation. Les ID de projets sont alphanumériques, par exemplemy-project. Les ID de dossier et d'organisation sont des valeurs numériques, telles que123456789012. -
PATH: le chemin d'accès à un fichier contenant la nouvelle stratégie d'autorisation.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
Windows (PowerShell)
gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
Windows (cmd.exe)
gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
La réponse contient la stratégie d'autorisation mise à jour.
Par exemple, la commande suivante définit la stratégie d'autorisation stockée dans policy.json en tant que stratégie d'autorisation pour le projet my-project :
gcloud projects set-iam-policy my-project ~/policy.json
C#
Java
Pour vous authentifier auprès de Resource Manager, configurez les identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Pour savoir comment installer et utiliser la bibliothèque cliente pour Resource Manager, consultez la page Bibliothèques clientes Resource Manager.
L'exemple suivant montre comment définir la stratégie d'autorisation pour un projet. Pour savoir comment définir la stratégie d'autorisation d'un dossier ou d'une organisation, consultez la documentation de la bibliothèque cliente Resource Manager pour votre langage de programmation.
Python
Pour vous authentifier auprès de Resource Manager, configurez les identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Pour savoir comment installer et utiliser la bibliothèque cliente pour Resource Manager, consultez la page Bibliothèques clientes Resource Manager.
L'exemple suivant montre comment définir la stratégie d'autorisation pour un projet. Pour savoir comment définir la stratégie d'autorisation d'un dossier ou d'une organisation, consultez la documentation de la bibliothèque cliente Resource Manager pour votre langage de programmation.
REST
La méthode set-iam-policy de l'API Resource Manager définit la stratégie de la requête comme nouvelle stratégie d'autorisation pour le projet, le dossier ou l'organisation.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
API_VERSION: version de l'API à utiliser. Pour les projets et les organisations, utilisezv1. Pour les dossiers, utilisezv2.RESOURCE_TYPE: type de ressource dont vous souhaitez gérer la stratégie. Utilisez la valeurprojects,foldersouorganizations.RESOURCE_ID: ID de votre projet Google Cloud, de votre organisation ou de votre dossier. 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.-
POLICY: représentation JSON de la stratégie que vous souhaitez définir. Pour en savoir plus sur le format d'une stratégie, consultez la documentation de référence sur les stratégies.
Méthode HTTP et URL :
POST https://cloudresourcemanager.googleapis.com/API_VERSION/RESOURCE_TYPE/RESOURCE_ID:setIamPolicy
Corps JSON de la requête :
{
"policy": POLICY
}
Pour envoyer votre requête, développez l'une des options suivantes :
La réponse contient la stratégie d'autorisation mise à jour.