Conectar a um provedor de identidade

Nesta página, explicamos como conectar o Google Distributed Cloud (GDC) isolado por air-gap ao provedor de identidade (IdP) da sua organização. Um IdP é um sistema que gerencia e protege centralmente as identidades dos usuários, fornecendo serviços de autenticação. Ao se conectar a um IdP, os usuários podem acessar o GDC usando as credenciais da organização, sem precisar criar ou gerenciar contas separadas no GDC. Esse processo garante uma experiência de login integrada e segura. Como um IdP é um recurso global, os usuários podem acessar o GDC pelo mesmo IdP, independente da zona em que trabalham.

Esta página é destinada a públicos-alvo do grupo de administradores da plataforma, como administradores de TI ou engenheiros de segurança, que querem se conectar a um IdP. Para mais informações, consulte Públicos-alvo da documentação isolada do GDC.

É possível se conectar a um provedor de identidade usando uma das seguintes opções:

Antes de começar

Antes de se conectar a um provedor de identidade, verifique se a configuração inicial foi concluída e se você tem as permissões necessárias.

Configuração inicial da conexão do provedor de identidade

Um membro do grupo de operadores de infraestrutura da sua organização precisa configurar a conexão inicial do IdP antes que os usuários possam acessar os clusters ou painéis do GDC.

Para isso, abra um tíquete no o sistema de tíquetes e forneça as seguintes informações sobre o provedor de identidade:

  • Número de servidores e os tipos deles.
  • Quantidade de armazenamento em blocos em TB.
  • Quantidade de armazenamento de objetos em TB.
  • Parâmetros obrigatórios para OIDC:
    • clientID: o ID do aplicativo cliente que faz solicitações de autenticação ao provedor OpenID.
    • clientSecret: o secret conhecido apenas pelo aplicativo e pelo provedor OpenID.
    • issuerURL: o URL para onde as solicitações de autorização do provedor OpenID são enviadas.
    • scopes: escopos extras a serem enviados ao provedor OpenID.
    • userclaim: a declaração do JSON Web Token (JWT) a ser usada como nome de usuário.
    • certificateAuthorityData: uma string codificada em base64 do certificado codificado em PEM para o provedor OIDC.
  • Parâmetros obrigatórios para provedores SAML:
    • idpCertificateDataList: os certificados do IdP para verificar a resposta SAML. Esses certificados precisam ser codificados em base64 padrão e formatados em PEM. Apenas dois certificados são aceitos para facilitar a rotação de certificados do IdP.
    • idpEntityID: o ID da entidade SAML do provedor de SAML, especificado em um formato de URI. Exemplo: https://www.idp.com/saml.
    • idpSingleSignOnURI: o URI do endpoint de SSO do provedor SAML. Exemplo: https://www.idp.com/saml/sso.
  • Nome de usuário ou grupo de nomes de usuários dos administradores iniciais.

Permissões necessárias

Para conseguir as permissões necessárias para conectar um provedor de identidade atual, faça o seguinte:

  • Peça ao administrador do IAM da organização para conceder a você o papel de Administrador da federação de IdP (idp-federation-admin).
  • Verifique se o administrador inicial especificado ao conectar o provedor de identidade tem o papel de administrador do IAM da organização (organization-iam-admin).

Conectar a um provedor de identidade

Para conectar o provedor de identidade, você precisa ter um único ID do cliente e uma chave secreta do seu provedor de identidade. É possível se conectar a um provedor OIDC ou SAML.

Conectar a um provedor OIDC

Para se conectar a um provedor de OIDC, siga estas etapas:

Console

  1. Faça login no console do GDC. O exemplo a seguir mostra o console depois de fazer login em uma organização chamada org-1: Página de boas-vindas do console com links de acesso rápido para tarefas comuns
  2. No menu de navegação, clique em Identidade e acesso > Identidade.
  3. Clique em Adicionar provedor de identidade.
  4. Na seção Configurar provedor de identidade, siga estas etapas:

    1. No menu suspenso Provedor de identidade, selecione Open ID Connect (OIDC).
    2. Insira um Nome do provedor de identidade.
    3. No campo URI do emissor, insira o URL em que as solicitações de autorização são enviadas ao seu provedor de identidade. O servidor da API Kubernetes usa esse URL para descobrir chaves públicas de verificação de tokens. O URL precisa usar HTTPS.
    4. No campo ID do cliente, insira o ID do aplicativo cliente que faz solicitações de autenticação ao provedor de identidade.
    5. No campo Chave secreta do cliente, insira a chave secreta do cliente, que é uma chave secreta compartilhada entre seu provedor de identidade e o Distributed Cloud.
    6. Opcional: no campo Prefixo do provedor de identidade, insira um prefixo. O prefixo é adicionado ao início das declarações de usuário e de grupo. Os prefixos são usados para distinguir entre diferentes configurações de provedor de identidade. Por exemplo, se você definir um prefixo de myidp, uma declaração de usuário poderá ser myid-pusername@example.com e uma declaração de grupo poderá ser myid-pgroup@example.com. O prefixo também precisa ser incluído ao atribuir permissões de controle de acesso baseado em papéis (RBAC) a grupos.

    7. Opcional: na seção Criptografia, selecione Ativar tokens de criptografia.

      Para ativar os tokens de criptografia, peça ao administrador do IAM da organização para conceder a você o papel de administrador da federação de IdP (idp-federation-admin).

      1. No campo ID da chave, insira o ID da sua chave. O ID da chave identifica a chave pública de um token de criptografia da Web JSON (JWE). Seu provedor OIDC configura e provisiona um ID de chave.
      2. No campo Chave de descriptografia, insira a chave de descriptografia no formato PEM. A chave de descriptografia é uma chave assimétrica usada para descriptografar tokens. Seu provedor OIDC configura e provisiona uma chave de descriptografia.
    8. Clique em Próxima.

  5. Na seção Configurar atributos, siga estas etapas:

    1. No campo Autoridade de certificação para provedor OIDC, insira um certificado codificado em PEM e em base64 para o provedor de identidade. Para mais informações, consulte Privacy-Enhanced Mail (em inglês) na Wikipédia.
      1. Para criar a string, codifique o certificado, incluindo cabeçalhos, em base64.
      2. Inclua a string resultante em uma única linha. Exemplo: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT==
    2. No campo Declaração de grupo, insira o nome da declaração no token do provedor de identidade que contém as informações do grupo do usuário.
    3. No campo Declaração do usuário, insira a declaração para identificar cada usuário. A declaração padrão para muitos provedores é sub. É possível escolher outras declarações, como email ou name, dependendo do provedor de identidade. Declarações diferentes de email são prefixadas com o URL do emissor para evitar conflitos de nomenclatura.
    4. Opcional: na seção Atributos personalizados, clique em Adicionar par e insira pares de chave-valor para outras declarações sobre um usuário, como o departamento ou o URL da foto do perfil.
    5. Se o provedor de identidade exigir outros escopos, no campo Escopos, insira os escopos separados por vírgulas para enviar ao provedor.
    6. Na seção Parâmetros extras, insira outros pares de chave-valor (separados por vírgula) exigidos pelo seu provedor de identidade. Se você estiver autorizando um grupo, transmita resource=token-groups-claim.
    7. Clique em Próxima.
  6. Na seção Especificar administradores iniciais, siga estas etapas:

    1. Escolha se quer adicionar usuários individuais ou grupos como administradores iniciais.
    2. No campo Nome de usuário ou alias do grupo, insira o endereço de e-mail do usuário ou do grupo para acessar a organização. Se você for o administrador, insira seu endereço de e-mail, por exemplo kiran@example.com. O prefixo é adicionado antes do nome de usuário, como myidp-kiran@example.com.
    3. Clique em Próxima.
  7. Revise suas escolhas e clique em Configurar.

O novo perfil de provedor de identidade está disponível na lista de perfis de identidade.

API

Para conectar seu provedor de identidade à sua organização, crie o recurso personalizado IdentityProviderConfig global.

  1. Crie um arquivo YAML de recurso personalizado IdentityProviderConfig, como 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
    

    Substitua as seguintes variáveis:

    • IDP_BASE64_ENCODED_CERTIFICATE: o certificado codificado em base64 para o IdP.
    • IDP_CLIENT_ID: o ID do cliente para o IdP.
    • IDP_CLIENT_SECRET: a chave secreta do cliente para o IdP.
    • IDP_GROUP_PREFIX: o prefixo dos grupos no IdP.
    • IDP_GROUP_CLAIM: o nome da declaração no token do IdP que agrupa informações.
    • IDP_ISSUER_URI: o URI do emissor do IdP.
    • IDP_USER_CLAIM: o nome da declaração no token do IdP para o usuário.
    • IDP_USER_PREFIX: o prefixo do IdP do usuário.
  2. Aplique o recurso personalizado IdentityProviderConfig ao servidor de API global:

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

    Substitua a variável GLOBAL_API_SERVER_KUBECONFIG pelo caminho para o arquivo kubeconfig do servidor de API global.

Conectar a um provedor SAML

Para se conectar a um provedor de SAML, siga estas etapas:

Console

  1. Faça login no console do GDC. O exemplo a seguir mostra o console depois de fazer login em uma organização chamada org-1: Página de boas-vindas do console com links de acesso rápido para tarefas comuns
  2. No menu de navegação, clique em Identidade e acesso > Identidade.
  3. Clique em Adicionar provedor de identidade.
  4. Na seção Configurar provedor de identidade, siga estas etapas:

    1. No menu suspenso Provedor de identidade, selecione Linguagem de marcação para autorização de segurança (SAML).
    2. Insira um Nome do provedor de identidade.
    3. No campo ID da identidade, insira o ID do aplicativo cliente que faz solicitações de autenticação ao provedor de identidade.
    4. No campo URI do SSO, insira o URL do endpoint de autenticação única do provedor. Por exemplo, https://www.idp.com/saml/sso.
    5. No campo Prefixo do provedor de identidade, insira um prefixo. O prefixo é adicionado ao início das declarações de usuários e grupos. Os prefixos distinguem diferentes configurações de provedor de identidade. Por exemplo, se você definir um prefixo de myidp, uma declaração de usuário poderá aparecer como myidp-username@example.com e uma declaração de grupo poderá aparecer como myidp-group@example.com. Você também precisa incluir o prefixo ao atribuir permissões do RBAC a grupos.

    6. Para aumentar a segurança, configure seu provedor SAML para emitir asserções com um ciclo de vida de 5 a 10 minutos. Essa configuração pode ser definida nas configurações do provedor SAML.

    7. Opcional: na seção Declarações SAML, selecione Ativar criptografia de declarações SAML.

      Para ativar as declarações SAML criptografadas, peça ao administrador do IAM da organização para conceder a você o papel de administrador da federação de IdP (idp-federation-admin).

      1. No campo Certificado de declaração de criptografia, insira seu certificado de criptografia no formato PEM. Você recebe o certificado de criptografia do seu provedor SAML.
      2. No campo Chave de declaração de criptografia, insira sua chave privada. Você recebe a chave de descriptografia depois de gerar o provedor SAML.
    8. Opcional: na seção SAML Signed Requests, selecione Enable signed SAML requests.

      1. No campo Certificado de assinatura, insira seu certificado de assinatura no formato de arquivo PEM. Seu provedor SAML emite um certificado de assinatura.
      2. No campo Chave de assinatura, insira sua chave de assinatura no formato de arquivo PEM. Seu provedor SAML configura e gera uma chave de assinatura.
    9. Clique em Próxima.

  5. Na página Configurar atributos, conclua as etapas a seguir:

    1. No campo Certificado do IdP, insira um certificado codificado em PEM e em base64 para o provedor de identidade. Para mais informações, consulte Privacy-Enhanced Mail (em inglês) na Wikipédia.
      1. Para criar a string, codifique o certificado, incluindo cabeçalhos, em base64.
      2. Inclua a string resultante em uma única linha. Por exemplo: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT==.
    2. Insira outros certificados no campo Certificado adicional do IdP.
    3. No campo Atributo do usuário, insira o atributo para identificar cada usuário. O atributo padrão para muitos provedores é sub. É possível escolher outros atributos, como email ou name, dependendo do provedor de identidade. Atributos diferentes de email são prefixados com o URL do emissor para evitar conflitos de nomenclatura.
    4. No campo Atributo do grupo, insira o nome do atributo no token do provedor de identidade que contém as informações do grupo do usuário.
    5. Opcional: na seção Mapeamento de atributos, clique em Adicionar par e insira pares de chave-valor para outros atributos de um usuário, como o departamento ou o URL da foto do perfil.
    6. Clique em Próxima.
  6. Na seção Especificar administradores iniciais, siga estas etapas:

    1. Escolha se quer adicionar usuários individuais ou grupos como administradores iniciais.
    2. No campo Nome de usuário ou alias do grupo, insira o endereço de e-mail do usuário ou do grupo para acessar a organização. Se você for o administrador, insira seu endereço de e-mail, por exemplo kiran@example.com. O prefixo é adicionado antes do nome de usuário, como myidp-kiran@example.com.
    3. Clique em Próxima.
  7. Na página Revisar, verifique todos os valores de cada configuração de identidade antes de continuar.

    Clique em Voltar para retornar às páginas anteriores e fazer as correções necessárias.

  8. Clique em Configurar.

O novo perfil de provedor de identidade está disponível na lista de perfis de identidade.

API

Para conectar seu provedor de identidade à sua organização, crie o recurso personalizado IdentityProviderConfig global.

  1. Crie um arquivo YAML de recurso personalizado IdentityProviderConfig, como 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
    

    Substitua as seguintes variáveis:

    • IDP_GROUP_PREFIX: o prefixo dos grupos no IdP.
    • IDP_GROUP_ATTRIBUTE: o atributo para grupos no IdP.
    • IDP_BASE64_ENCODED_CERTIFICATE: o certificado codificado em base64 para o IdP.
    • IDP_SAML_ENTITY_ID: o URL ou URI para identificar exclusivamente o IdP.
    • IDP_SAML_SSO_URI: o URI do emissor do IdP.
    • IDP_USER_ATTRIBUTE: o atributo do usuário do IdP, como um e-mail.
    • IDP_USER_PREFIX: o nome da declaração no token do IdP para o usuário.
  2. Aplique o recurso personalizado IdentityProviderConfig ao servidor de API global:

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

    Substitua a variável GLOBAL_API_SERVER_KUBECONFIG pelo caminho para o arquivo kubeconfig do servidor de API global.

Excluir um provedor de identidade

Exclua um provedor de identidade usando o console do GDC:

  1. Faça login no console do GDC.
  2. No seletor de projetos, selecione a organização em que você quer excluir o provedor de identidade.
  3. No menu de navegação, clique em Identidade e acesso > Identidade.
  4. Marque a caixa ao lado do nome de um ou mais provedores de identidade.

    Uma mensagem aparece com o número de provedores de identidade selecionados e um botão Excluir.

  5. Clique em Excluir.