Questa guida descrive come configurare la federazione delle identità della forza lavoro con un provider di identità (IdP) che supporta OIDC o SAML 2.0.
Per le istruzioni specifiche per l'IdP, consulta quanto segue:
- Configura la federazione delle identità per la forza lavoro basata su Azure AD
- Configura la federazione delle identità per la forza lavoro basata su Okta
Prima di iniziare
Devi aver configurato un'organizzazione Google Cloud.
Enable the Identity and Access Management (IAM) and Resource Manager APIs.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per l'accesso, l'IdP deve fornire informazioni di autenticazione firmate: gli IdP OIDC devono fornire un JWT e le risposte degli IdP SAML devono essere firmate.
Per ricevere informazioni importanti su cambiamenti della tua organizzazione o Per i prodotti Google Cloud, devi fornire i contatti necessari. Per saperne di più, consulta la panoramica sulla federazione delle identità per la forza lavoro.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per configurare la federazione delle identità per la forza lavoro,
chiedi all'amministratore di concederti
Ruolo IAM Amministratore pool di identità per la forza lavoro (roles/iam.workforcePoolAdmin
) nell'organizzazione.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.
In alternativa, il ruolo di base Proprietario (roles/owner
) include anche le autorizzazioni per configurare la federazione delle identità della forza lavoro.
Non è consigliabile concedere ruoli di base in un ambiente di produzione, ma puoi concederli in una
di sviluppo o test.
Configura la federazione delle identità per la forza lavoro
Per configurare la federazione delle identità per la forza lavoro, devi creare un pool di identità per la forza lavoro e un provider di pool di identità per la forza lavoro.
Crea un pool di identità della forza lavoro
Per creare il pool, esegui questo comando:
Console
Per creare il pool di identità della forza lavoro, segui questi passaggi:
Nella console Google Cloud, vai alla pagina Pool di identità per la forza lavoro:
Fai clic su Crea pool e segui questi passaggi:
Nel campo Nome, inserisci il nome visualizzato del pool. L'ID pool deriva automaticamente dal nome mentre digiti e viene visualizzato nel campo Nome. Puoi aggiornare l'ID pool: facendo clic su Modifica accanto all'ID pool.
(Facoltativo) In Descrizione, inserisci una descrizione del pool.
La durata della sessione è impostata per impostazione predefinita. Per accedere a una sessione personalizzata fai clic su Modifica. Durata della sessione determina per quanto tempo Google Cloud token di accesso, console (federata) sessioni di accesso e le sessioni di accesso gcloud CLI da questo pool di forza lavoro sono validi. La durata deve essere superiore a 15 minuti (900 secondi) e inferiore a 12 ore (43200 secondi). Se la durata della sessione non è impostata, viene utilizzata per impostazione predefinita durata di un'ora (3600 s).
Per creare il pool in stato Attivato, assicurati che Il pool abilitato è attivo.
Per creare il pool di identità della forza lavoro, fai clic su Avanti.
gcloud
Per creare il pool di identità della forza lavoro, esegui questo comando:
gcloud iam workforce-pools create WORKFORCE_POOL_ID \
--organization=ORGANIZATION_ID \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--session-duration=SESSION_DURATION \
--location=global
Sostituisci quanto segue:
WORKFORCE_POOL_ID
: un ID che scegli di rappresentare del tuo pool di forza lavoro Google Cloud. Per informazioni sulla formattazione dell'ID, consulta la sezione Parametri di ricerca nella documentazione dell'API.ORGANIZATION_ID
: l'ID numerico della tua organizzazione Google Cloud.DISPLAY_NAME
: facoltativo. Un nome visualizzato per di identità per la forza lavoro.DESCRIPTION
: facoltativo. Un pool di identità della forza lavoro o l'audiodescrizione.SESSION_DURATION
: facoltativo. Durata della sessione, che determina per quanto tempo Google Cloud token di accesso, console (federata) sessioni di accesso e le sessioni di accesso gcloud CLI da questo pool di forza lavoro sono validi. La durata deve essere superiore a 15 minuti (900 s) e meno di 12 ore (43.200 s). Se la durata della sessione non è impostata, viene utilizzata per impostazione predefinita durata di un'ora (3600 s).
Crea un provider di pool di identità per la forza lavoro
Questa sezione descrive come creare un provider di pool di identità per la forza lavoro per consentire agli utenti IdP di accedere a Google Cloud. Puoi configurare il provider in modo che utilizzi il protocollo OIDC o SAML.
Crea un provider di pool di forza lavoro OIDC
Per creare un provider di pool di identità per la forza lavoro utilizzando il protocollo OIDC, procedi come segue seguenti:
Nel tuo IdP OIDC, registra una nuova applicazione per Google Cloud Federazione delle identità per la forza lavoro. Prendi nota dell'ID client e dell'URI dell'emittente fornito dall'IdP. Puoi utilizzarle in questo documento.
Se prevedi di configurare l'accesso degli utenti alla console, aggiungi quanto segue di reindirizzamento all'IdP OIDC:
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Per scoprire come configurare l'accesso alla console (federata), consulta Configurare l'accesso degli utenti alla console (federata).
Per creare il provider in Google Cloud, segui questi passaggi:
Console
Flusso codice
Nella console Google Cloud, per creare un provider OIDC utilizza il flusso del codice di autorizzazione, procedi nel seguente modo:
Nella console Google Cloud, vai alla pagina Pool di identità per la forza lavoro:
Nella tabella Pool di identità della forza lavoro, seleziona il pool per il quale vuoi creare il provider.
Nella tabella Fornitori, fai clic su Aggiungi fornitore.
In Seleziona un protocollo, seleziona Open ID Connect (OIDC).
In Crea un provider di pool, segui questi passaggi:
- In Nome, inserisci un nome per il provider.
- In Issuer (URL) (Emittente (URL)), inserisci l'URI dell'emittente. L'URI dell'emittente OIDC deve essere in un formato URI valido e iniziare con
https
; ad esempiohttps://example.com/oidc
. - Inserisci l'ID client, ovvero l'ID client OIDC registrato con il tuo IdP OIDC. L'ID deve corrispondere al claim
aud
del JWT emesso dal tuo IdP. - Per creare un provider abilitato, assicurati che l'opzione Provider abilitato sia attiva.
- Fai clic su Continua.
In Tipo di risposta, segui questi passaggi: Il tipo di risposta viene utilizzato solo per un flusso di Single Sign-On basato sul web.
- In Tipo di risposta, seleziona Codice.
- In Client secret, inserisci il client secret del tuo IdP.
In Comportamento delle attestazioni delle asserzioni, seleziona una delle seguenti opzioni:
- Informazioni utente e token ID
- Solo token ID
Fai clic su Continua.
In Configura provider, puoi configurare una mappatura degli attributi e una condizione dell'attributo. Per creare una mappatura degli attributi: Puoi fornire il nome del campo dell'IdP o Formato CEL che restituisce una stringa.
Obbligatorio: in OIDC 1, inserisci il soggetto dell'IdP, ad esempio
assertion.sub
.(Facoltativo) Per aggiungere altre mappature degli attributi, segui questi passaggi:
- Fai clic su Aggiungi mappatura.
- In Google n, dove n è un numero, inserisci uno tra le chiavi supportate da Google Cloud.
- Nel campo OIDC n corrispondente, inserisci il nome del Campo specifico dell'IdP da mappare, in formato CEL.
Per creare una condizione dell'attributo:
Se il tuo IdP multitenant ha un singolo URI emittente, devi utilizzare condizioni degli attributi per assicurarti che l'accesso sia limitato al tenant corretto.
- Fai clic su Aggiungi condizione.
- In Condizioni attributi, inserisci una condizione in formato CEL,
ad esempio
assertion.role == 'gcp-users'
. Questa condizione di esempio garantisce che solo gli utenti con il ruologcp-users
possano accedere utilizzando questo provider.
Per creare il provider, fai clic su Invia.
Flusso implicito
Nella console Google Cloud, per creare un provider OIDC utilizza implicit flow, procedi nel seguente modo:
Nella console Google Cloud, vai alla pagina Pool di identità per la forza lavoro:
Nella tabella Pool di identità della forza lavoro, seleziona il pool per il quale vuoi creare il provider.
Nella tabella Fornitori, fai clic su Aggiungi fornitore.
In Seleziona un protocollo, seleziona Open ID Connect (OIDC).
In Crea un provider di pool, segui questi passaggi:
- In Nome, inserisci un nome per il provider.
- In Issuer (URL) (Emittente (URL)), inserisci l'URI dell'emittente. L'URI dell'emittente OIDC deve essere in un formato URI valido e iniziare con
https
; ad esempiohttps://example.com/oidc
. - Inserisci l'ID client, ovvero l'ID client OIDC registrato con il tuo IdP OIDC. L'ID deve corrispondere al claim
aud
del JWT emesso dal tuo IdP. - Per creare un provider abilitato, assicurati che l'opzione Provider abilitato sia attiva.
- Fai clic su Continua.
In Tipo di risposta, procedi nel seguente modo. Viene utilizzato il tipo di risposta solo per un flusso Single Sign-On basato sul web.
- In Tipo di risposta, seleziona Token ID.
- Fai clic su Continua.
In Configura provider, puoi configurare una mappatura degli attributi e una condizione dell'attributo. Per creare una mappatura degli attributi: Puoi fornire il nome del campo dell'IDP o un'espressione in formato CEL che restituisce una stringa.
Obbligatorio: in OIDC 1, inserisci l'oggetto dell'IdP; ad esempio
assertion.sub
.(Facoltativo) Per aggiungere altre mappature degli attributi, segui questi passaggi:
- Fai clic su Aggiungi mappatura.
- In Google n, dove n è un numero, inserisci uno tra le chiavi supportate da Google Cloud.
- Nel campo OIDC n corrispondente, inserisci il nome del campo specifico dell'IDP da mappare, in formato CEL.
Per creare una condizione dell'attributo:
- Fai clic su Aggiungi condizione.
In Condizioni attributi, inserisci una condizione in formato CEL, ad esempio
assertion.role == 'gcp-users'
. Questa condizione di esempio garantisce che solo gli utenti con il ruologcp-users
possano accedere utilizzando questo provider.Se l'IdP multitenant ha un singolo URI dell'emittente, devi utilizzare condizioni degli attributi per garantire che l'accesso sia limitato al tenant corretto.
Per creare il provider, fai clic su Invia.
gcloud
Flusso codice
Per creare un provider OIDC che utilizza il flusso del codice di autorizzazione Per l'accesso web, esegui questo comando:
gcloud iam workforce-pools providers create-oidc PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --issuer-uri="ISSUER_URI" \ --client-id="OIDC_CLIENT_ID" \
--client-secret-value="OIDC_CLIENT_SECRET" \ --web-sso-response-type="code" \ --web-sso-assertion-claims-behavior="merge-user-info-over-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --location=globalSostituisci quanto segue:
PROVIDER_ID
: un ID provider univoco. Il prefissogcp-
è riservato e non può essere utilizzato in un pool o nell'ID provider.WORKFORCE_POOL_ID
: l'ID del pool di identità forza lavoro a cui collegare l'IdP.DISPLAY_NAME
: display facoltativo facile da usare nome del fornitore; ad esempioidp-eu-employees
.DESCRIPTION
: un fornitore di forza lavoro facoltativo descrizione; ad esempioIdP for Partner Example Organization employees
.ISSUER_URI
: l'URI dell'emittente OIDC, in un formato URI valido, che inizia conhttps
; ad esempio,https://example.com/oidc
. Nota: per motivi di sicurezza,ISSUER_URI
deve utilizzare lo schema HTTPS.OIDC_CLIENT_ID
: l'ID client OIDC registrato presso il tuo IdP OIDC; l'ID deve corrispondere alla rivendicazioneaud
del JWT emesso dall'IdP.OIDC_CLIENT_SECRET
: il client secret OIDC.WEB_SSO_ADDITIONAL_SCOPES
: ambiti aggiuntivi facoltativi da inviare all'IdP OIDC per l'accesso basato su browser con gcloud CLI.ATTRIBUTE_MAPPING
: una mappatura degli attributi. Di seguito è riportato un esempio di mappatura degli attributi: Questo esempio mappa gli attributi IdPgoogle.subject=assertion.sub, google.groups=assertion.group1, attribute.costcenter=assertion.costcenter
subject
,group1
ecostcenter
nell'affermazione OIDC agli attributigoogle.subject
,google.groups
eattribute.costcenter
, rispettivamente.ATTRIBUTE_CONDITION
: una condizione dell'attributo, ad esempioassertion.role == 'gcp-users'
. Questa condizione di esempio garantisce che solo gli utenti con il ruologcp-users
possano accedere utilizzando questo provider.
Se l'IdP multitenant ha un singolo URI dell'emittente, devi utilizzare
condizioni degli attributi
per garantire che l'accesso sia limitato al tenant corretto.
JWK_JSON_PATH
: un percorso facoltativo dei JWK OIDC caricati localmente. Se questo parametro non viene fornito, Google Cloud utilizza invece il percorso/.well-known/openid-configuration
dell'IdP per trovare i JWK contenenti le chiavi pubbliche. Per ulteriori informazioni sui JWK OIDC caricati localmente, vedi Gestire i JWK OIDC.
locations/global/workforcePools/enterprise-example-organization-employees
.Flusso implicito
Per creare un provider OIDC che utilizzi il flusso implicito per l'accesso web, esegui il seguente comando:
gcloud iam workforce-pools providers create-oidc PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --issuer-uri="ISSUER_URI" \ --client-id="OIDC_CLIENT_ID" \ --web-sso-response-type="id-token" \ --web-sso-assertion-claims-behavior="only-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --location=global
Sostituisci quanto segue:
PROVIDER_ID
: un ID provider univoco. Il prefissogcp-
è riservato e non può essere utilizzato in un pool o nell'ID provider.WORKFORCE_POOL_ID
: l'ID del pool di identità forza lavoro a cui collegare l'IdP.DISPLAY_NAME
: display facoltativo facile da usare nome del fornitore; ad esempioidp-eu-employees
.DESCRIPTION
: un fornitore di forza lavoro facoltativo descrizione; ad esempioIdP for Partner Example Organization employees
.ISSUER_URI
: l'URI dell'emittente OIDC, in un formato URI valido, che inizia conhttps
; ad esempio,https://example.com/oidc
. Nota: per motivi di sicurezza,ISSUER_URI
deve utilizzare lo schema HTTPS.OIDC_CLIENT_ID
: l'ID client OIDC registrato presso il tuo IdP OIDC; l'ID deve corrispondere alla rivendicazioneaud
del JWT emesso dall'IdP.WEB_SSO_ADDITIONAL_SCOPES
: ambiti aggiuntivi facoltativi da inviare all'IdP OIDC per l'accesso basato su browser con gcloud CLI.ATTRIBUTE_MAPPING
: una mappatura degli attributi. Di seguito è riportato un esempio di mappatura degli attributi: Questo esempio mappa gli attributi IdPgoogle.subject=assertion.sub, google.groups=assertion.group1, attribute.costcenter=assertion.costcenter
subject
,group1
ecostcenter
nel file OIDC asserzione pergoogle.subject
,google.groups
, eattribute.costcenter
.ATTRIBUTE_CONDITION
: una condizione dell'attributo; ad esempioassertion.role == 'gcp-users'
. Questa condizione di esempio garantisce che solo gli utenti con il ruologcp-users
possano accedere utilizzando questo provider.
Se l'IdP multitenant ha un singolo URI dell'emittente, devi utilizzare
condizioni degli attributi
per garantire che l'accesso sia limitato al tenant corretto.
JWK_JSON_PATH
: un percorso facoltativo dei JWK OIDC caricati localmente. Se questo parametro non viene fornito, Google Cloud utilizza invece il percorso/.well-known/openid-configuration
dell'IdP per trovare i JWK contenenti le chiavi pubbliche. Per ulteriori informazioni sui JWK OIDC caricati localmente, vedi Gestire i JWK OIDC.
locations/global/workforcePools/enterprise-example-organization-employees
.Il prefisso
gcp-
è riservato e non può essere utilizzato in un ID pool o provider.Per la federazione OIDC, puoi utilizzare
assertion.NAME
: una stringa uguale al valore della richiesta con lo stesso nome nel payload del token ID.
Crea un provider di pool di forza lavoro SAML
Nel tuo IdP SAML, registra una nuova applicazione per Google Cloud Federazione delle identità per la forza lavoro.
Imposta il pubblico per le asserzioni SAML. Di solito è il campo
SP Entity ID
nella configurazione dell'IdP. Devi impostala al seguente URL:https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID
Se prevedi di configurare l'accesso degli utenti alla console, nel tuo IdP SAML, imposta il campo URL di reindirizzamento o l'URL ACS (Assertion Consumer Service) al seguente URL:
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Consulta Configurare l'accesso degli utenti alla console. per maggiori dettagli sulla configurazione dell'accesso alla console.
In Google Cloud, crea un provider di pool di identità della forza lavoro SAML utilizzando il documento dei metadati SAML dell'IdP. Puoi scaricare il file XML dei metadati SAML del tuo IdP. Il documento deve includere almeno quanto segue:
- Un ID entità SAML per il tuo IdP.
- L'URL Single Sign-On per l'IdP.
- Almeno una chiave pubblica di firma. Vedi i requisiti chiave più avanti in questa guida per maggiori dettagli sulle chiavi di firma.
Console
Per configurare il provider SAML utilizzando la console Google Cloud, esegui la seguenti:
Nella console Google Cloud, vai alla pagina Pool di identità per la forza lavoro:
Nella tabella Pool di identità della forza lavoro, seleziona il pool per cui vuoi creare il provider.
Nella tabella Providers (Provider), fai clic su Add Provider (Aggiungi provider).
In Seleziona un protocollo, seleziona SAML.
In Crea un provider di pool, segui questi passaggi:
In Nome, inserisci un nome per il provider.
(Facoltativo) In Descrizione, inserisci una descrizione per il fornitore.
In File di metadati IDP (XML), seleziona i metadati il file XML generato in precedenza in questa guida.
Assicurati che l'opzione Provider abilitato sia abilitata.
Fai clic su Continua.
In Configura provider:
In Mappatura attributi, inserisci un'espressione CEL per
google.subject
.(Facoltativo) Per inserire altre mappature, fai clic su Aggiungi mappatura e inserisci altre mappature, ad esempio:
Questo esempio mappa gli attributi IdPgoogle.subject=assertion.subject, google.groups=assertion.attributes['https://example.com/aliases'], attribute.costcenter=assertion.attributes.costcenter[0]
assertion.subject
,assertion.attributes['https://example.com/aliases']
eassertion.attributes.costcenter[0]
agli attributi Google Cloudgoogle.subject
,google.groups
egoogle.costcenter
, rispettivamente.(Facoltativo) Per aggiungere una condizione dell'attributo, fai clic su Aggiungi condizione e inserisci un'espressione CEL che rappresenta una condizione dell'attributo. Ad esempio, per limitare l'attributo
ipaddr
a un determinato intervallo IP puoi impostare la condizioneassertion.attributes.ipaddr.startsWith('98.11.12.')
. Questa condizione di esempio garantisce che solo gli utenti con un indirizzo IP che inizia con98.11.12.
possano accedere utilizzando questo fornitore di personale.Se il tuo IdP multitenant ha un singolo URI emittente, devi utilizzare condizioni degli attributi per assicurarti che l'accesso sia limitato al tenant corretto.
Fai clic su Continua.
Per creare il provider, fai clic su Invia.
gcloud
Per configurare il provider SAML utilizzando gcloud CLI, esegui la seguenti:
gcloud iam workforce-pools providers create-saml PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--idp-metadata-path=METADATA_FILE_PATH \
--attribute-mapping="ATTRIBUTE_MAPPING" \
--attribute-condition="ATTRIBUTE_CONDITION" \
--location=global
Sostituisci quanto segue:
PROVIDER_ID
: l'ID provider.WORKFORCE_POOL_ID
: l'ID pool.DISPLAY_NAME
Il nome visualizzato del fornitore; ad esempioidp-eu-employees
.DESCRIPTION
: la descrizione della forza lavoro. provider di pool di identità; ad esempioIdP for Partner Example Organization EU employees
.METADATA_FILE_PATH
: il percorso del file SAML metadati.ATTRIBUTE_MAPPING
: la mappatura degli attributi; Ad esempio: In questo esempio vengono mappati gli attributi IdPgoogle.subject=assertion.subject, google.groups=assertion.attributes['https://example.com/aliases'], attribute.costcenter=assertion.attributes.costcenter[0]
assertion.subject
,assertion.attributes['https://example.com/aliases']
eassertion.attributes.costcenter[0]
a Google Cloud attributigoogle.subject
,google.groups
, egoogle.costcenter
, rispettivamente.ATTRIBUTE_CONDITION
: una condizione dell'attributo. Ad esempio, per limitare l'attributoipaddr
a un determinato intervallo IP, puoi impostare la condizioneassertion.attributes.ipaddr.startsWith('98.11.12.')
. Questa condizione di esempio garantisce che solo gli utenti con un indirizzo IP che inizia con98.11.12.
possano accedere utilizzando questo fornitore di personale.
Potrebbero essere necessari alcuni minuti prima che il fornitore inizi ad accettare le richieste.
Per la federazione SAML, puoi utilizzare le seguenti parole chiave nelle mappature degli attributi e condizioni:
assertion.subject
: una stringa uguale all'attributoNameID
nell'affermazione SAML.assertion.attributes.NAME
: un elenco di stringhe uguale a I valori degli attributi con nomi simili nell'asserzione SAML.
(Facoltativo) Accetta le asserzioni SAML criptate dal tuo IdP
Abilitare l'IdP SAML 2.0 per produrre dati SAML criptati che possono essere accettate dalla federazione delle identità per la forza lavoro, segui questi passaggi:
- Nella federazione delle identità per la forza lavoro, segui questi passaggi:
- Crea una coppia di chiavi asimmetriche per il provider del pool di identità della forza lavoro.
- Scarica un file di certificato contenente la chiave pubblica.
- Configura l'IdP SAML in modo che utilizzi la chiave pubblica per criptare le asserzioni SAML che emette.
- Nell'IdP:
- Abilita la crittografia delle asserzioni, nota anche come crittografia dei token.
- Carica la chiave pubblica che hai creato nella federazione delle identità della forza lavoro.
- Verifica che l'IdP generi asserzioni SAML criptate.
Crea chiavi di crittografia delle asserzioni SAML per la federazione delle identità della forza lavoro
Questa sezione illustra la creazione di una coppia di chiavi asimmetrica che consente della federazione delle identità della forza lavoro per accettare le asserzioni SAML criptate.
Google Cloud utilizza la chiave privata per decriptare le asserzioni SAML emesse dal tuo IdP. Per creare una coppia di chiavi asimmetriche da utilizzare con la crittografia SAML, esegui questo comando. Per scoprire di più, consulta Algoritmi di crittografia SAML supportati.
gcloud iam workforce-pools providers keys create KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider PROVIDER_ID \ --location global \ --use encryption \ --spec KEY_SPECIFICATION
Sostituisci quanto segue:
KEY_ID
: un nome della chiave a tua sceltaWORKFORCE_POOL_ID
: l'ID poolPROVIDER_ID
: ID provider-
KEY_SPECIFICATION
: la specifica della chiave, che può esserersa-2048
,rsa-3072
ersa-4096
.
Dopo aver creato la coppia di chiavi, scarica la chiave pubblica in un certificato esegui questo comando. Solo la federazione delle identità per la forza lavoro ha alla chiave privata.
gcloud iam workforce-pools providers keys describe KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider PROVIDER_ID \ --location global \ --format "value(keyData.key)" \ > CERTIFICATE_PATH
Sostituisci quanto segue:
KEY_ID
: nome della chiaveWORKFORCE_POOL_ID
: l'ID poolPROVIDER_ID
: ID providerCERTIFICATE_PATH
: il percorso in cui scrivere il certificato, ad esempiosaml-certificate.cer
osaml-certificate.pem
Configura l'IdP compatibile con SAML 2.0 per emettere le asserzioni SAML criptate
Configura l'IdP SAML per utilizzare il certificato pubblico scaricato dal l'ultimo passaggio per criptare le asserzioni SAML emesse. Consulta il tuo IdP per ottenere istruzioni specifiche.Dopo aver configurato l'IdP per criptare le asserzioni SAML, ti consigliamo di verificare che le asserzioni che genera siano effettivamente criptate. Anche se la crittografia delle asserzioni SAML è configurata, la federazione delle identità della forza lavoro può comunque elaborare le asserzioni di testo non crittografato.
Elimina le chiavi di crittografia della federazione delle identità per la forza lavoro
Per eliminare le chiavi di crittografia SAML, esegui questo comando:gcloud iam workforce-pools providers keys delete KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider PROVIDER_ID \ --location global
Sostituisci quanto segue:
KEY_ID
: nome della chiaveWORKFORCE_POOL_ID
: l'ID poolPROVIDER_ID
: ID provider
Algoritmi di crittografia SAML supportati
La federazione delle identità per la forza lavoro supporta i seguenti algoritmi di trasporto delle chiavi:
- http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p
- http://www.w3.org/2009/xmlenc11#rsa-oaep"
- http://www.w3.org/2001/04/xmlenc#rsa-1_5"
La federazione delle identità per la forza lavoro supporta i seguenti algoritmi di crittografia dei blocchi:
- http://www.w3.org/2001/04/xmlenc#aes128-cbc
- http://www.w3.org/2001/04/xmlenc#aes192-cbc
- http://www.w3.org/2001/04/xmlenc#aes256-cbc
- http://www.w3.org/2009/xmlenc11#aes128-gcm
- http://www.w3.org/2009/xmlenc11#aes256-gcm
Requisiti della chiave di firma SAML X.509
Le seguenti specifiche delle chiavi si applicano alle chiavi di firma SAML X.509:
Una chiave pubblica RSA sottoposta a wrapping in un certificato X.509 v3.
Requisiti di validità del certificato:
notBefore
: un timestamp che non sia più di 7 giorni nel futuronotAfter
: un timestamp non superiore a 20 anni nel futuro
Algoritmi consigliati:
- RSAwithSHA256 (dimensioni delle chiavi supportate (bit): 2048, 3072, 4096)
- ECDSAwithSHA256
Un provider di pool di identità per la forza lavoro può essere configurato con al massimo tre chiavi di firma in un determinato momento. Se esistono più chiavi, Google Cloud esegue varie iterazioni e tenta di utilizzare ogni chiave non scaduta per completare di scambio di token.
Come best practice per la sicurezza, ti consigliamo vivamente di non riutilizzare la stessa coppia di chiavi con altri servizi.
Gestione delle chiavi
Per aggiornare le chiavi di firma dell'IdP, segui questi passaggi:
Crea una nuova coppia di chiavi asimmetriche e configura l'identità SAML con la coppia di chiavi. Inizialmente, la contrassegni come inattiva prima del giorno per attivarlo in un passaggio successivo.
Scarica un documento XML dei metadati SAML dal tuo IdP.
Aggiorna la risorsa del provider di pool di identità della forza lavoro utilizzando SAML di metadati. Quando sono presenti più chiavi, Google Cloud esegue un'iterazione su ogni chiave non scaduta e tenta di soddisfare una richiesta di scambio di token.
Per aggiornare il provider del pool di identità della forza lavoro con i metadati SAML, esegui questo comando.
gcloud iam workforce-pools providers update-saml PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --idp-metadata-path=SAML_METADATA_FILE_PATH \ --location=global
Sostituisci quanto segue:
PROVIDER_ID
: ID providerWORKFORCE_POOL_ID
: il pool di identità della forza lavoro IDSAML_METADATA_FILE_PATH
: il percorso del protocollo SAML file di metadati
Attendi il completamento dell'operazione restituita dal passaggio precedente (l'operazione è contrassegnata come completata), quindi nell'IdP SAML attivare la nuova chiave di firma. La vecchia chiave di firma è contrassegnata come inattiva. Le asserzioni emesse dall'IdP vengono firmate utilizzando la nuova chiave.
I seguenti passaggi sono facoltativi, ma ti consigliamo di eseguirli al meglio pratica:
- Elimina la vecchia chiave di firma ora inattiva dall'IdP.
- Scarica il documento XML dei metadati SAML dal tuo IdP.
Aggiorna la risorsa del provider di pool di identità della forza lavoro utilizzando SAML di metadati. Google Cloud rifiuta le asserzioni firmate con la chiave di firma scaduta. Per aggiornare il documento, esegui il comando seguente:
gcloud iam workforce-pools providers update-saml PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --idp-metadata-path=SAML_METADATA_FILE_PATH \ --location=global
Sostituisci quanto segue:
PROVIDER_ID
: ID providerWORKFORCE_POOL_ID
: il pool di identità della forza lavoro IDSAML_METADATA_FILE_PATH
: il percorso dei metadati SAML
Vincolo di eliminazione della chiave
Google Cloud rifiuta le asserzioni firmate con una chiave eliminata.
Rappresenta gli utenti del pool di forza lavoro nei criteri IAM
La tabella seguente mostra gli identificatori delle entità che utilizzi per concedere i ruoli a un singolo utente, a un gruppo di utenti, a utenti che presentano una determinata rivendicazione o a tutti da un pool di forza lavoro.
Identità | Formato dell'identificatore |
---|---|
Identità unica in un pool di identità della forza lavoro |
principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE
|
Tutte le identità della forza lavoro in un gruppo |
principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/GROUP_ID
|
Tutte le identità della forza lavoro con un valore dell'attributo specifico |
principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
|
Tutte le identità in un pool di identità della forza lavoro |
principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/*
|
Concedere ruoli IAM alle entità
Puoi concedere ruoli alle entità, ad esempio identità singole, gruppi o un intero pool.
Per concedere un ruolo in un progetto a un principale, esegui il seguente comando:
gcloud projects add-iam-policy-binding PROJECT_ID \
--role="ROLE" \
--member="PRINCIPAL"
Sostituisci quanto segue:
PROJECT_ID
: l'ID progettoROLE
: il ruolo da impostarePRINCIPAL
: l'entità; consulta gli identificatori principali per la federazione delle identità per la forza lavoro.
Nell'esempio che segue, il comando concede all'amministratore Storage
(roles/storage.admin
) a tutte le identità all'interno del gruppo
GROUP_ID
:
gcloud projects add-iam-policy-binding my-project \
--role="roles/storage.admin" \
--member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
Per scoprire di più sul formato dell'entità, consulta Identificatori entità per la federazione delle identità per la forza lavoro.
Eliminare utenti
La federazione delle identità per la forza lavoro crea metadati e risorse delle identità utente federate. Se scegli di eliminare utenti, nel tuo IdP, Ad esempio, devi anche eliminare esplicitamente queste risorse in Google Cloud. Per farlo, consulta Eliminare gli utenti della federazione delle identità per la forza lavoro e i relativi dati.
È possibile che le risorse continuino a essere associate a un utente che è stato eliminato. Il motivo è che l'eliminazione di metadati e risorse dell'utente richiede una operativa. Dopo aver avviato l'eliminazione dell'identità di un utente, i processi che l'utente, avviato prima dell'eliminazione, può continuare a essere eseguito finché i processi sono stati completati o sono stati annullati.
Passaggi successivi
- Ottenere credenziali di breve durata per la federazione delle identità per la forza lavoro
- Gestire i provider di pool di identità della forza lavoro
- Elimina gli utenti della federazione delle identità per la forza lavoro e i relativi dati
- Scopri quali prodotti Google Cloud supportano la federazione delle identità per la forza lavoro
- Configurare l'accesso degli utenti alla console (in federazione)