Creare diritti in Privileged Access Manager

Puoi creare diritti per consentire l'elevazione temporanea dei privilegi per un insieme selezionato di entità. Tieni presente quanto segue durante la creazione dei diritti:

  • I diritti possono essere creati a livello di organizzazione, cartella o progetto. I ruoli concessi da un diritto a ogni livello seguono la Google Cloud gerarchia delle risorse. Ad esempio, i ruoli concessi da un diritto a livello di organizzazione vengono ereditati a livello di cartella e progetto.

  • Se aggiungi un gruppo come richiedente a un diritto, tutti gli account individuali di quel gruppo possono richiedere la concessione di quel diritto. Tuttavia, solo l'account individuale che richiede la concessione può ricevere privilegi elevati.

  • Se aggiungi un gruppo come approvatore a un diritto, tutti gli account individuali del gruppo possono approvare o rifiutare una richiesta di concessione.

  • I ruoli di base (Amministratore, Writer e Lettore) sono supportati, ma i ruoli di base legacy (Proprietario, Editor e Visualizzatore) non sono supportati.

  • Non includere i ruoli dell'agente di servizio nei diritti.

    Alcuni ruoli di agente di servizio contengono autorizzazioni molto potenti e le autorizzazioni all'interno di questi ruoli possono cambiare senza preavviso. Scegli invece un altro ruolo predefinito o crea un ruolo personalizzato con le autorizzazioni necessarie.

Prima di iniziare

Assicurati di aver attivato Privileged Access Manager e configurato le relative autorizzazioni.

Crea diritti utilizzando la console Google Cloud

Per creare un diritto, completa le seguenti istruzioni:

  1. Vai alla pagina Gestore degli accessi con privilegi.

    Vai a Privileged Access Manager

  2. Seleziona l'organizzazione, la cartella o il progetto a cui vuoi applicare il diritto.

  3. Fai clic sulla scheda Diritti.

  4. Fai clic su Crea.

  5. Aggiungi i seguenti dettagli dei diritti:

    • Un nome del diritto.

    • Fino a 30 ruoli da concedere all'organizzazione, alla cartella o al progetto.

      Puoi anche aggiungere condizioni IAM a questi ruoli nello stesso modo in cui aggiungi condizioni per consentire i binding dei ruoli dei criteri. Tuttavia, nei diritti di Privileged Access Manager, l'utilizzo di condizioni che controllano i tag di una risorsa è in anteprima.

    • Per quanto tempo possono durare le concessioni rispetto al diritto. La durata massima che puoi impostare per un diritto è di 24 ore.

  6. Fai clic su Avanti.

  7. Cerca e aggiungi fino a 20 entità richiedenti valide per il diritto. Sono supportati tutti i tipi di entità, ad eccezione di allUsers e allAuthenticatedUsers. Puoi aggiungere più di 20 identità aggiungendole a un gruppo ed elencando il gruppo nel diritto.

  8. Scegli se i principali devono fornire una giustificazione per la richiesta di concessione.

  9. Fai clic su Avanti.

  10. Scegli di consentire le concessioni di ruoli senza approvazione oppure cerca e aggiungi i principali validi che possono approvare la richiesta. I tipi di soggetto validi sono i seguenti:

    • Account Google

    • Google Gruppi

    • Domini Google Workspace

    • Identificatori del pool di forza lavoro

    Se scegli di avere degli approvatori, scegli anche se questi devono fornire una giustificazione per l'approvazione della richiesta di concessione. Puoi aggiungere fino a 20 responsabili dell'approvazione per diritto. Puoi aggiungere più di 20 identità aggiungendole a un gruppo ed elencando il gruppo nel diritto.

  11. Fai clic su Avanti.

  12. (Facoltativo) Aggiungi gli indirizzi email delle persone da avvisare quando il diritto è disponibile per la richiesta, quando una concessione è in attesa di approvazione e quando a un richiedente viene concesso l'accesso. Le identità Google associate al diritto, come approvatori e richiedenti, vengono notificate automaticamente. Tuttavia, potresti voler inviare una notifica a un insieme diverso di indirizzi email, soprattutto se utilizzi la federazione delle identità per la forza lavoro.

  13. Fai clic su Crea diritto.

La propagazione dei diritti appena creati potrebbe richiedere alcuni minuti prima che siano pronti per l'uso.

Creare diritti in modo programmatico

gcloud

Il comando gcloud pam entitlements create crea un diritto a livello di organizzazione, cartella o progetto.

Prima di utilizzare i dati dei comandi riportati di seguito, apporta le seguenti sostituzioni:

  • ENTITLEMENT_ID: l'ID del diritto da creare. Un ID deve avere una lunghezza compresa tra 4 e 63 caratteri e utilizzare i seguenti caratteri: [a-z0-9-]. Il primo carattere deve essere una lettera.
  • RESOURCE_TYPE: (Facoltativo). Il tipo di risorsa a cui appartiene il diritto. Utilizza il valore organization, folder o project.
  • RESOURCE_ID: Utilizzato con RESOURCE_TYPE. L'ID dell'organizzazione, della cartella o del progetto Google Cloudper cui vuoi gestire i diritti. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
  • SCOPE: l'organizzazione, la cartella o il progetto in cui creare il diritto, nel formato organizations/ORGANIZATION_ID, folders/FOLDER_ID o projects/PROJECT_ID. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
  • RESOURCE_MANAGER_RESOURCE_TYPE: Organization, Folder o Project, a seconda dell'ambito.
  • ROLE: i ruoli da assegnare quando viene concesso un diritto.
  • TIME_IN_SECONDS: la durata massima per cui può essere richiesta una concessione, in secondi. L'intervallo supportato è compreso tra 30 minuti (1800) e 24 ore (86400).
  • REQUESTING_MEMBER: Entità che possono richiedere la concessione del diritto. Sono supportati tutti i tipi di entità, ad eccezione di allUsers e allAuthenticatedUsers.

  • APPROVING_EMAIL: (Facoltativo). Indirizzi email aggiuntivi a cui inviare una notifica quando è stata richiesta una concessione. Le identità Google associate agli approvatori delle sovvenzioni vengono notificate automaticamente. Tuttavia, potresti voler inviare una notifica a un insieme diverso di indirizzi email, soprattutto se utilizzi la federazione delle identità per la forza lavoro.
  • APPROVING_MEMBER: Entità che possono approvare la richiesta di diritto. I tipi principali validi sono i seguenti

    • Utente
    • Gruppo
    • Dominio
    • Identificatori del pool di forza lavoro
  • ADMIN_EMAIL_ADDRESS: (Facoltativo). Indirizzi email aggiuntivi da notificare quando a un richiedente viene concesso l'accesso. Le identità Google associate agli approvatori delle sovvenzioni vengono notificate automaticamente. Tuttavia, potresti voler inviare una notifica a un insieme diverso di indirizzi email, soprattutto se utilizzi la federazione delle identità per la forza lavoro.
  • REQUESTER_EMAIL_ADDRESS: (Facoltativo). Indirizzi email aggiuntivi da notificare quando questo diritto è disponibile per la richiesta. Le identità Google associate ai richiedenti della sovvenzione vengono avvisate automaticamente. Tuttavia, potresti voler inviare una notifica a un insieme diverso di indirizzi email, soprattutto se utilizzi la federazione delle identità per la forza lavoro.

Salva i seguenti contenuti in un file denominato entitlement.yaml:

privilegedAccess:
  gcpIamAccess:
    resourceType: cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE
    resource: //cloudresourcemanager.googleapis.com/SCOPE
    roleBindings:
    - role: ROLE_1
    - role: ROLE_2
maxRequestDuration: TIME_IN_SECONDSs
eligibleUsers:
- principals:
  - REQUESTING_MEMBER_1
  - REQUESTING_MEMBER_2
approvalWorkflow:
  manualApprovals:
    requireApproverJustification: true
    steps:
    - approvalsNeeded: 1
      approverEmailRecipients:
      - APPROVING_EMAIL_1
      - APPROVING_EMAIL_2
      approvers:
      - principals:
        - APPROVING_MEMBER_1
        - APPROVING_MEMBER_2
requesterJustificationConfig:
  unstructured: {}
additionalNotificationTargets:
  adminEmailRecipients:
  - ADMIN_EMAIL_ADDRESS_1
  - ADMIN_EMAIL_ADDRESS_2
  requesterEmailRecipients:
  - REQUESTER_EMAIL_ADDRESS_1
  - REQUESTER_EMAIL_ADDRESS_2

Esegui questo comando:

Linux, macOS o Cloud Shell

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

Windows (PowerShell)

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

Windows (cmd.exe)

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

Dovresti ricevere una risposta simile alla seguente:

Create request issued for: [ENTITLEMENT_ID]
Waiting for operation [projects/my-project/locations/global/operations/OPERATION_ID] to complete...done.
Created entitlement [ENTITLEMENT_ID].
additionalNotificationTargets: {}
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'
La propagazione dei diritti appena creati potrebbe richiedere alcuni minuti prima che siano pronti per l'uso.

REST

Il metodo createEntitlement dell'API Privileged Access Manager crea un diritto a livello di organizzazione, cartella o progetto.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • SCOPE: l'organizzazione, la cartella o il progetto in cui creare il diritto, nel formato organizations/ORGANIZATION_ID, folders/FOLDER_ID o projects/PROJECT_ID. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
  • ENTITLEMENT_ID: l'ID del diritto da creare. Un ID deve avere una lunghezza compresa tra 4 e 63 caratteri e utilizzare i seguenti caratteri: [a-z0-9-]. Il primo carattere deve essere una lettera.
  • REQUEST_ID: (Facoltativo). Deve essere un UUID diverso da zero. Se il server riceve una richiesta con un ID richiesta, verifica se un'altra richiesta con lo stesso ID è già stata completata negli ultimi 60 minuti. In questo caso, la nuova richiesta viene ignorata.
  • RESOURCE_MANAGER_RESOURCE_TYPE: Organization, Folder o Project, a seconda dell'ambito.
  • ROLE: i ruoli da assegnare quando viene concesso un diritto.
  • TIME_IN_SECONDS: la durata massima per cui può essere richiesta una concessione, in secondi. L'intervallo supportato è compreso tra 30 minuti (1800) e 24 ore (86400).
  • REQUESTING_MEMBER: Entità che possono richiedere la concessione del diritto. Sono supportati tutti i tipi di entità, ad eccezione di allUsers e allAuthenticatedUsers.

  • APPROVING_MEMBER: Entità che possono approvare la richiesta di diritto. I tipi principali validi sono i seguenti

    • Utente
    • Gruppo
    • Dominio
    • Identificatori del pool di forza lavoro
  • APPROVING_EMAIL: (Facoltativo). Indirizzi email aggiuntivi a cui inviare una notifica quando è stata richiesta una concessione. Le identità Google associate agli approvatori delle sovvenzioni vengono notificate automaticamente. Tuttavia, potresti voler inviare una notifica a un insieme diverso di indirizzi email, soprattutto se utilizzi la federazione delle identità per la forza lavoro.
  • ADMIN_EMAIL_ADDRESS: (Facoltativo). Indirizzi email aggiuntivi da notificare quando a un richiedente viene concesso l'accesso. Le identità Google associate agli approvatori delle sovvenzioni vengono notificate automaticamente. Tuttavia, potresti voler inviare una notifica a un insieme diverso di indirizzi email, soprattutto se utilizzi la federazione delle identità per la forza lavoro.
  • REQUESTER_EMAIL_ADDRESS: (Facoltativo). Indirizzi email aggiuntivi da notificare quando questo diritto è disponibile per la richiesta. Le identità Google associate ai richiedenti della sovvenzione vengono avvisate automaticamente. Tuttavia, potresti voler inviare una notifica a un insieme diverso di indirizzi email, soprattutto se utilizzi la federazione delle identità per la forza lavoro.

Metodo HTTP e URL:

POST https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/entitlements?entitlementId=ENTITLEMENT_ID&requestId=REQUEST_ID

Corpo JSON della richiesta:

{
  "privilegedAccess": {
    "gcpIamAccess": {
      "resourceType": "cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE",
      "resource": "//cloudresourcemanager.googleapis.com/SCOPE",
      "roleBindings": [
        {
          "role": "ROLE_1"
        },
        {
          "role": "ROLE_2"
        }
      ]
    }
  },
  "maxRequestDuration": "TIME_IN_SECONDSs",
  "eligibleUsers": [
    {
      "principals": [
        "REQUESTING_MEMBER_1",
        "REQUESTING_MEMBER_2",
        ...
      ]
    }
  ],
  "approvalWorkflow": {
    "manualApprovals": {
      "requireApproverJustification": true,
      "steps": [
        {
          "approvers": [
            {
              "principals": [
                "APPROVING_MEMBER_1",
                "APPROVING_MEMBER_2",
                ...
              ]
            }
          ],
          "approvalsNeeded": 1,
          "approverEmailRecipients": [
            "APPROVING_EMAIL_1",
            "APPROVING_EMAIL_2",
            ...
          ]
        }
      ]
    }
  },
  "requesterJustificationConfig": {
    "unstructured": {
    }
  },
  "additionalNotificationTargets": {
    "adminEmailRecipients": [
      "ADMIN_EMAIL_ADDRESS_1",
      "ADMIN_EMAIL_ADDRESS_2",
      ...
    ],
    "requesterEmailRecipients": [
      "REQUESTER_EMAIL_ADDRESS_1",
      "REQUESTER_EMAIL_ADDRESS_2",
      ...
    ]
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

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

Per verificare l'avanzamento di un'operazione di creazione, puoi inviare una richiesta GET al seguente endpoint:

https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/operations/OPERATION_ID

Invia una richiesta GET al seguente endpoint per elencare tutte le operazioni:

https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/operations
La propagazione dei diritti appena creati potrebbe richiedere alcuni minuti prima che siano pronti per l'uso.

Terraform

Puoi utilizzare Terraform per creare diritti. Per saperne di più, consulta google_privileged_access_manager_entitlement nella documentazione di Terraform. La propagazione dei diritti appena creati potrebbe richiedere alcuni minuti prima che siano pronti per l'uso.

Config Connector

Puoi utilizzare Kubernetes Config Connector per creare diritti. Per ulteriori informazioni, consulta PrivilegedAccessManagerEntitlement nella documentazione di Config Connector. La propagazione dei diritti appena creati potrebbe richiedere alcuni minuti prima che siano pronti per l'uso.

Passaggi successivi