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 para 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 com o 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 respectivos tipos.
  • Quantidade de armazenamento em blocos em TB.
  • Quantidade de armazenamento de objetos em TB.
  • Parâmetros obrigatórios para OIDC:
    • clientID: ID do aplicativo cliente que faz solicitações de autenticação ao provedor OpenID.
    • clientSecret: senha secreta conhecida apenas pelo aplicativo e pelo provedor OpenID.
    • issuerURL: URL para onde as solicitações de autorização são enviadas para o OpenID.
    • scopes: escopos extras a serem enviados ao provedor OpenID.
    • userclaim: declaração do JSON Web Token (JWT) a ser usada como nome de usuário.
    • certificateAuthorityData: um certificado codificado em PEM codificado em base64 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 no formato 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. Por exemplo, https://www.idp.com/saml.
    • idpSingleSignOnURI: o URI do endpoint de SSO do provedor SAML. Por exemplo: https://www.idp.com/saml/sso.
  • Nome de usuário ou grupo de nomes de usuários para os 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 Configurar novo provedor de identidade.

  4. Na seção Configurar provedor de identidade, siga estas etapas e clique em Próxima:

    1. No menu suspenso Provedor de identidade, selecione Open ID Connect (OIDC).
    2. Insira um Nome do provedor de identidade.
    3. No campo URL do Google Distributed Cloud, insira o URL que você usa para acessar o GDC.
    4. 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.
    5. No campo ID do cliente, insira o ID do aplicativo cliente que faz solicitações de autenticação ao provedor de identidade.
    6. Na seção Chave secreta do cliente, selecione Configurar chave secreta do cliente (recomendado).
      1. 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.
    7. Opcional: no campo Prefixo, 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 myidpusername@example.com e uma declaração de grupo poderá ser myidpgroup@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.

    8. Opcional: na seção Criptografia, selecione Ativar tokens criptografados.

      Para ativar os tokens de criptografia, você precisa ter a função de administrador da federação de IdP. 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 é uma chave pública de um token de criptografia da Web JSON (JWT). 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 que descriptografa uma criptografia. O provedor OIDC configura e provisiona uma chave de descriptografia.
  5. Na seção Configurar atributos, siga estas etapas e clique em Próxima:

    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 https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail.
      1. Para criar a string, codifique o certificado, incluindo cabeçalhos, em base64.
      2. Inclua a string resultante em como 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 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 de identidade.
    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.
  6. Na seção Especificar administradores iniciais, conclua as etapas a seguir e clique em Próxima:

    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.
  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 à 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.
  2. No menu de navegação, clique em Identidade e acesso > Identidade.
  3. Na seção Configurar provedor de identidade, siga estas etapas e clique em Próxima:

    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 de SSO, insira o URL do endpoint de sign-on único 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 myidpusername@example.com e uma declaração de grupo poderá aparecer como myidpgroup@example.com. Você também precisa incluir o prefixo ao atribuir permissões do RBAC a grupos.

    6. Para aumentar a segurança, configure o provedor SAML para emitir declarações com um período de validade de 5 a 10 minutos. Essa configuração pode ser definida nas configurações do seu provedor de SAML.

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

      Para ativar declarações SAML criptografadas, você precisa ter o papel de administrador da federação do IdP. 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 criptografia, insira seu certificado de criptografia no formato PEM. Você recebe o certificado de criptografia depois de gerar o provedor SAML.
      2. No campo Chave de descriptografia, insira sua chave. Você recebe a chave de descriptografia depois de gerar o provedor SAML.
    8. Opcional: na seção Solicitações assinadas do SAML, marque Ativar solicitações assinadas do SAML.

      1. No campo Certificado de assinatura, insira seu certificado de assinatura no formato de arquivo PEM. Seu provedor SAML configura e gera 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.
  4. Na página Configurar atributos, conclua as etapas a seguir e clique em Próxima:

    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 https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail.
      1. Para criar a string, codifique o certificado, incluindo cabeçalhos, em base64.
      2. Inclua a string resultante em como 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 área Mapeamento de atributos, clique em Adicionar e insira pares de chave-valor para outros atributos de um usuário, como o departamento ou o URL da foto do perfil.
  5. Na seção Especificar administradores iniciais, conclua as etapas a seguir e clique em Próxima:

    1. Escolha se quer adicionar usuários individuais ou grupos como administradores iniciais.
    2. No campo Nome de usuário, digite o endereço de e-mail do usuário ou 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.
  6. 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. Quando você tiver configurado todos os valores de acordo com sua especificação, clique em Configurar.

API

Para conectar seu provedor de identidade à 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.