Estabeleça ligação a um Fornecedor de identidade

Esta página explica como ligar o Google Distributed Cloud (GDC) com isolamento de ar ao fornecedor de identidade (IdP) existente da sua organização. Um IdP é um sistema que faz a gestão e protege centralmente as identidades dos utilizadores, fornecendo serviços de autenticação. A ligação a um IdP existente permite que os utilizadores acedam ao GDC através das credenciais da respetiva organização, sem necessidade de criar nem gerir contas separadas no GDC. Este processo garante uma experiência de início de sessão simples e segura. Uma vez que um IdP é um recurso global, os utilizadores podem aceder ao GDC através do mesmo IdP, independentemente da zona em que trabalham.

Esta página destina-se a públicos-alvo no grupo de administradores da plataforma, como administradores de TI ou engenheiros de segurança, que querem estabelecer ligação a um IdP. Para mais informações, consulte a documentação sobre públicos-alvo para GDC com isolamento de ar.

Pode estabelecer ligação a um fornecedor de identidade existente através de uma das seguintes opções:

Antes de começar

Antes de se ligar a um fornecedor de identidade existente, certifique-se de que a configuração inicial está concluída e que tem as autorizações necessárias.

Configuração inicial da ligação do Fornecedor de identidade

Um membro do grupo de operadores de infraestrutura da sua organização tem de configurar a ligação inicial do IdP antes de os utilizadores poderem aceder aos clusters ou aos painéis de controlo do GDC.

Para o fazer, podem abrir um pedido no o sistema de pedidos e fornecer as seguintes informações sobre o fornecedor de identidade:

  • Número de servidores e respetivos tipos.
  • Quantidade de armazenamento de blocos em TB.
  • Quantidade de armazenamento de objetos em TB.
  • Parâmetros obrigatórios para OIDC:
    • clientID: o ID da aplicação cliente que faz pedidos de autenticação ao fornecedor OpenID.
    • clientSecret: o segredo conhecido apenas pela aplicação e pelo fornecedor OpenID.
    • issuerURL: o URL para o qual são enviados os pedidos de autorização para o fornecedor OpenID.
    • scopes: âmbitos adicionais a enviar para o fornecedor OpenID.
    • userclaim: a afirmação do símbolo da Web JSON (JWT) a usar como nome de utilizador.
    • certificateAuthorityData: uma string codificada em base64 do certificado codificado em PEM para o fornecedor OIDC.
  • Parâmetros obrigatórios para fornecedores SAML:
    • idpCertificateDataList: os certificados de IdP para validar a resposta SAML. Estes certificados têm de estar codificados em base64 padrão e no formato PEM. Só é suportado um máximo de dois certificados para facilitar a rotação de certificados de IdP.
    • idpEntityID: o ID de entidade SAML do fornecedor SAML, especificado num formato de URI. Exemplo: https://www.idp.com/saml.
    • idpSingleSignOnURI: o URI para o ponto final de SSO do fornecedor de SAML. Exemplo: https://www.idp.com/saml/sso.
  • Nome de utilizador ou grupo de nomes de utilizador dos administradores iniciais.

Autorizações necessárias

Para receber as autorizações necessárias para associar um fornecedor de identidade existente, faça o seguinte:

  • Peça ao administrador de IAM da organização para lhe conceder a função de administrador da federação de IdP (idp-federation-admin).
  • Certifique-se de que o administrador inicial que especificar quando associar o fornecedor de identidade tem a função de administrador da IAM da organização (organization-iam-admin).

Efetue a associação a um fornecedor de identidade existente

Para associar o fornecedor de identidade, tem de ter um único ID de cliente e segredo do seu fornecedor de identidade. Pode estabelecer ligação a um fornecedor de OIDC ou SAML existente.

Associe um fornecedor OIDC existente

Para estabelecer ligação a um fornecedor de OIDC existente, conclua os seguintes passos:

Consola

  1. Inicie sessão na consola do GDC. O exemplo seguinte mostra a consola após iniciar sessão numa organização denominada org-1: Página de boas-vindas da consola com links de acesso rápido a tarefas comuns
  2. No menu de navegação, clique em Identidade e acesso > Identidade.
  3. Clique em Adicionar fornecedor de identidade.
  4. Na secção Configurar Fornecedor de identidade, conclua os seguintes passos:

    1. No menu pendente Fornecedor de identidade, selecione Open ID Connect (OIDC).
    2. Introduza um nome do fornecedor de identidade.
    3. No campo URI do emissor, introduza o URL para onde os pedidos de autorização são enviados para o seu fornecedor de identidade. O servidor da API Kubernetes usa este URL para descobrir chaves públicas para validar tokens. O URL tem de usar HTTPS.
    4. No campo ID de cliente, introduza o ID da aplicação cliente que faz pedidos de autenticação ao fornecedor de identidade.
    5. No campo Segredo do cliente, introduza o segredo do cliente, que é um segredo partilhado entre o seu fornecedor de identidade e a Distributed Cloud.
    6. Opcional: no campo Prefixo do fornecedor de identidade, introduza um prefixo. O prefixo é adicionado ao início das reivindicações de utilizadores e das reivindicações de grupos. Os prefixos são usados para distinguir entre diferentes configurações de fornecedores de identidade. Por exemplo, se definir um prefixo de myidp, uma reivindicação de utilizador pode ser myid-pusername@example.com e uma reivindicação de grupo pode ser myid-pgroup@example.com. O prefixo também tem de ser incluído quando atribui autorizações de controlo de acesso baseado em funções (CABF) a grupos.

    7. Opcional: na secção Encriptação, selecione Ativar tokens de encriptação.

      Para ativar os tokens de encriptação, peça ao administrador de IAM da organização para lhe conceder a função de administrador da federação de IdPs (idp-federation-admin).

      1. No campo ID da chave, introduza o ID da chave. O ID da chave identifica a chave pública de um token de encriptação Web JSON (JWE). O seu fornecedor OIDC configura e aprovisiona um ID da chave.
      2. No campo Chave de desencriptação, introduza a chave de desencriptação no formato PEM. A chave de desencriptação é uma chave assimétrica usada para desencriptar tokens. O fornecedor de OIDC configura e aprovisiona uma chave de desencriptação.
    8. Clicar em Seguinte.

  5. Na secção Configurar atributos, conclua os seguintes passos:

    1. No campo Autoridade de certificação para o fornecedor OIDC, introduza um certificado codificado em PEM codificado em base64 para o fornecedor de identidade. Para mais informações, consulte o artigo Privacy-Enhanced Mail na Wikipédia.
      1. Para criar a string, codifique o certificado, incluindo os cabeçalhos, em base64.
      2. Inclua a string resultante como uma única linha. Exemplo: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT==
    2. No campo Reivindicação de grupo, introduza o nome da reivindicação no token do fornecedor de identidade que contém as informações do grupo do utilizador.
    3. No campo Reivindicação do utilizador, introduza a reivindicação para identificar cada utilizador. A reivindicação predefinida para muitos fornecedores é sub. Pode escolher outras reivindicações, como email ou name, consoante o fornecedor de identidade. As reivindicações que não sejam email têm o prefixo do URL do emissor para evitar conflitos de nomenclatura.
    4. Opcional: na secção Atributos personalizados, clique em Adicionar par e introduza pares de chave-valor para reivindicações adicionais sobre um utilizador, como o respetivo departamento ou URL da imagem do perfil.
    5. Se o seu fornecedor de identidade exigir âmbitos adicionais, no campo Âmbitos, introduza os âmbitos separados por vírgulas para enviar ao fornecedor de identidade.
    6. Na secção Parâmetros adicionais, introduza quaisquer pares de chave-valor adicionais (separados por vírgulas) exigidos pelo seu fornecedor de identidade. Se estiver a autorizar um grupo, transmita resource=token-groups-claim.
    7. Clique em Seguinte.
  6. Na secção Especifique os administradores iniciais, conclua os seguintes passos:

    1. Escolha se quer adicionar utilizadores individuais ou grupos como administradores iniciais.
    2. No campo Nome de utilizador ou alias do grupo, introduza o endereço de email do utilizador ou do grupo para aceder à organização. Se for o administrador, introduza o seu endereço de email, por exemplo, kiran@example.com. O prefixo é adicionado antes do nome de utilizador, como myidp-kiran@example.com.
    3. Clicar em Seguinte.
  7. Reveja as suas seleções e clique em Configurar.

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

API

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

  1. Crie um IdentityProviderConfigficheiro YAML de recursos personalizados, 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 de cliente do IdP.
    • IDP_CLIENT_SECRET: o segredo do cliente para o IdP.
    • IDP_GROUP_PREFIX: o prefixo dos grupos no IdP.
    • IDP_GROUP_CLAIM: o nome da reivindicação no token do IdP que agrupa as informações.
    • IDP_ISSUER_URI: o URI do emissor do IdP.
    • IDP_USER_CLAIM: o nome da reivindicação no token do IdP para o utilizador.
    • IDP_USER_PREFIX: o prefixo do IdP do utilizador.
  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 ficheiro kubeconfig do servidor da API global.

Associe a um fornecedor de SAML existente

Para estabelecer ligação a um fornecedor de SAML existente, conclua os seguintes passos:

Consola

  1. Inicie sessão na consola do GDC. O exemplo seguinte mostra a consola após iniciar sessão numa organização denominada org-1: Página de boas-vindas da consola com links de acesso rápido a tarefas comuns
  2. No menu de navegação, clique em Identidade e acesso > Identidade.
  3. Clique em Adicionar fornecedor de identidade.
  4. Na secção Configurar Fornecedor de identidade, conclua os seguintes passos:

    1. No menu pendente Fornecedor de identidade, selecione Security Assertion Markup Language (SAML).
    2. Introduza um nome do fornecedor de identidade.
    3. No campo ID de identidade, introduza o ID da aplicação cliente que faz pedidos de autenticação ao fornecedor de identidade.
    4. No campo URI de SSO, introduza o URL para o ponto final de início de sessão único do fornecedor. Por exemplo: https://www.idp.com/saml/sso.
    5. No campo Prefixo do fornecedor de identidade, introduza um prefixo. O prefixo é adicionado ao início das reivindicações de utilizadores e grupos. Os prefixos distinguem entre diferentes configurações do fornecedor de identidade. Por exemplo: se definir um prefixo de myidp, uma reivindicação de utilizador pode ser apresentada como myidp-username@example.com e uma reivindicação de grupo pode ser apresentada como myidp-group@example.com. Também tem de incluir o prefixo quando atribui autorizações RBAC a grupos.

    6. Para uma segurança melhorada, configure o seu fornecedor SAML para emitir declarações com uma duração de 5 a 10 minutos. Esta definição é configurável nas definições do seu fornecedor de SAML.

    7. Opcional: na secção Afirmações SAML, selecione Ativar encriptação de afirmações SAML.

      Para ativar as afirmações SAML encriptadas, peça ao administrador de IAM da organização para lhe conceder a função de administrador da federação de IdPs (idp-federation-admin).

      1. No campo Certificado de declaração de encriptação, introduza o seu certificado de encriptação no formato PEM. Obtém o certificado de encriptação do seu fornecedor de SAML.
      2. No campo Chave de declaração de encriptação, introduza a sua chave privada. Recebe a chave de desencriptação depois de gerar o fornecedor SAML.
    8. Opcional: na secção Pedidos SAML assinados, selecione Ativar pedidos SAML assinados.

      1. No campo Certificado de assinatura, introduza o seu certificado de assinatura no formato de ficheiro PEM. O seu fornecedor SAML emite um certificado de assinatura.
      2. No campo Chave de assinatura, introduza a chave de assinatura no formato de ficheiro PEM. O seu fornecedor de SAML configura e produz uma chave de assinatura.
    9. Clicar em Seguinte.

  5. Na página Configurar atributos, conclua os seguintes passos:

    1. No campo Certificado do IdP, introduza um certificado codificado em PEM codificado em base64 para o fornecedor de identidade. Para mais informações, consulte o artigo Privacy-Enhanced Mail na Wikipédia.
      1. Para criar a string, codifique o certificado, incluindo os cabeçalhos, em base64.
      2. Inclua a string resultante como uma única linha. Por exemplo: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT==.
    2. Introduza quaisquer certificados adicionais no campo Certificado de IdP adicional.
    3. No campo Atributo do utilizador, introduza o atributo para identificar cada utilizador. O atributo predefinido para muitos fornecedores é sub. Pode escolher outros atributos, como email ou name, consoante o fornecedor de identidade. Os atributos que não sejam email têm o prefixo do URL do emissor para evitar conflitos de nomenclatura.
    4. No campo Atributo do grupo, introduza o nome do atributo no token do fornecedor de identidade que contém as informações do grupo do utilizador.
    5. Opcional: na secção Mapeamento de atributos, clique em Adicionar par e introduza pares de chave/valor para atributos adicionais sobre um utilizador, como o respetivo departamento ou URL da imagem do perfil.
    6. Clique em Seguinte.
  6. Na secção Especifique os administradores iniciais, conclua os seguintes passos:

    1. Escolha se quer adicionar utilizadores individuais ou grupos como administradores iniciais.
    2. No campo Nome de utilizador ou alias do grupo, introduza o endereço de email do utilizador ou do grupo para aceder à organização. Se for o administrador, introduza o seu endereço de email, por exemplo, kiran@example.com. O prefixo é adicionado antes do nome de utilizador, como myidp-kiran@example.com.
    3. Clicar em Seguinte.
  7. Na página Rever, verifique todos os valores de cada configuração de identidade antes de continuar.

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

  8. Clique em Configurar.

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

API

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

  1. Crie um IdentityProviderConfigficheiro YAML de recursos personalizados, 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 o URI para identificar exclusivamente o IdP.
    • IDP_SAML_SSO_URI: o URI do emissor do IdP.
    • IDP_USER_ATTRIBUTE: o atributo do utilizador do IdP, como um email.
    • IDP_USER_PREFIX: o nome da reivindicação no token do IdP para o utilizador.
  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 ficheiro kubeconfig do servidor da API global.

Elimine um fornecedor de identidade existente

Elimine um fornecedor de identidade existente através da consola da GDC:

  1. Inicie sessão na consola do GDC.
  2. No seletor de projetos, selecione a organização na qual quer eliminar o fornecedor de identidade.
  3. No menu de navegação, clique em Identidade e acesso > Identidade.
  4. Selecione a caixa junto ao nome de um ou mais fornecedores de identidade.

    É apresentada uma mensagem com o número de fornecedores de identidade selecionados e um botão Eliminar.

  5. Clique em Eliminar.