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 gerarchia delle risorse di Google Cloud. 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 di un diritto, tutti i singoli account nel gruppo possono richiedere la concessione di quel diritto. Tuttavia, solo il singolo account che richiede la concessione può ricevere privilegi elevati.
Se aggiungi un gruppo come approvatore a un diritto, tutti i singoli account nel gruppo possono approvare o negare una richiesta di concessione.
I ruoli di base non sono supportati.
Prima di iniziare
Assicurati di aver abilitato Privileged Access Manager e di aver configurato le autorizzazioni.
Creare i diritti utilizzando la console Google Cloud
Per creare un diritto, segui le istruzioni riportate di seguito:
Vai alla pagina Privileged Access Manager.
Seleziona l'organizzazione, la cartella o il progetto a cui vuoi applicare il diritto.
Fai clic sulla scheda Diritti.
Fai clic su Crea.
Aggiungi i seguenti dettagli del diritto:
Un nome del diritto.
Fino a 30 ruoli da concedere all'organizzazione, alla cartella o al progetto. Puoi applicare condizioni IAM a questi ruoli, a condizione che non corrispondano ai tag delle risorse.
La durata delle concessioni rispetto al diritto.
Fai clic su Avanti.
Cerca e aggiungi fino a 20 entità richiedenti valide per il diritto. Sono supportati tutti i tipi di entità, tranne
allUsers
eallAuthenticatedUsers
. Puoi aggiungere più di 20 identità aggiungendole a un gruppo e indicando il gruppo nel diritto.Scegli se i principali devono fornire una giustificazione per la richiesta di assegnazione.
Fai clic su Avanti.
Scegli se consentire le concessioni di ruoli senza approvazione o cerca e aggiungi principali validi che possono approvare la richiesta. I tipi principali validi sono:
Account Google
Google Gruppi
Domini Google Workspace
Identificatori dei pool di forza lavoro
Se scegli di avere degli approvatori, scegli anche se devono fornire una giustificazione per l'approvazione della richiesta di concessione. Puoi aggiungere fino a 20 persone autorizzate per approvazione per diritto. Puoi aggiungere più di 20 identità aggiungendole a un gruppo e indicando il gruppo nel diritto.
Fai clic su Avanti.
(Facoltativo) Aggiungi gli indirizzi email delle persone a cui inviare una notifica 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 gli approvatori e i richiedenti, vengono notificate automaticamente. Tuttavia, ti consigliamo di inviare una notifica a un insieme diverso di indirizzi email, soprattutto se utilizzi la federazione delle identità per la forza lavoro.
Fai clic su Crea diritto.
Creare i diritti in modo programmatico
gcloud
Il comando
gcloud beta pam entitlements create
crea un diritto a livello di organizzazione, cartella o progetto.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
ENTITLEMENT_ID
: l'ID 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 valoreorganization
,folder
oproject
.RESOURCE_ID
: utilizzato conRESOURCE_TYPE
. L'ID dell'organizzazione, della cartella o del progetto Google Cloud per cui vuoi gestire i diritti. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
. Gli ID cartella e organizzazione sono numerici, ad esempio123456789012
.SCOPE
: l'organizzazione, la cartella o il progetto in cui creare il diritto, nel formatoorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
oprojects/PROJECT_ID
. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
. Gli ID cartella e dell'organizzazione sono numerici, ad esempio123456789012
.RESOURCE_MANAGER_RESOURCE_TYPE
:Organization
,Folder
oProject
, a seconda dell'ambito.ROLE
: i ruoli da assegnare quando viene concesso un diritto.TIME_IN_SECONDS
: la durata massima di una concessione in secondi.-
REQUESTING_MEMBER
: entità che possono richiedere la concessione del diritto. Sono supportati tutti i tipi di entità, ad eccezione diallUsers
eallAuthenticatedUsers
. APPROVING_EMAIL
: facoltativo. Indirizzi email aggiuntivi da notificare quando è stata richiesta una concessione. Le identità Google associate agli approvatori dei contributi vengono notificate automaticamente. Tuttavia, potresti voler inviare una notifica a un insieme diverso di indirizzi email, in particolare se utilizzi la Federazione delle identità per la forza lavoro.-
APPROVING_MEMBER
: entità che possono approvare la richiesta del diritto. I tipi di entità validi sono:- Utente
- Gruppo
- Dominio
- Identificatori dei pool di forza lavoro
ADMIN_EMAIL_ADDRESS
: facoltativo. Indirizzi email aggiuntivi per la notifica quando a un richiedente viene concesso l'accesso. Le identità Google associate agli approvatori dei contributi vengono notificate automaticamente. Tuttavia, potresti voler inviare una notifica a un insieme diverso di indirizzi email, in particolare se utilizzi la Federazione delle identità per la forza lavoro.REQUESTER_EMAIL_ADDRESS
: facoltativo. Indirizzi email aggiuntivi da avvisare quando questo diritto è disponibile per la richiesta. Le identità Google associate ai richiedenti dei permessi vengono comunicate automaticamente. Tuttavia, ti consigliamo di inviare una notifica a un insieme diverso di indirizzi email, in particolare 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 il seguente comando:
Linux, macOS o Cloud Shell
gcloud beta pam entitlements create \ ENTITLEMENT_ID \ --entitlement-file=entitlement.yaml \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam entitlements create ` ENTITLEMENT_ID ` --entitlement-file=entitlement.yaml ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta 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'
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 formatoorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
oprojects/PROJECT_ID
. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
. Gli ID cartella e dell'organizzazione sono numerici, ad esempio123456789012
.ENTITLEMENT_ID
: l'ID 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, controlla 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
oProject
, a seconda dell'ambito.ROLE
: i ruoli da assegnare quando viene concesso un diritto.TIME_IN_SECONDS
: la durata massima di una concessione in secondi.-
REQUESTING_MEMBER
: entità che possono richiedere l'assegnazione del diritto. Sono supportati tutti i tipi di entità, ad eccezione diallUsers
eallAuthenticatedUsers
. -
APPROVING_MEMBER
: entità che possono approvare la richiesta del diritto. I tipi di entità validi sono:- Utente
- Gruppo
- Dominio
- Identificatori dei pool di forza lavoro
APPROVING_EMAIL
: facoltativo. Indirizzi email aggiuntivi da notificare quando è stata richiesta una concessione. Le identità Google associate agli approvatori dei contributi vengono notificate automaticamente. Tuttavia, potresti voler inviare una notifica a un insieme diverso di indirizzi email, in particolare se utilizzi la Federazione delle identità per la forza lavoro.ADMIN_EMAIL_ADDRESS
: facoltativo. Indirizzi email aggiuntivi per la notifica quando a un richiedente viene concesso l'accesso. Le identità Google associate agli approvatori dei contributi vengono notificate automaticamente. Tuttavia, potresti voler inviare una notifica a un insieme diverso di indirizzi email, in particolare se utilizzi la federazione delle identità per la forza lavoro.REQUESTER_EMAIL_ADDRESS
: facoltativo. Indirizzi email aggiuntivi da avvisare quando questo diritto è disponibile per la richiesta. Le identità Google associate ai richiedenti dei permessi vengono comunicate automaticamente. Tuttavia, ti consigliamo di inviare una notifica a un insieme diverso di indirizzi email, in particolare se utilizzi la Federazione delle identità per la forza lavoro.
Metodo HTTP e URL:
POST https://privilegedaccessmanager.googleapis.com/v1beta/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.v1beta.OperationMetadata", "createTime": "2024-03-05T03:35:14.596739353Z", "target": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1beta" }, "done": false }
Per controllare l'avanzamento di un'operazione di creazione, puoi inviare una richiesta GET
al seguente endpoint:
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations/OPERATION_ID
Invia una richiesta GET
al seguente endpoint per elencare tutte le operazioni:
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations
Terraform
Puoi utilizzare Terraform per creare i diritti. Per ulteriori informazioni, consulta google_privileged_access_manager_entitlement nella documentazione di Terraform.
Config Connector
Puoi utilizzare Kubernetes Config Connector per creare i diritti. Per ulteriori informazioni, consulta PrivilegedAccessManagerEntitlement nella documentazione di Config Connector.
Passaggi successivi
- Richiedi l'accesso elevato temporaneo
- Approvare o rifiutare le sovvenzioni
- Visualizzare, aggiornare ed eliminare i diritti
- Controllare gli eventi dei diritti