Créer des droits d'accès dans Privileged Access Manager

Vous pouvez créer des droits d'accès pour accorder une élévation temporaire des droits à un ensemble spécifique de comptes principaux. Lorsque vous créez des droits d'accès, tenez compte des points suivants :

  • Vous pouvez créer des droits d'accès au niveau de l'organisation, du dossier ou du projet. Les rôles accordés par un droit d'accès à chaque niveau suivent la Cloud de Confiance by S3NS hiérarchie des ressources. Par exemple, les rôles accordés par un droit d'accès au niveau de l'organisation sont hérités au niveau des dossiers et des projets.

  • Si le niveau Premium ou Enterprise de Security Command Center est activé au niveau de l'organisation, vous pouvez exiger plusieurs niveaux d'approbation par droit d'accès, ce qui permet d'avoir jusqu'à deux niveaux d'approbation séquentiels pour chaque droit d'accès. Vous pouvez exiger jusqu'à cinq approbations par niveau.

    Une fois le nombre requis d'approbations de premier niveau reçu, des notifications par e-mail sont envoyées aux approbateurs de deuxième niveau. Une fois le nombre requis d'approbations de deuxième niveau reçu, l'accès passe à l'état active. Si un approbateur refuse l'accès, la demande passe à l'état denied et n'est pas envoyée à d'autres approbateurs.

    Cette fonctionnalité est disponible en version preview.

  • Si les comptes de service sont autorisés à approuver les attributions pour cette ressource, vous pouvez ajouter des comptes de service et des identités de pool de charges de travail en tant qu'approbateurs. Pour savoir comment activer ce paramètre, consultez Configurer les paramètres de Privileged Access Manager.

    Cette fonctionnalité est disponible en version preview.

  • Si vous ajoutez un groupe en tant que demandeur à un droit d'accès, tous les comptes individuels de ce groupe peuvent demander une autorisation pour ce droit d'accès. Toutefois, seul le compte individuel qui demande l'accès peut bénéficier de privilèges élevés.

  • Si vous ajoutez un groupe en tant qu'approbateur à un droit d'accès, tous les comptes individuels de ce groupe peuvent approuver ou refuser une demande d'accès.

  • Les rôles de base (administrateur, rédacteur et lecteur) sont acceptés, mais pas les anciens rôles de base (propriétaire, éditeur et lecteur).

  • N'incluez pas les rôles d'agent de service dans les droits d'accès.

    Certains rôles d'agents de service contiennent des autorisations très puissantes, qui peuvent être modifiées sans préavis. Choisissez plutôt un autre rôle prédéfini ou créez un rôle personnalisé avec les autorisations dont vous avez besoin.

Avant de commencer

Pour obtenir les autorisations nécessaires pour créer des droits d'accès, demandez à votre administrateur de vous accorder les rôles IAM suivants sur l'organisation, le dossier ou le projet pour lesquels vous souhaitez créer des droits d'accès :

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ces rôles prédéfinis contiennent les autorisations requises pour créer des droits d'accès. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer des droits d'accès :

  • Pour créer des droits d'accès et des octrois d'autorisations pour une organisation :
    • resourcemanager.organizations.get
    • resourcemanager.organizations.setIamPolicy
    • privilegedaccessmanager.entitlements.create
  • Pour créer des droits d'accès et des octrois d'autorisations pour un dossier :
    • resourcemanager.folders.get
    • resourcemanager.folders.setIamPolicy
    • privilegedaccessmanager.entitlements.create
  • Pour créer des droits d'accès et des octrois d'autorisations pour un projet :
    • resourcemanager.projects.get
    • resourcemanager.projects.setIamPolicy
    • privilegedaccessmanager.entitlements.create

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Créer des droits d'accès

Console

  1. Accédez à la page Privileged Access Manager.

    Accéder à Privileged Access Manager

  2. Sélectionnez l'organisation, le dossier ou le projet auxquels vous souhaitez appliquer le droit d'accès.

  3. Cliquez sur l'onglet Droits d'accès.

  4. Cliquez sur Créer.

  5. Dans la section Détails des droits d'accès, saisissez les informations suivantes :

    • Nom d'un droit d'accès. Un nom de droit d'accès peut comporter entre 4 et 63 caractères. Il doit commencer par une lettre minuscule et ne peut contenir que des lettres minuscules, des chiffres et des traits d'union.

    • Jusqu'à 30 rôles peuvent être attribués à l'organisation, au dossier ou au projet.

      Vous pouvez également ajouter des conditions IAM à ces rôles de la même manière que vous ajoutez des conditions aux liaisons de rôle de stratégie d'autorisation. Toutefois, dans les droits d'accès Privileged Access Manager, l'utilisation de conditions qui vérifient les tags d'une ressource est en version Preview.

    • Durée maximale d'une autorisation. La durée maximale que vous pouvez définir pour un droit d'accès est de sept jours.

  6. Cliquez sur Suivant.

  7. Dans la section Ajouter des demandeurs, saisissez jusqu'à 20 comptes principaux de demandeur valides pour le droit d'accès.

    Tous les types de comptes principaux sont acceptés, à l'exception de allUsers et allAuthenticatedUsers. Vous pouvez ajouter plus de 20 identités en les ajoutant à un groupe et en listant le groupe dans le droit d'accès.

  8. Indiquez si les comptes principaux doivent fournir une justification pour la demande d'autorisation.

  9. Saisissez les adresses e-mail supplémentaires des utilisateurs à prévenir lorsqu'un droit d'accès peut être demandé.

    Les identités Google associées au droit d'accès, comme les approbateurs et les demandeurs, sont automatiquement notifiées. Toutefois, si vous souhaitez notifier d'autres personnes, vous pouvez ajouter leur adresse e-mail. Cela est particulièrement utile si vous utilisez des identités de personnel au lieu de comptes Google.

  10. Cliquez sur Suivant.

  11. Dans la section Ajouter des approbateurs, effectuez l'une des opérations suivantes :

    • Pour autoriser l'attribution de rôles sans approbation, sélectionnez Activer l'accès sans approbations.

    • Pour rendre les approbations obligatoires :

      1. Facultatif : Pour demander aux approbateurs de fournir une justification lorsqu'ils approuvent des demandes, sélectionnez Justification exigée de la part des approbateurs.
      2. Saisissez les informations de l'approbateur de premier niveau :

        • Liste des approbateurs pour le droit d'accès

          Vous pouvez ajouter l'un des types de comptes principaux suivants en tant qu'approbateurs :

          • Comptes Google

          • Groupes Google

          • Domaines Google Workspace

          • Identifiants de pool d'employés

          • Identifiants de pool de charges de travail

          • Comptes de service

            Les comptes de service et les identifiants de pool de charges de travail ne sont disponibles que si les comptes de service sont autorisés à approuver les autorisations pour cette ressource. Pour en savoir plus, consultez Configurer les paramètres du gestionnaire d'accès privilégié.

        • Nombre d'approbations requis

          Si vous avez ajouté un groupe en tant qu'approbateur, assurez-vous que le nombre d'approbations requises est inférieur ou égal au nombre de principaux du groupe. Sinon, les droits d'accès resteront bloqués indéfiniment à l'état approval awaited.

        • Adresses e-mail des approbateurs pour les notifications

      3. Facultatif : Ajoutez les informations sur l'approbateur de deuxième niveau :

        • Liste des approbateurs pour le droit d'accès

          Vous pouvez ajouter l'un des types de comptes principaux suivants en tant qu'approbateurs :

          • Comptes Google

          • Groupes Google

          • Domaines Google Workspace

          • Identifiants de pool d'employés

          • Identifiants de pool de charges de travail

          • Comptes de service

            Les comptes de service et les identifiants de pool de charges de travail ne sont disponibles que si les comptes de service sont autorisés à approuver les autorisations pour cette ressource. Pour en savoir plus, consultez Configurer les paramètres du gestionnaire d'accès privilégié.

        • Nombre d'approbations requis

          Si vous avez ajouté un groupe en tant qu'approbateur, assurez-vous que le nombre d'approbations requises est inférieur ou égal au nombre de principaux du groupe. Sinon, les droits d'accès resteront bloqués indéfiniment à l'état approval awaited.

        • Adresses e-mail des approbateurs pour les notifications

    Vous pouvez ajouter jusqu'à 20 comptes principaux (identités ou groupes) approbateurs par approbation. Si vous souhaitez ajouter plus de 20 approbateurs, vous pouvez les ajouter à un groupe et lister le groupe comme approbateur pour le droit d'accès.

  12. Cliquez sur Suivant.

  13. Cliquez sur Créer un droit d'accès.

La propagation des droits d'accès nouvellement créés peut prendre quelques minutes avant qu'ils ne soient prêts à l'emploi.

gcloud

La commande gcloud alpha pam entitlements create crée un droit d'accès au niveau de l'organisation, du dossier ou du projet.

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

  • ENTITLEMENT_ID : ID du droit d'accès à créer. Un ID doit comporter entre 4 et 63 caractères et utiliser les caractères suivants :[a-z0-9-]. Le premier caractère doit être une lettre
  • RESOURCE_TYPE : facultatif. Type de ressource auquel appartient le droit d'accès. Utilisez la valeur organization, folder ou project.
  • RESOURCE_ID : utilisé avec RESOURCE_TYPE. ID de l'organisation, du dossier ou du projet Cloud de Confiance 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 numériques, tels que 123456789012.
  • RESOURCE_MANAGER_RESOURCE_TYPE : Organization, Folder ou Project, selon le champ d'application.
  • ROLE : rôles à attribuer lorsqu'un droit d'accès est accordé.
  • MAXIMUM_GRANT_DURATION : durée maximale pour laquelle une autorisation peut être demandée, en secondes. La plage acceptée est comprise entre 30 minutes (1 800) et 168 heures (604 800).
  • REQUESTING_MEMBER : comptes principaux pouvant demander l'octroi du droit d'accès. Tous les types de principaux sont acceptés, à l'exception de allUsers et allAuthenticatedUsers.

  • APPROVING_MEMBER : comptes principaux pouvant approuver la demande de droit d'accès. Les types de principaux valides sont les suivants :

  • APPROVALS_NEEDED : nombre d'approbateurs requis pour approuver la demande d'accès.

    Si vous avez ajouté un groupe en tant qu'approbateur, assurez-vous que le nombre d'approbations requises est inférieur ou égal au nombre de principaux du groupe. Sinon, les subventions resteront bloquées indéfiniment à l'état approval awaited.

  • APPROVER_EMAIL_ADDRESSES : facultatif. Adresses e-mail supplémentaires à notifier lorsqu'une autorisation d'accès a été demandée. Les identités Google associées aux approbateurs d'attribution sont automatiquement notifiées. Toutefois, vous pouvez choisir d'envoyer des notifications à un autre ensemble d'adresses e-mail, en particulier si vous utilisez la fédération d'identité de personnel.
  • ADMIN_EMAIL_ADDRESS : facultatif. Adresses e-mail supplémentaires à notifier lorsqu'un demandeur obtient l'accès. Les identités Google associées aux approbateurs d'attribution sont automatiquement notifiées. Toutefois, vous pouvez choisir d'envoyer des notifications à un autre ensemble d'adresses e-mail, en particulier si vous utilisez la fédération d'identité de personnel.
  • REQUESTER_EMAIL_ADDRESS : facultatif. Adresses e-mail supplémentaires à notifier lorsque ce droit d'accès peut être demandé. Les identités Google associées aux demandeurs d'attribution sont automatiquement notifiées. Toutefois, vous pouvez choisir d'envoyer des notifications à un autre ensemble d'adresses e-mail, en particulier si vous utilisez la fédération d'identité de personnel.
  • CONDITION_EXPRESSION : facultatif. L'expression de condition qui spécifie quand le compte principal peut utiliser les autorisations du rôle. Cette condition ne s'applique que lorsque l'autorisation est active.

Enregistrez le code suivant dans un fichier nommé entitlement.yaml :

privilegedAccess:
  gcpIamAccess:
    resourceType: cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE
    resource: //cloudresourcemanager.googleapis.com/RESOURCE_ID
    roleBindings:
    - role: ROLE_1
      conditionExpression: CONDITION_EXPRESSION_1
    - role: ROLE_2
      conditionExpression: CONDITION_EXPRESSION_2
maxRequestDuration: MAXIMUM_GRANT_DURATION
eligibleUsers:
- principals:
  - REQUESTING_MEMBER_1
  - REQUESTING_MEMBER_2
approvalWorkflow:
  manualApprovals:
    requireApproverJustification: true
    steps:
    - approvalsNeeded: APPROVALS_NEEDED_1
      approverEmailRecipients:
      - APPROVER_EMAIL_ADDRESSES_1
      - APPROVER_EMAIL_ADDRESSES_2
      approvers:
      - principals:
       - APPROVING_MEMBER_1
       - APPROVING_MEMBER_2
    - approvalsNeeded: APPROVALS_NEEDED_2
      approverEmailRecipients:
       - APPROVER_EMAIL_ADDRESSES_3
       - APPROVER_EMAIL_ADDRESSES_4
      approvers:
      - principals:
        - APPROVING_MEMBER_3
        - APPROVING_MEMBER_4
requesterJustificationConfig:
  unstructured: {}
additionalNotificationTargets:
  adminEmailRecipients:
  - ADMIN_EMAIL_ADDRESS_1
  - ADMIN_EMAIL_ADDRESS_2
  requesterEmailRecipients:
  - REQUESTER_EMAIL_ADDRESS_1
  - REQUESTER_EMAIL_ADDRESS_2

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud alpha pam entitlements create \
    ENTITLEMENT_ID \
    --entitlement-file=entitlement.yaml \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud alpha pam entitlements create `
    ENTITLEMENT_ID `
    --entitlement-file=entitlement.yaml `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud alpha pam entitlements create ^
    ENTITLEMENT_ID ^
    --entitlement-file=entitlement.yaml ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

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

Create request issued for: [ENTITLEMENT_ID]
Waiting for operation [projects/PROJECT_ID/locations/global/operations/OPERATION_ID] to complete...done.
Created entitlement [ENTITLEMENT_ID].
additionalNotificationTargets: {}
approvalWorkflow:
  manualApprovals:
    requireApproverJustification: true
    steps:
    - id: step-1
      approvalsNeeded: 3
      approvers:
      - principals:
        - user:alex@example.com
        - group:dev-team@example.com
    - id: step-2
      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/RESOURCE_TYPE/RESOURCE_ID
      resourceType: cloudresourcemanager.googleapis.com/Project
      roleBindings:
      - role: roles/storage.admin
        id: hwarq_1
        conditionExpression: "request.time.getHours() >= 8"
  requesterJustificationConfig:
    unstructured: {}
  state: AVAILABLE
L'activation des droits d'accès nouvellement créés peut prendre quelques minutes.

REST

La méthode createEntitlement de l'API Privileged Access Manager crée un droit d'accès au niveau de l'organisation, du dossier ou du projet.

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 à créer. Un ID doit comporter entre 4 et 63 caractères et utiliser les caractères suivants :[a-z0-9-]. Le premier caractère doit être une lettre
  • RESOURCE_MANAGER_RESOURCE_TYPE : Organization, Folder ou Project, selon le champ d'application.
  • ROLE : rôles à attribuer lorsqu'un droit d'accès est accordé.
  • MAXIMUM_GRANT_DURATION : durée maximale pour laquelle une autorisation peut être demandée, en secondes. La plage acceptée est comprise entre 30 minutes (1 800) et 168 heures (604 800).
  • REQUESTING_MEMBER : comptes principaux pouvant demander l'octroi du droit d'accès. Tous les types de principaux sont acceptés, à l'exception de allUsers et allAuthenticatedUsers.

  • APPROVING_MEMBER : comptes principaux pouvant approuver la demande de droit d'accès. Les types de principaux valides sont les suivants :

  • APPROVALS_NEEDED : nombre d'approbateurs requis pour approuver la demande d'accès.

    Si vous avez ajouté un groupe en tant qu'approbateur, assurez-vous que le nombre d'approbations requises est inférieur ou égal au nombre de principaux du groupe. Sinon, les subventions resteront bloquées indéfiniment à l'état approval awaited.

  • APPROVER_EMAIL_ADDRESSES : facultatif. Adresses e-mail supplémentaires à notifier lorsqu'une autorisation d'accès a été demandée. Les identités Google associées aux approbateurs d'attribution sont automatiquement notifiées. Toutefois, vous pouvez choisir d'envoyer des notifications à un autre ensemble d'adresses e-mail, en particulier si vous utilisez la fédération d'identité de personnel.
  • ADMIN_EMAIL_ADDRESS : facultatif. Adresses e-mail supplémentaires à notifier lorsqu'un demandeur obtient l'accès. Les identités Google associées aux approbateurs d'attribution sont automatiquement notifiées. Toutefois, vous pouvez choisir d'envoyer des notifications à un autre ensemble d'adresses e-mail, en particulier si vous utilisez la fédération d'identité de personnel.
  • REQUESTER_EMAIL_ADDRESS : facultatif. Adresses e-mail supplémentaires à notifier lorsque ce droit d'accès peut être demandé. Les identités Google associées aux demandeurs d'attribution sont automatiquement notifiées. Toutefois, vous pouvez choisir d'envoyer des notifications à un autre ensemble d'adresses e-mail, en particulier si vous utilisez la fédération d'identité de personnel.
  • CONDITION_EXPRESSION : facultatif. L'expression de condition qui spécifie quand le compte principal peut utiliser les autorisations du rôle. Cette condition ne s'applique que lorsque l'autorisation est active.

Méthode HTTP et URL :

POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements?entitlementId=ENTITLEMENT_ID

Corps JSON de la requête :

{
  "privilegedAccess": {
    "gcpIamAccess": {
      "resourceType": "cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE",
      "resource": "//cloudresourcemanager.googleapis.com/SCOPE",
      "roleBindings": [
        {
          "role": "ROLE_1",
          "conditionExpression": "CONDITION_EXPRESSION_1",
        },
        {
          "role": "ROLE_2",
          "conditionExpression": "CONDITION_EXPRESSION_2",
        },
      ]
    }
  },
  "maxRequestDuration": "MAXIMUM_GRANT_DURATION",
  "eligibleUsers": [
    {
      "principals": [
        "REQUESTING_MEMBER_1",
        "REQUESTING_MEMBER_2",
        ...
      ]
    }
  ],
  "approvalWorkflow": {
    "manualApprovals": {
      "requireApproverJustification": true,
      "steps": [
        {
          "approvers": [
            {
              "principals": [
                "APPROVING_MEMBER_1",
                "APPROVING_MEMBER_2",
              ]
            }
          ],
          "approvalsNeeded": APPROVALS_NEEDED_1,
          "approverEmailRecipients": [
            "APPROVER_EMAIL_ADDRESSES_1",
            "APPROVER_EMAIL_ADDRESSES_2",
          ]
        },
        {
          "approvers": [
            {
              "principals": [
                "APPROVING_MEMBER_3",
                "APPROVING_MEMBER_4",
              ]
            }
          ],
          "approvalsNeeded": APPROVALS_NEEDED_2,
          "approverEmailRecipients": [
            "APPROVER_EMAIL_ADDRESSES_3",
            "APPROVER_EMAIL_ADDRESSES_4",
          ]
        }
      ]
    }
  },
  "requesterJustificationConfig": {
    "unstructured": {
    }
  },
  "additionalNotificationTargets": {
    "adminEmailRecipients": [
      "ADMIN_EMAIL_ADDRESS_1",
      "ADMIN_EMAIL_ADDRESS_2",
    ],
    "requesterEmailRecipients": [
      "REQUESTER_EMAIL_ADDRESS_1",
      "REQUESTER_EMAIL_ADDRESS_2",
    ]
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :


{
  "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata",
    "createTime": "2024-03-05T03:35:14.596739353Z",
    "target": "projects/PROJECT_ID/locations/global/entitlements/ENTITLEMENT_ID",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1beta"
  },
  "done": false
}

Pour vérifier la progression d'une opération de création, 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
La propagation des droits d'accès nouvellement créés peut prendre quelques minutes.

Terraform

Vous pouvez utiliser Terraform pour créer des droits d'accès. Pour en savoir plus, consultez google_privileged_access_manager_entitlement dans la documentation Terraform. La propagation des droits d'accès nouvellement créés peut prendre quelques minutes avant qu'ils ne soient prêts à l'emploi.

Config Connector

Vous pouvez utiliser Kubernetes Config Connector pour créer des droits d'accès. Pour en savoir plus, consultez PrivilegedAccessManagerEntitlement dans la documentation Config Connector. La propagation des droits d'accès nouvellement créés peut prendre quelques minutes avant qu'ils ne soient prêts à l'emploi.

Étapes suivantes