Puoi creare diritti per consentire l'elevazione temporanea dei privilegi per una selezione un insieme di entità. Tieni presente quanto segue quando crei i 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 l'account individuale che richiede la concessione può ricevere privilegi elevati.
Se aggiungi un gruppo come approvatore di un diritto, tutti gli account individuali di quel gruppo possono approvare o rifiutare una richiesta di concessione.
I ruoli di base non sono supportati.
Prima di iniziare
Assicurati di aver abilitato il Gestore degli accessi con privilegi e configurato le relative 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 di 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 motivazione per la richiesta di concessione.
Fai clic su Avanti.
Scegli di 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 di pool di forza lavoro
Se scegli di avere degli approvatori, specifica anche se questi ultimi 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 notifiche quando il diritto disponibile per la richiesta, quando una concessione è in attesa di approvazione e quando al richiedente viene concesso l'accesso. Le identità Google associate come approvatori e richiedenti, viene notificata 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 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 uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
ENTITLEMENT_ID
: l'ID diritto da creare. Un L'ID deve avere una lunghezza compresa tra 4 e 63 caratteri e contenere 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
: utilizzata conRESOURCE_TYPE
. L'ID di Google Cloud l'organizzazione, la cartella o il progetto in 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 creare il diritto nel formatoorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
, oppureprojects/PROJECT_ID
. Gli ID progetto sono stringhe alfanumeriche, comemy-project
. Gli ID cartella e dell'organizzazione sono numerici, ad esempio123456789012
.RESOURCE_MANAGER_RESOURCE_TYPE
:Organization
,Folder
oProject
, a seconda dell'ambito.ROLE
: il roles da assegnare quando viene concesso il diritto di accesso.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. Indirizzo email aggiuntivo per inviare una notifica quando viene richiesta una concessione. Identità Google associati agli approvatori delle concessioni ricevono una notifica automatica. 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 di diritto. Il valore i tipi di entità segue- Utente
- Gruppo
- Dominio
- Identificatori di 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 dei contributi vengono notificate automaticamente. Tuttavia, potrebbe voler inviare una notifica a un gruppo diverso di indirizzi email, soprattutto se stai utilizzando Federazione delle identità per la forza lavoro.REQUESTER_EMAIL_ADDRESS
: facoltativo. Aggiuntivo indirizzi email per la notifica 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 la persone che seguo :
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
L'API Privileged Access Manager
createEntitlement
crea un diritto per l'organizzazione, la cartella
a livello di progetto o di progetto.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
SCOPE
: l'organizzazione, la cartella o il progetto in creare il diritto nel formatoorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
, oppureprojects/PROJECT_ID
. Gli ID progetto sono stringhe alfanumeriche, comemy-project
. Cartelle e Gli ID 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
: il roles da assegnare quando viene concesso il diritto di accesso.TIME_IN_SECONDS
: la durata massima di una concessione dura in pochi secondi.-
REQUESTING_MEMBER
: entità che possono richiedere l'assegnazione del diritto. Tutti i tipi di entità sono supportati, ad eccezione diallUsers
eallAuthenticatedUsers
. -
APPROVING_MEMBER
: entità che possono approvare la richiesta di diritti. 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, potrebbe voler inviare una notifica a un gruppo diverso di indirizzi email, soprattutto se stai utilizzando Federazione delle identità per la forza lavoro.ADMIN_EMAIL_ADDRESS
: facoltativo. Indirizzi email aggiuntivi da notificare quando a un richiedente viene concesso l'accesso. Identità Google associati agli approvatori delle concessioni ricevono una notifica automatica. 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 sarà 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 verificare lo stato di avanzamento di un'operazione di creazione, puoi inviare un
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.Passaggi successivi
- Richiedi l'accesso elevato temporaneo
- Approvare o rifiutare le sovvenzioni
- Visualizzare, aggiornare ed eliminare i diritti
- Controllare gli eventi dei diritti