Connettersi a un provider di identità

Questa pagina spiega come connettere Google Distributed Cloud (GDC) air-gapped al provider di identità (IdP) esistente della tua organizzazione. Un IdP è un sistema che gestisce e protegge centralmente le identità degli utenti, fornendo servizi di autenticazione. Il collegamento a un IdP esistente consente agli utenti di accedere a GDC utilizzando le credenziali della propria organizzazione, senza dover creare o gestire account separati all'interno di GDC. Questa procedura garantisce un'esperienza di accesso semplice e sicura. Poiché un IdP è una risorsa globale, gli utenti possono accedere a GDC tramite lo stesso IdP indipendentemente dalla zona in cui lavorano.

Questa pagina è rivolta ai segmenti di pubblico all'interno del gruppo di amministratori della piattaforma, come amministratori IT o ingegneri della sicurezza, che vogliono connettersi a un IdP. Per saperne di più, consulta la documentazione sulle audience per GDC air-gapped.

Puoi connetterti a un provider di identità esistente utilizzando uno dei seguenti metodi:

Prima di iniziare

Prima di connetterti a un provider di identità esistente, assicurati che la configurazione iniziale sia completa e di disporre delle autorizzazioni necessarie.

Configurazione iniziale della connessione al provider di identità

Un membro del gruppo di operatori dell'infrastruttura della tua organizzazione deve configurare la connessione iniziale all'IdP prima che gli utenti possano accedere ai cluster o ai dashboard di GDC.

Possono farlo aprendo un ticket in il sistema di gestione dei ticket e fornendo le seguenti informazioni sul provider di identità:

  • Numero di server e relativi tipi.
  • Quantità di spazio di archiviazione a blocchi in TB.
  • Quantità di spazio di archiviazione di oggetti in TB.
  • Parametri obbligatori per OIDC:
    • clientID: ID per l'applicazione client che effettua richieste di autenticazione al provider OpenID.
    • clientSecret: secret noto solo all'applicazione e al provider OpenID.
    • issuerURL: URL a cui vengono inviate le richieste di autorizzazione al tuo OpenID.
    • scopes: ambiti aggiuntivi da inviare al provider OpenID.
    • userclaim: rivendicazione del token web JSON (JWT) da utilizzare come nome utente.
    • certificateAuthorityData: un certificato con codifica PEM base64 per il provider OIDC.
  • Parametri obbligatori per i provider SAML:
    • idpCertificateDataList: i certificati IdP per verificare la risposta SAML. Questi certificati devono essere codificati in base64 e in formato PEM. Per facilitare la rotazione dei certificati IdP, sono supportati al massimo due certificati.
    • idpEntityID: l'ID entità SAML per il provider SAML, specificato in un formato URI. Ad esempio: https://www.idp.com/saml.
    • idpSingleSignOnURI: l'URI dell'endpoint SSO del provider SAML. Ad esempio: https://www.idp.com/saml/sso.
  • Nome utente o gruppo di nomi utente per gli amministratori iniziali.

Autorizzazioni obbligatorie

Per ottenere le autorizzazioni necessarie per connettere un provider di identità esistente, procedi nel seguente modo:

  • Chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore federazione IdP (idp-federation-admin).
  • Assicurati che l'amministratore iniziale specificato durante la connessione del provider di identità disponga del ruolo Amministratore IAM organizzazione (organization-iam-admin).

Connettersi a un provider di identità esistente

Per connettere il provider di identità, devi disporre di un singolo ID client e secret del tuo provider di identità. Puoi connetterti a un provider OIDC o SAML esistente.

Connettersi a un provider OIDC esistente

Per connetterti a un provider OIDC esistente, completa i seguenti passaggi:

Console

  1. Accedi alla console GDC. L'esempio seguente mostra la console dopo l'accesso a un'organizzazione denominata org-1: Pagina di benvenuto della console con link di accesso rapido alle attività comuni
  2. Nel menu di navigazione, fai clic su Identity and Access > Identity.
  3. Fai clic su Configura nuovo provider di identità.

  4. Nella sezione Configura provider di identità, completa i seguenti passaggi e fai clic su Avanti:

    1. Nel menu a discesa Provider di identità, seleziona OpenID Connect (OIDC).
    2. Inserisci un nome del provider di identità.
    3. Nel campo URL Google Distributed Cloud, inserisci l'URL che utilizzi per accedere a GDC.
    4. Nel campo URI dell'emittente, inserisci l'URL a cui vengono inviate le richieste di autorizzazione al tuo provider di identità. Il server API Kubernetes utilizza questo URL per rilevare le chiavi pubbliche per la verifica dei token. L'URL deve utilizzare HTTPS.
    5. Nel campo ID client, inserisci l'ID dell'applicazione client che effettua richieste di autenticazione al provider identità.
    6. Nella sezione Client secret, seleziona Configura client secret (consigliato).
      1. Nel campo Client secret, inserisci il client secret, ovvero un secret condiviso tra il tuo provider di identità e Distributed Cloud.
    7. (Facoltativo) Nel campo Prefisso, inserisci un prefisso. Il prefisso viene aggiunto all'inizio delle rivendicazioni utente e delle rivendicazioni di gruppo. I prefissi vengono utilizzati per distinguere le diverse configurazioni del provider di identità. Ad esempio, se imposti un prefisso di myidp, un'attestazione utente potrebbe essere myidpusername@example.com e un'attestazione gruppo potrebbe essere myidpgroup@example.com. Il prefisso deve essere incluso anche quando vengono assegnate autorizzazioni dicontrollo dell'accessoo dell'accesso basato sui ruoli (RBAC) ai gruppi.

    8. (Facoltativo) Nella sezione Crittografia, seleziona Attiva token criptati.

      Per attivare i token di crittografia, devi disporre del ruolo di amministratore della federazione IdP. Chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore federazione IdP (idp-federation-admin).

      1. Nel campo ID chiave, inserisci l'ID chiave. L'ID chiave è una chiave pubblica di un token JWT (JSON Web Encryption). Il tuo provider OIDC configura e fornisce un ID chiave.
      2. Nel campo Chiave di decrittografia, inserisci la chiave di decrittografia in formato PEM. La chiave di decriptazione è una chiave asimmetrica che decripta una crittografia. Il provider OIDC configura e fornisce una chiave di decrittografia.
  5. Nella sezione Configura attributi, completa i seguenti passaggi e fai clic su Avanti:

    1. Nel campo Autorità di certificazione per il provider OIDC, inserisci un certificato con codifica PEM base64 per il provider di identità. Per ulteriori informazioni, consulta la pagina https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail.
      1. Per creare la stringa, codifica il certificato, incluse le intestazioni, in base64.
      2. Includi la stringa risultante come riga singola. Esempio: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT==
    2. Nel campo Rivendicazione di gruppo, inserisci il nome della rivendicazione nel token del provider di identità che contiene le informazioni sul gruppo dell'utente.
    3. Nel campo Rivendicazione utente, inserisci la rivendicazione per identificare ogni utente. L'affermazione predefinita per molti fornitori è sub. Puoi scegliere altre attestazioni, ad esempio email o name, a seconda del provider di identità. Alle attestazioni diverse da email viene aggiunto come prefisso l'URL dell'emittente per evitare conflitti di denominazione.
    4. (Facoltativo) Nella sezione Attributi personalizzati, fai clic su Aggiungi e inserisci coppie chiave-valore per ulteriori attestazioni relative a un utente, ad esempio il suo dipartimento o l'URL dell'immagine del profilo.
    5. Se il tuo provider di identità richiede ambiti aggiuntivi, nel campo Ambiti, inserisci gli ambiti separati da virgole da inviare al provider di identità.
    6. Nella sezione Parametri aggiuntivi, inserisci eventuali coppie chiave-valore aggiuntive (separate da virgole) richieste dal tuo provider di identità. Se autorizzi un gruppo, inserisci resource=token-groups-claim.
  6. Nella sezione Specifica gli amministratori iniziali, completa i seguenti passaggi e fai clic su Avanti:

    1. Scegli se aggiungere singoli utenti o gruppi come amministratori iniziali.
    2. Nel campo Alias utente o gruppo, inserisci l'indirizzo email dell'utente o del gruppo per accedere all'organizzazione. Se sei l'amministratore, inserisci il tuo indirizzo email, ad esempio kiran@example.com. Il prefisso viene aggiunto prima del nome utente, ad esempio myidp-kiran@example.com.
  7. Rivedi le tue selezioni e fai clic su Configura.

Il nuovo profilo del provider di identità è disponibile nell'elenco dei profili di identità.

API

Per connettere il tuo provider di identità alla tua organizzazione, crea la risorsa personalizzata globale IdentityProviderConfig.

  1. Crea un file YAML della risorsa personalizzata IdentityProviderConfig, ad esempio pa-idp-oidc.yaml:

    apiVersion: iam.global.gdc.goog/v1
    kind: IdentityProviderConfig
    metadata:
      name: pa-idp-oidc
      namespace: platform
    spec:
      oidc:
        certificateAuthorityData: "IDP_BASE64_ENCODED_CERTIFICATE"
        clientID: IDP_CLIENT_ID
        clientSecret: IDP_CLIENT_SECRET
        groupPrefix: IDP_GROUP_PREFIX
        groupsClaim: IDP_GROUP_CLAIM
        issuerURI: IDP_ISSUER_URI
        scopes: openid email profile
        userClaim: IDP_USER_CLAIM
        userPrefix: IDP_USER_PREFIX
    

    Sostituisci le seguenti variabili:

    • IDP_BASE64_ENCODED_CERTIFICATE: il certificato con codifica Base64 per l'IdP.
    • IDP_CLIENT_ID: l'ID client per l'IdP.
    • IDP_CLIENT_SECRET: il client secret per il provider di identità.
    • IDP_GROUP_PREFIX: il prefisso per i gruppi nel provider di identità.
    • IDP_GROUP_CLAIM: il nome dell'attestazione nel token IdP che raggruppa le informazioni.
    • IDP_ISSUER_URI: l'URI dell'emittente per l'IdP.
    • IDP_USER_CLAIM: il nome dell'attestazione nel token IdP per l'utente.
    • IDP_USER_PREFIX: il prefisso per l'IdP utente.
  2. Applica la risorsa personalizzata IdentityProviderConfig al server API globale:

    kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f pa-idp-oidc.yaml
    

    Sostituisci la variabile GLOBAL_API_SERVER_KUBECONFIG con il percorso del file kubeconfig per il server API globale.

Connettersi a un provider SAML esistente

Per connetterti a un provider SAML esistente, completa i seguenti passaggi:

Console

  1. Accedi alla console GDC.
  2. Nel menu di navigazione, fai clic su Identity and Access > Identity.
  3. Nella sezione Configura provider di identità, completa i seguenti passaggi e fai clic su Avanti:

    1. Nel menu a discesa Provider di identità, seleziona Security Assertion Markup Language (SAML).
    2. Inserisci un nome del provider di identità.
    3. Nel campo ID identità, inserisci l'ID dell'applicazione client che effettua richieste di autenticazione al provider di identità.
    4. Nel campo URI SSO, inserisci l'URL dell'endpoint Single Sign-On del provider. Ad esempio: https://www.idp.com/saml/sso.
    5. Nel campo Prefisso del provider di identità, inserisci un prefisso. Il prefisso viene aggiunto all'inizio delle rivendicazioni di utenti e gruppi. I prefissi distinguono tra diverse configurazioni del provider di identità. Ad esempio: se imposti un prefisso myidp, un'attestazione utente potrebbe essere visualizzata come myidpusername@example.com e un'attestazione gruppo potrebbe essere visualizzata come myidpgroup@example.com. Devi includere anche il prefisso quando assegni autorizzazioni RBAC ai gruppi.

    6. Per una maggiore sicurezza, configura il tuo provider SAML in modo che emetta asserzioni con una durata compresa tra 5 e 10 minuti. Questa impostazione è configurabile nelle impostazioni del tuo provider SAML.

    7. (Facoltativo) Nella sezione SAML Assertions (Asserzioni SAML), seleziona Enable encrypted SAML assertions (Attiva asserzioni SAML criptate).

      Per abilitare le asserzioni SAML criptate, devi disporre del ruolo di amministratore della federazione IdP. Chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore federazione IdP (idp-federation-admin).

      1. Nel campo Encryption certificate (Certificato di crittografia), inserisci il certificato di crittografia in formato PEM. Ricevi il certificato di crittografia dopo aver generato il provider SAML.
      2. Nel campo Chiave di decrittografia, inserisci la chiave di decrittografia. Ricevi la chiave di decrittografia dopo aver generato il provider SAML.
    8. (Facoltativo) Nella sezione SAML Signed requests (Richieste SAML firmate), seleziona Enable signed SAML requests (Attiva richieste SAML firmate).

      1. Nel campo Signing certificate (Certificato di firma), inserisci il certificato di firma nel formato di file PEM. Il tuo provider SAML configura e produce un certificato di firma.
      2. Nel campo Chiave di firma, inserisci la chiave di firma nel formato del file PEM. Il tuo provider SAML configura e produce una chiave di firma.
  4. Nella pagina Configura attributi, completa i seguenti passaggi e fai clic su Avanti:

    1. Nel campo Certificato IdP, inserisci un certificato con codifica PEM base64 per il provider di identità. Per ulteriori informazioni, consulta la pagina https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail.
      1. Per creare la stringa, codifica il certificato, incluse le intestazioni, in base64.
      2. Includi la stringa risultante come riga singola. Ad esempio LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT==.
    2. Inserisci eventuali certificati aggiuntivi nel campo Certificato IdP aggiuntivo.
    3. Nel campo Attributo utente, inserisci l'attributo per identificare ogni utente. L'attributo predefinito per molti fornitori è sub. Puoi scegliere altri attributi, ad esempio email o name, a seconda del provider di identità. Gli attributi diversi da email hanno come prefisso l'URL dell'emittente per evitare conflitti di denominazione.
    4. Nel campo Attributo gruppo, inserisci il nome dell'attributo nel token del provider di identità che contiene le informazioni sul gruppo dell'utente.
    5. (Facoltativo) Nell'area Mappatura attributi, fai clic su Aggiungi e inserisci coppie chiave-valore per attributi aggiuntivi relativi a un utente, ad esempio il reparto o l'URL dell'immagine del profilo.
  5. Nella sezione Specifica gli amministratori iniziali, completa i seguenti passaggi e fai clic su Avanti:

    1. Scegli se aggiungere singoli utenti o gruppi come amministratori iniziali.
    2. Nel campo Nome utente, inserisci l'indirizzo email dell'utente o del gruppo per accedere all'organizzazione. Se sei l'amministratore, inserisci il tuo indirizzo email, ad esempio kiran@example.com. Il prefisso viene aggiunto prima del nome utente, ad esempio myidp-kiran@example.com.
  6. Nella pagina Revisione, controlla tutti i valori di ogni configurazione dell'identità prima di continuare. Fai clic su Indietro per tornare alle pagine precedenti e apportare le correzioni necessarie. Dopo aver configurato tutti i valori in base alle tue specifiche, fai clic su Configurazione.

API

Per connettere il tuo provider di identità alla tua organizzazione, crea la risorsa personalizzata globale IdentityProviderConfig.

  1. Crea un file YAML della risorsa personalizzata IdentityProviderConfig, ad esempio pa-idp-saml.yaml:

    apiVersion: iam.global.gdc.goog/v1
    kind: IdentityProviderConfig
    metadata:
      name: pa-idp-saml
      namespace: platform
    spec:
      saml:
        groupPrefix: IDP_GROUP_PREFIX
        groupsAttribute: IDP_GROUP_ATTRIBUTE
        idpCertificateDataList:
        - "IDP_BASE64_ENCODED_CERTIFICATE"
        idpEntityID: IDP_SAML_ENTITY_ID
        idpSingleSignOnURI: IDP_SAML_SSO_URI
        userAttribute: IDP_USER_ATTRIBUTE
        userPrefix: IDP_USER_PREFIX
    

    Sostituisci le seguenti variabili:

    • IDP_GROUP_PREFIX: il prefisso per i gruppi nel provider di identità.
    • IDP_GROUP_ATTRIBUTE: l'attributo per i gruppi nel provider di identità.
    • IDP_BASE64_ENCODED_CERTIFICATE: il certificato con codifica Base64 per l'IdP.
    • IDP_SAML_ENTITY_ID: l'URL o l'URI per identificare in modo univoco l'IdP.
    • IDP_SAML_SSO_URI: l'URI dell'emittente per l'IdP.
    • IDP_USER_ATTRIBUTE: l'attributo per l'utente IdP, ad esempio un'email.
    • IDP_USER_PREFIX: il nome dell'attestazione nel token IdP per l'utente.
  2. Applica la risorsa personalizzata IdentityProviderConfig al server API globale:

    kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f pa-idp-saml.yaml
    

    Sostituisci la variabile GLOBAL_API_SERVER_KUBECONFIG con il percorso del file kubeconfig per il server API globale.

Eliminare un provider di identità esistente

Elimina un provider di identità esistente utilizzando la console GDC:

  1. Accedi alla console GDC.
  2. Nel selettore di progetti, seleziona l'organizzazione in cui vuoi eliminare il provider di identità.
  3. Nel menu di navigazione, fai clic su Identity and Access > Identity.
  4. Seleziona la casella accanto al nome di uno o più IdP.

    Viene visualizzato un messaggio con il numero di provider di identità selezionati e un pulsante Elimina.

  5. Fai clic su Elimina.