Une fois que vous avez créé un droit d'accès, vous pouvez l'afficher, le mettre à jour ou le supprimer.
Avant de commencer
Assurez-vous d'avoir activé Privileged Access Manager et configuré les autorisations correspondantes.
Afficher, mettre à jour et supprimer des droits d'accès à l'aide de la console Google Cloud
Accédez à la page Privileged Access Manager.
Sélectionnez l'organisation, le dossier ou le projet dans lequel vous souhaitez gérer les droits d'accès.
Dans l'onglet Droits d'accès, cliquez sur l'onglet Droits d'accès pour tous les utilisateurs. Vous y trouverez les droits d'accès disponibles, les rôles qu'ils octroient, ainsi que les demandeurs et les approbateurs valides.
Dans le tableau, cliquez sur
Autres options sur la ligne de l'accès que vous souhaitez inspecter.Pour afficher les détails du droit d'accès, cliquez sur Afficher les détails du droit d'accès.
Pour afficher les autorisations associées au droit d'accès, cliquez sur Afficher les autorisations associées.
Pour révoquer toutes les attributions actives pour le droit d'accès, cliquez sur Révoquer toutes les attributions.
Pour supprimer le droit d'accès, cliquez sur Supprimer le droit d'accès. Vous ne pouvez pas supprimer un droit d'accès avec des autorisations actives. Vous devez d'abord révoquer les autorisations.
Pour modifier un droit d'accès, cliquez sur
Modifier le droit d'accès dans la même ligne que le droit d'accès que vous souhaitez modifier.Tenez compte des points suivants lorsque vous mettez à jour un droit d'accès:
La configuration des droits d'accès mise à jour ne s'applique qu'aux autorisations demandées après la mise à jour. Toutefois, les modifications apportées par l'approbateur s'appliquent également aux demandes d'autorisation existantes qui n'ont pas encore été approuvées ni refusées.
Lorsque vous mettez à jour un droit d'accès, vous ne pouvez pas modifier l'exigence d'approbation. Si vous devez modifier l'état d'approbation, créez plutôt un droit d'accès.
La propagation des modifications apportées aux demandeurs et aux approbateurs d'un droit d'accès peut prendre quelques minutes.
Afficher les droits d'accès de manière automatisée
Pour afficher les droits d'accès de manière programmatique, vous pouvez les rechercher, les lister, les obtenir et les exporter.
Répertorier les droits d'accès
gcloud
La commande gcloud beta pam entitlements list
liste les droits d'accès appartenant à un champ d'application spécifique.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
RESOURCE_TYPE
: facultatif. Type de ressource auquel le droit d'accès appartient. Utilisez la valeurorganization
,folder
ouproject
.RESOURCE_ID
: utilisé avecRESOURCE_TYPE
. ID du projet, du dossier ou de l'organisation Google Cloud pour lequel/laquelle vous souhaitez gérer les droits d'accès. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
. Les ID de dossier et d'organisation sont des valeurs numériques, telles que123456789012
.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud beta pam entitlements list \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam entitlements list ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta pam entitlements list ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Vous devriez obtenir un résultat semblable à celui-ci :
additionalNotificationTargets: adminEmailRecipients: - alex@example.com createTime: '2024-03-26T11:07:37.009498890Z' eligibleUsers: - principals: - user:bola@example.com etag: 00000000000000000000000000000000000000000000000000000000000= maxRequestDuration: 3600s name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID privilegedAccess: gcpIamAccess: resource: //cloudresourcemanager.googleapis.com/projects/my-project resourceType: cloudresourcemanager.googleapis.com/Project roleBindings: - role: roles/storage.admin requesterJustificationConfig: unstructured: {} state: AVAILABLE updateTime: '2024-03-26T11:07:40.056780645Z'
REST
La méthode listEntitlements
de l'API Privileged Access Manager répertorie les droits d'accès appartenant à un champ d'application spécifique.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
SCOPE
: organisation, dossier ou projet dans lequel/laquelle le droit d'accès est attribué, au formatorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
ouprojects/PROJECT_ID
. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
. Les ID de dossier et d'organisation sont des valeurs numériques, telles que123456789012
.FILTER
: facultatif. Renvoie les droits d'accès dont les valeurs de champ correspondent à une expression AIP-160.PAGE_SIZE
: facultatif. Nombre d'éléments à renvoyer dans une réponse.PAGE_TOKEN
: facultatif. Page à partir de laquelle commencer la réponse, à l'aide d'un jeton de page renvoyé dans une réponse précédente.
Méthode HTTP et URL :
GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements?filter=FILTER&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
[ { "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID", "createTime": "2023-11-21T17:28:39.962144708Z", "updateTime": "2023-11-21T17:28:43.160309410Z", "eligibleUsers": [ { "principals": [ "user:alex@example.com" ] } ], "approvalWorkflow": { "manualApprovals": { "steps": [ { "approvers": [ { "principals": [ "user:bola@example.com" ] } ], "approvalsNeeded": 1 } ] } }, "privilegedAccess": { "gcpIamAccess": { "resourceType": "cloudresourcemanager.googleapis.com/Project", "resource": "//cloudresourcemanager.googleapis.com/projects/my-project", "roleBindings": [ { "role": "roles/storage.admin" } ] } }, "maxRequestDuration": "14400s", "state": "AVAILABLE", "requesterJustificationConfig": { "unstructured": {} }, "additionalNotificationTargets": { "adminEmailRecipients": [ "alex@example.com" ] }, "etag": "00000000000000000000000000000000000000000000000000000000000=" } ]
Obtenir les droits d'accès
gcloud
La commande gcloud beta pam entitlements describe
récupère un droit d'accès spécifique.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
ENTITLEMENT_ID
: ID du droit d'accès pour lequel vous souhaitez obtenir des informations.RESOURCE_TYPE
: facultatif. Type de ressource auquel le droit d'accès appartient. Utilisez la valeurorganization
,folder
ouproject
.RESOURCE_ID
: utilisé avecRESOURCE_TYPE
. ID du projet, du dossier ou de l'organisation Google Cloud pour lequel/laquelle vous souhaitez gérer les droits d'accès. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
. Les ID de dossier et d'organisation sont des valeurs numériques, telles que123456789012
.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud beta pam entitlements describe \ ENTITLEMENT_ID \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam entitlements describe ` ENTITLEMENT_ID ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta pam entitlements describe ^ ENTITLEMENT_ID ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Vous devriez obtenir un résultat semblable à celui-ci :
additionalNotificationTargets: adminEmailRecipients: - alex@example.com createTime: '2024-03-26T11:07:37.009498890Z' eligibleUsers: - principals: - user:bola@example.com etag: 00000000000000000000000000000000000000000000000000000000000= maxRequestDuration: 3600s name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID privilegedAccess: gcpIamAccess: resource: //cloudresourcemanager.googleapis.com/projects/my-project resourceType: cloudresourcemanager.googleapis.com/Project roleBindings: - role: roles/storage.admin requesterJustificationConfig: unstructured: {} state: AVAILABLE updateTime: '2024-03-26T11:07:40.056780645Z'
REST
La méthode getEntitlement
de l'API Privileged Access Manager permet de récupérer un droit d'accès spécifique.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
SCOPE
: organisation, dossier ou projet à partir duquel obtenir le droit d'accès, au formatorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
ouprojects/PROJECT_ID
. 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
.ENTITLEMENT_ID
: ID du droit d'accès pour lequel vous souhaitez obtenir des informations.
Méthode HTTP et URL :
GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID", "createTime": "2023-11-21T17:28:39.962144708Z", "updateTime": "2023-11-21T17:28:43.160309410Z", "eligibleUsers": [ { "principals": [ "user:alex@example.com" ] } ], "approvalWorkflow": { "manualApprovals": { "steps": [ { "approvers": [ { "principals": [ "user:bola@example.com" ] } ], "approvalsNeeded": 1 } ] } }, "privilegedAccess": { "gcpIamAccess": { "resourceType": "cloudresourcemanager.googleapis.com/Project", "resource": "//cloudresourcemanager.googleapis.com/projects/my-project", "roleBindings": [ { "role": "roles/storage.admin" } ] } }, "maxRequestDuration": "14400s", "state": "AVAILABLE", "requesterJustificationConfig": { "unstructured": {} }, "additionalNotificationTargets": { "adminEmailRecipients": [ "alex@example.com" ] }, "etag": "00000000000000000000000000000000000000000000000000000000000=" }
Exporter des droits d'accès à l'aide de gcloud CLI
La commande gcloud beta pam entitlements export
exporte un droit d'accès spécifique vers un fichier YAML.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
ENTITLEMENT_ID
: ID du droit d'accès à l'exportation.FILENAME
: nom du fichier dans lequel exporter le contenu des droits d'accès.RESOURCE_TYPE
: facultatif. Type de ressource auquel le droit d'accès appartient. Utilisez la valeurorganization
,folder
ouproject
.RESOURCE_ID
: utilisé avecRESOURCE_TYPE
. ID du projet, du dossier ou de l'organisation Google Cloud pour lequel/laquelle vous souhaitez gérer les droits d'accès. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
. Les ID de dossier et d'organisation sont des valeurs numériques, telles que123456789012
.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud beta pam entitlements export \ ENTITLEMENT_ID \ --destination=FILENAME.yaml \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam entitlements export ` ENTITLEMENT_ID ` --destination=FILENAME.yaml ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta pam entitlements export ^ ENTITLEMENT_ID ^ --destination=FILENAME.yaml ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Vous devriez obtenir un résultat semblable à celui-ci :
Exported [projects/my-project/locations/global/entitlements/ENTITLEMENT_ID] to 'FILENAME.yaml'.
Mettre à jour les droits d'accès de manière programmatique
Tenez compte des points suivants lorsque vous mettez à jour un droit d'accès:
La configuration des droits d'accès mise à jour ne s'applique qu'aux autorisations demandées après la mise à jour. Toutefois, les modifications apportées par l'approbateur s'appliquent également aux demandes d'autorisation existantes qui n'ont pas encore été approuvées ni refusées.
Lorsque vous mettez à jour un droit d'accès, vous ne pouvez pas modifier l'exigence d'approbation. Si vous devez modifier l'état d'approbation, créez plutôt un droit d'accès.
La propagation des modifications apportées aux demandeurs et aux approbateurs d'un droit d'accès peut prendre quelques minutes.
gcloud
La commande gcloud beta pam entitlements update
met à jour un droit d'accès spécifique.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
ENTITLEMENT_ID
: ID du droit d'accès à mettre à jour.RESOURCE_TYPE
: facultatif. Type de ressource auquel le droit d'accès appartient. Utilisez la valeurorganization
,folder
ouproject
.RESOURCE_ID
: utilisé avecRESOURCE_TYPE
. ID du projet, du dossier ou de l'organisation Google Cloud pour lequel/laquelle vous souhaitez gérer les droits d'accès. 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
.FILENAME
: fichier contenant la configuration modifiée du droit d'accès. Pour créer ce fichier, obtenez ou exportez le droit d'accès existant, enregistrez la réponse dans un fichier YAML, puis modifiez-la pour l'utiliser comme corps de votre requête de mise à jour. Vous devez inclure l'ETAG dans le corps pour mettre à jour la dernière version du droit d'accès. Pour connaître les champs disponibles que vous pouvez modifier ou ajouter, consultez la section Créer des droits d'accès de manière programmatique.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud beta pam entitlements update \ ENTITLEMENT_ID \ --entitlement-file=FILENAME.yaml \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam entitlements update ` ENTITLEMENT_ID ` --entitlement-file=FILENAME.yaml ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta pam entitlements update ^ ENTITLEMENT_ID ^ --entitlement-file=FILENAME.yaml ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Vous devriez obtenir un résultat semblable à celui-ci :
Request issued for: [ENTITLEMENT_ID] Waiting for operation [projects/my-project/locations/global/operations/OPERATION_ID] to complete...done. Updated entitlement [ENTITLEMENT_ID]. approvalWorkflow: manualApprovals: requireApproverJustification: true steps: - approvalsNeeded: 1 approvers: - principals: - user:alex@example.com createTime: '2024-04-09T02:39:37.011866832Z' eligibleUsers: - principals: - user:bola@example.com etag: 00000000000000000000000000000000000000000000000000000000000= maxRequestDuration: 7200s name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID privilegedAccess: gcpIamAccess: resource: //cloudresourcemanager.googleapis.com/projects/my-project resourceType: cloudresourcemanager.googleapis.com/Project roleBindings: - role: roles/storage.admin requesterJustificationConfig: unstructured: {} state: AVAILABLE updateTime: '2024-04-09T02:39:40.066770306Z'
REST
La méthode updateEntitlement
de l'API Privileged Access Manager met à jour un droit d'accès spécifique.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
SCOPE
: organisation, dossier ou projet dans lequel/laquelle le droit d'accès est attribué, au formatorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
ouprojects/PROJECT_ID
. 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
.ENTITLEMENT_ID
: ID du droit d'accès à mettre à jour.-
UPDATED_FIELDS
: liste des champs mis à jour dans le droit d'accès, séparés par une virgule. Exemple :?updateMask=privilegedAccess,maxRequestDuration
Pour tous les champs pouvant être mis à jour, définissez le masque de mise à jour sur
*
. REQUEST_ID
: facultatif. Doit être un UUID non nul. Si le serveur reçoit une requête avec un ID de requête, il vérifie si une autre requête avec cet ID a déjà été traitée au cours des 60 dernières minutes. Si c'est le cas, la nouvelle requête est ignorée.request.json
: fichier contenant la configuration modifiée du droit d'accès. Pour créer ce fichier, obtenez ou exportez le droit d'accès existant, enregistrez la réponse dans un fichier nommérequest.json
, puis modifiez-la pour l'utiliser comme corps de votre requête de mise à jour. Vous devez inclure l'ETAG dans le corps pour mettre à jour la dernière version du droit d'accès. Pour connaître les champs disponibles que vous pouvez modifier ou ajouter, consultez la section Créer des droits d'accès de manière programmatique.
Méthode HTTP et URL :
PATCH https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID?updateMask=UPDATED_FIELDS&requestId=REQUEST_ID
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/my-project/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata", "createTime": "2024-03-25T01:55:02.544562950Z", "target": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID", "verb": "update", "requestedCancellation": false, "apiVersion": "v1beta" }, "done": false }
Pour vérifier la progression d'une opération de mise à jour, vous pouvez envoyer une requête GET
au point de terminaison suivant:
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations/OPERATION_ID
Envoyez une requête GET
au point de terminaison suivant pour lister toutes les opérations:
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations
Supprimer des droits d'accès de manière programmatique
gcloud
La commande gcloud beta pam entitlements delete
supprime un droit d'accès spécifique.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
ENTITLEMENT_ID
: ID du droit d'accès à supprimer.RESOURCE_TYPE
: facultatif. Type de ressource auquel le droit d'accès appartient. Utilisez la valeurorganization
,folder
ouproject
.RESOURCE_ID
: utilisé avecRESOURCE_TYPE
. ID du projet, du dossier ou de l'organisation Google Cloud pour lequel/laquelle vous souhaitez gérer les droits d'accès. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
. Les ID de dossier et d'organisation sont des valeurs numériques, telles que123456789012
.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud beta pam entitlements delete \ ENTITLEMENT_ID \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam entitlements delete ` ENTITLEMENT_ID ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta pam entitlements delete ^ ENTITLEMENT_ID ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Vous devriez obtenir un résultat semblable à celui-ci :
Delete request issued for: [ENTITLEMENT_ID] Waiting for operation [projects/my-project/locations/global/operations/OPERATION_ID] to complete...done. Deleted entitlement [ENTITLEMENT_ID].
REST
La méthode deleteEntitlement
de l'API Privileged Access Manager supprime un droit d'accès spécifique.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
SCOPE
: organisation, dossier ou projet dans lequel/laquelle le droit d'accès est attribué, au formatorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
ouprojects/PROJECT_ID
. 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
.ENTITLEMENT_ID
: ID du droit d'accès à supprimer.REQUEST_ID
: facultatif. Doit être un UUID non nul. Si le serveur reçoit une requête avec un ID de requête, il vérifie si une autre requête avec cet ID a déjà été effectuée au cours des 60 dernières minutes. Si c'est le cas, la nouvelle requête est ignorée.
Méthode HTTP et URL :
DELETE https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID?requestId=REQUEST_ID
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/my-project/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata", "createTime": "2024-03-06T02:28:28.020293460Z", "target": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1beta" }, "done": false }
Pour vérifier la progression d'une opération de suppression, vous pouvez envoyer une requête GET
au point de terminaison suivant:
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations/OPERATION_ID
Envoyez une requête GET
au point de terminaison suivant pour lister toutes les opérations:
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations