Afficher les autorisations dans Privileged Access Manager

Vous pouvez consulter l'état et l'historique d'une autorisation, ou révoquer une autorisation pour d'autres comptes principaux si elle est active. L'historique des subventions est disponible pendant 30 jours après la fin d'une subvention.

Avant de commencer

Assurez-vous d'avoir activé Privileged Access Manager et configuré les autorisations correspondantes.

Afficher les autorisations à l'aide de la console Google Cloud

Pour afficher une subvention, procédez comme suit :

  1. Accédez à la page Gestionnaire d'accès privilégié.

    Accéder à Privileged Access Manager

  2. Sélectionnez l'organisation, le dossier ou le projet dans lequel vous souhaitez afficher les subventions.

  3. Cliquez sur l'onglet Attributions, puis sur Attributions pour tous les utilisateurs. Cet onglet contient toutes les subventions, les demandeurs de ces subventions et l'état des subventions. Les attributions peuvent avoir les états suivants :

    État Description
    Activation L'attribution est en cours d'activation.
    échec de l'activation Privileged Access Manager n'a pas pu accorder les rôles en raison d'une erreur non récupérable.
    Active L'attribution est active et l'utilisateur principal a accès aux ressources autorisées par les rôles.
    En attente d'approbation La demande d'attribution est en attente d'une décision d'un approbateur.
    Refusé La demande d'attribution a été refusée par un approbateur.
    Terminé L'attribution a pris fin et les rôles ont été supprimés du compte principal.
    Expiré La demande d'attribution a expiré, car elle n'a pas été approuvée dans les 24 heures.
    Révoquée L'attribution est révoquée, et le compte principal n'a plus accès aux ressources autorisées par les rôles.
    Révocation en cours... L'attribution est en cours de révocation.

    Étiquettes d'état

    En plus de ces états, les subventions peuvent comporter les libellés d'état suivants, qui indiquent des conditions spéciales :

    Modifié via IAM

    Les liaisons de stratégie IAM associées à cette autorisation ont été modifiées directement via IAM. Pour en savoir plus sur les liaisons modifiées, consultez la page IAM de la console Google Cloud. Lorsqu'une autorisation modifiée est révoquée ou expire, Privileged Access Manager ne supprime que les liaisons qu'il a créées et qui n'ont pas été modifiées via IAM.

    La modification du titre ou de l'expression de la condition IAM, ou la suppression de l'accès du demandeur au rôle accordé est considérée comme une modification externe. L'ajout ou la modification de la description de la condition IAM ne sont pas considérés comme des modifications externes.

    Le gestionnaire d'accès privilégié recherche les modifications externes des autorisations toutes les cinq minutes. La prise en compte de ces modifications peut prendre jusqu'à cinq minutes. Les modifications temporaires apportées et annulées dans ce délai de cinq minutes peuvent ne pas être détectées par Privileged Access Manager.

  4. Dans le tableau, cliquez sur Autres options sur la ligne correspondant au droit d'accès que vous souhaitez inspecter.

    • Pour afficher les détails de la subvention, y compris son historique, cliquez sur Afficher les détails. Vous pouvez également révoquer une autorisation depuis ce panneau.

    • Pour révoquer une autorisation active, cliquez sur Révoquer l'autorisation.

Vous pouvez également afficher les rôles accordés temporairement sur la page IAM de la console Google Cloud. Dans l'onglet Afficher par comptes principaux, les rôles accordés temporairement ont la condition Créé par : PAM.

Afficher les autorisations de manière programmatique

Pour afficher les attributions de manière programmatique, vous pouvez les rechercher, les lister et les obtenir.

Autorisations de recherche

gcloud

La commande gcloud beta pam grants search recherche une autorisation que vous avez créée, que vous pouvez approuver ou refuser, ou que vous avez déjà approuvée ou refusée. Cette méthode ne nécessite pas d'autorisations spécifiques de Privileged Access Manager.

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • ENTITLEMENT_ID : ID du droit d'accès auquel l'attribution appartient. Vous pouvez récupérer l'ID en consultant les droits d'accès.
  • CALLER_RELATIONSHIP_TYPE: Utilisez l'une des valeurs suivantes :

    • had-created : renvoie les autorisations créées par l'appelant.
    • had-approved : renvoie les autorisations que l'appelant a approuvées ou refusées.
    • can-approve : renvoie les autorisations que l'appelant peut approuver ou refuser.
  • RESOURCE_TYPE : facultatif. Type de ressource auquel le droit d'accès appartient. Utilisez la valeur organization, folder ou project.
  • RESOURCE_ID : utilisé avec RESOURCE_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 que my-project. Les ID de dossier et d'organisation sont des valeurs numériques, telles que 123456789012.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud beta pam grants search \
    --entitlement=ENTITLEMENT_ID \
    --caller-relationship=CALLER_RELATIONSHIP_TYPE \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud beta pam grants search `
    --entitlement=ENTITLEMENT_ID `
    --caller-relationship=CALLER_RELATIONSHIP_TYPE `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud beta pam grants search ^
    --entitlement=ENTITLEMENT_ID ^
    --caller-relationship=CALLER_RELATIONSHIP_TYPE ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

Vous devriez obtenir un résultat semblable à celui-ci :

additionalEmailRecipients:
- bola@example.com
createTime: '2024-03-07T00:34:32.557017289Z'
justification:
  unstructuredJustification: Renaming a file to mitigate issue #312
name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID
privilegedAccess:
  gcpIamAccess:
    resource: //cloudresourcemanager.googleapis.com/projects/my-project
    resourceType: cloudresourcemanager.googleapis.com/Project
    roleBindings:
    - role: roles/storage.admin
requestedDuration: 3600s
requester: cruz@example.com
state: DENIED
timeline:
  events:
  - eventTime: '2024-03-07T00:34:32.793769042Z'
    requested:
      expireTime: '2024-03-08T00:34:32.793769042Z'
  - denied:
      actor: alex@example.com
      reason: Issue has already been resolved
    eventTime: '2024-03-07T00:36:08.309116203Z'
updateTime: '2024-03-07T00:34:32.926967128Z'

REST

La méthode searchGrants de l'API Privileged Access Manager recherche une autorisation que vous avez créée, que vous pouvez approuver ou refuser, ou que vous avez déjà approuvée ou refusée. Cette méthode ne nécessite pas d'autorisations spécifiques de Privileged Access Manager.

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 format organizations/ORGANIZATION_ID, folders/FOLDER_ID ou projects/PROJECT_ID. Les ID de projet sont des chaînes alphanumériques, telles que my-project. Les ID de dossier et d'organisation sont des valeurs numériques, telles que 123456789012.
  • ENTITLEMENT_ID : ID du droit d'accès auquel l'attribution appartient. Vous pouvez récupérer l'ID en consultant les droits d'accès.
  • Les valeurs RELATIONSHIP_TYPE possibles sont :
    • HAD_CREATED : renvoie les autorisations créées par l'appelant.
    • HAD_APPROVED : renvoie les autorisations que l'appelant a précédemment approuvées ou refusées.
    • CAN_APPROVE : renvoie les autorisations que l'appelant peut approuver ou refuser.
  • FILTER : facultatif. Renvoie les subventions 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 démarrer 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/ENTITLEMENT_ID/grants:search?callerRelationship=RELATIONSHIP_TYPE&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 :

{
  "grants": [
    {
      "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID",
      "createTime": "2024-03-06T03:08:49.330577625Z",
      "updateTime": "2024-03-06T03:08:49.625874598Z",
      "requester": "alex@example.com",
      "requestedDuration": "3600s",
      "justification": {
        "unstructuredJustification": "Emergency service for outage"
      },
      "state": "APPROVAL_AWAITED",
      "timeline": {
        "events": [
          {
            "eventTime": "2024-03-06T03:08:49.462765846Z",
            "requested": {
              "expireTime": "2024-03-07T03:08:49.462765846Z"
            }
          }
        ]
      },
      "privilegedAccess": {
        "gcpIamAccess": {
          "resourceType": "cloudresourcemanager.googleapis.com/Project",
          "resource": "//cloudresourcemanager.googleapis.com/projects/my-project",
          "roleBindings": [
            {
              "role": "roles/storage.admin"
            }
          ]
        }
      },
      "additionalEmailRecipients": [
        "bola@google.com"
      ]
    }
  ]
}

Liste des subventions

gcloud

La commande gcloud beta pam grants list liste les attributions qui appartiennent à 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 auquel l'attribution appartient. Vous pouvez récupérer l'ID en consultant les droits d'accès.
  • RESOURCE_TYPE : facultatif. Type de ressource auquel le droit d'accès appartient. Utilisez la valeur organization, folder ou project.
  • RESOURCE_ID : utilisé avec RESOURCE_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 que my-project. Les ID de dossier et d'organisation sont des valeurs numériques, telles que 123456789012.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud beta pam grants list \
    --entitlement=ENTITLEMENT_ID \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud beta pam grants list `
    --entitlement=ENTITLEMENT_ID `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud beta pam grants list ^
    --entitlement=ENTITLEMENT_ID ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

Vous devriez obtenir un résultat semblable à celui-ci :

createTime: '2024-03-25T23:10:16.952789492Z'
justification:
  unstructuredJustification: Adding missing file for service to work properly
name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID
privilegedAccess:
  gcpIamAccess:
    resource: //cloudresourcemanager.googleapis.com/projects/my-project
    resourceType: cloudresourcemanager.googleapis.com/Project
    roleBindings:
    - role: roles/storage.admin
requestedDuration: 1800s
requester: alex@example.com
state: EXPIRED
timeline:
  events:
  - eventTime: '2024-03-25T23:10:17.155612987Z'
    requested:
      expireTime: '2024-03-26T23:10:17.155612987Z'
  - eventTime: '2024-03-26T23:10:17.279777370Z'
    expired: {}
updateTime: '2024-03-25T23:10:17.273416257Z'

REST

La méthode listGrants de l'API Privileged Access Manager liste les attributions qui appartiennent à 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 format organizations/ORGANIZATION_ID, folders/FOLDER_ID ou projects/PROJECT_ID. Les ID de projet sont des chaînes alphanumériques, telles que my-project. Les ID de dossier et d'organisation sont des valeurs numériques, telles que 123456789012.
  • ENTITLEMENT_ID : ID du droit d'accès auquel l'attribution appartient. Vous pouvez récupérer l'ID en consultant les droits d'accès.
  • FILTER : facultatif. Renvoie les subventions 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 démarrer 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/ENTITLEMENT_ID?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 :

{
  "grants": [
    {
      "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID",
      "createTime": "2024-03-06T03:08:49.330577625Z",
      "updateTime": "2024-03-06T03:08:49.625874598Z",
      "requester": "alex@example.com",
      "requestedDuration": "3600s",
      "justification": {
        "unstructuredJustification": "Emergency service for outage"
      },
      "state": "APPROVAL_AWAITED",
      "timeline": {
        "events": [
          {
            "eventTime": "2024-03-06T03:08:49.462765846Z",
            "requested": {
              "expireTime": "2024-03-07T03:08:49.462765846Z"
            }
          }
        ]
      },
      "privilegedAccess": {
        "gcpIamAccess": {
          "resourceType": "cloudresourcemanager.googleapis.com/Project",
          "resource": "//cloudresourcemanager.googleapis.com/projects/my-project",
          "roleBindings": [
            {
              "role": "roles/storage.admin"
            }
          ]
        }
      },
      "additionalEmailRecipients": [
        "bola@google.com"
      ]
    }
  ]
}

Obtenir des subventions

gcloud

La commande gcloud beta pam grants describe récupère une autorisation spécifique.

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • GRANT_ID : ID de l'attribution dont vous souhaitez obtenir les détails.
  • ENTITLEMENT_ID : ID du droit d'accès auquel l'attribution appartient.
  • RESOURCE_TYPE : facultatif. Type de ressource auquel le droit d'accès appartient. Utilisez la valeur organization, folder ou project.
  • RESOURCE_ID : utilisé avec RESOURCE_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 que my-project. Les ID de dossier et d'organisation sont des valeurs numériques, telles que 123456789012.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud beta pam grants describe \
    GRANT_ID \
    --entitlement=ENTITLEMENT_ID \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud beta pam grants describe `
    GRANT_ID `
    --entitlement=ENTITLEMENT_ID `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud beta pam grants describe ^
    GRANT_ID ^
    --entitlement=ENTITLEMENT_ID ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

Vous devriez obtenir un résultat semblable à celui-ci :

createTime: '2024-03-25T23:10:16.952789492Z'
justification:
  unstructuredJustification: Adding missing file for service to work properly
name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID
privilegedAccess:
  gcpIamAccess:
    resource: //cloudresourcemanager.googleapis.com/projects/my-project
    resourceType: cloudresourcemanager.googleapis.com/Project
    roleBindings:
    - role: roles/storage.admin
requestedDuration: 1800s
requester: alex@example.com
state: EXPIRED
timeline:
  events:
  - eventTime: '2024-03-25T23:10:17.155612987Z'
    requested:
      expireTime: '2024-03-26T23:10:17.155612987Z'
  - eventTime: '2024-03-26T23:10:17.279777370Z'
    expired: {}
updateTime: '2024-03-25T23:10:17.273416257Z'

REST

La méthode getGrant de l'API Privileged Access Manager récupère une autorisation 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 format organizations/ORGANIZATION_ID, folders/FOLDER_ID ou projects/PROJECT_ID. Les ID de projet sont des chaînes alphanumériques, telles que my-project. Les ID de dossier et d'organisation sont des valeurs numériques, telles que 123456789012.
  • ENTITLEMENT_ID : ID du droit d'accès auquel l'attribution appartient.
  • GRANT_ID : ID de l'autorisation dont vous souhaitez obtenir les détails.

Méthode HTTP et URL :

GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_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/grants/GRANT_ID",
  "createTime": "2024-03-06T03:08:49.330577625Z",
  "updateTime": "2024-03-06T03:08:49.625874598Z",
  "requester": "alex@example.com",
  "requestedDuration": "3600s",
  "justification": {
    "unstructuredJustification": "Emergency service for outage"
  },
  "state": "APPROVAL_AWAITED",
  "timeline": {
    "events": [
      {
        "eventTime": "2024-03-06T03:08:49.462765846Z",
        "requested": {
          "expireTime": "2024-03-07T03:08:49.462765846Z"
        }
      }
    ]
  },
  "privilegedAccess": {
    "gcpIamAccess": {
      "resourceType": "cloudresourcemanager.googleapis.com/Project",
      "resource": "//cloudresourcemanager.googleapis.com/projects/my-project",
      "roleBindings": [
        {
          "role": "roles/storage.admin"
        }
      ]
    }
  },
  "additionalEmailRecipients": [
    "bola@google.com"
  ]
}