Configure um Fornecedor de identidade de terceiros

Compatível com:

Pode usar o Cloud ID, o Google Workspace ou um fornecedor de identidade de terceiros (como o Okta ou o Azure AD) para gerir utilizadores, grupos e autenticação.

Esta página descreve como usar um fornecedor de identidade de terceiros configurando a Federação de identidades de força de trabalho.

A federação de identidade da força de trabalho da Google permite-lhe conceder acesso a cargas de trabalho no local ou em várias nuvens a Google Cloud recursos, sem ter de usar uma chave de conta de serviço. Pode usar a federação de identidades da força de trabalho com qualquer IdP que suporte o OpenID Connect (OIDC) ou o SAML 2.0, como o Microsoft Entra ID, os Active Directory Federation Services (AD FS), o Okta e outros.

As Operações de segurança da Google requerem a utilização da federação de identidades da força de trabalho da Google como o agente de SSO para o seguinte:

  • Clientes com requisitos de conformidade FedRAMP High (ou superior).
  • Os clientes que acedem a quaisquer controlos de nível empresarial no Google Security Operations ativados por Google Cloud, incluindo o controlo de acesso baseado em funções (CABF) de dados e funcionalidades através da gestão de identidade e de acesso (IAM).
  • Clientes que usam a gestão de credenciais self-service para o acesso programático da API Chronicle.

O Google Security Operations suporta o SSO de SAML iniciado pelo fornecedor de serviços (SP) para utilizadores. Com esta capacidade, os utilizadores navegam diretamente para o Google Security Operations. O Google Security Operations envia um pedido através da Google Cloud federação de identidades da força de trabalho de gestão de identidade e de acesso (IAM) ao fornecedor de identidade (IdP) de terceiros.

Depois de o IdP autenticar a identidade do utilizador, este é devolvido ao Google Security Operations com uma afirmação de autenticação.A federação de identidades da força de trabalho atua como intermediária no fluxo de autenticação. Google Cloud

Comunicação entre o Google Security Operations, a Google Cloud IAM workforce identity
federation e o IdP

Comunicação entre as operações de segurança da Google, a federação de identidade da força de trabalho da IAM e o IdP

A um nível elevado, a comunicação é a seguinte:

  1. O utilizador navega para o Google Security Operations.
  2. As operações de segurança da Google procuram informações de IdP no Google Cloud workforce identity pool.
  3. É enviado um pedido ao IdP.
  4. A declaração SAML é enviada para o Google Cloud workforce identity pool.
  5. Se a autenticação for bem-sucedida, o Google Security Operations recebe apenas os atributos SAML definidos quando configurou o fornecedor de força de trabalho no Workload Identity Pool.

Os administradores do Google Security Operations criam grupos no respetivo fornecedor de identidade, configuram a aplicação SAML para transmitir informações de membros do grupo na afirmação e, em seguida, associam utilizadores e grupos a funções predefinidas no IAM do Google Security Operations ou a funções personalizadas que criaram.

O início de sessão iniciado pelo IdP (iniciar um início de sessão a partir do painel de controlo do IdP) não é suportado. Contacte o seu representante das operações de segurança da Google para pedir esta funcionalidade se a sua organização precisar desta capacidade.

Este documento descreve os passos gerais para configurar a autenticação através de um fornecedor de identidade (IdP) de terceiros com a Google Cloud federação de identidades da força de trabalho. Depois de realizar os passos descritos neste documento, pode aceder ao Google Security Operations através do seu IdP de terceiros e gerir o acesso ao Google Security Operations através do SSO SAML com a federação de identidades da força de trabalho.

Antes de começar

Os passos seguintes descrevem como fazer a configuração através de comandos gcloud. Se um passo puder ser realizado na Google Cloud consola, é fornecido um link para a documentação do IAM relacionada.

Planeie a implementação

A secção seguinte descreve as decisões que tem de tomar e as informações que define antes de realizar os passos descritos neste documento.

Defina o Workload Identity Pool e o fornecedor da força de trabalho

No âmbito deste processo, vai configurar a federação de identidades da força de trabalho como intermediário no fluxo de autenticação. Google Cloud Para isso, tem de criar os seguintes Google Cloud recursos:

  • Workforce pool: Um workforce identity pool permite-lhe conceder à sua força de trabalho (por exemplo, funcionários) acesso ao Google Security Operations.
  • Fornecedor de força de trabalho: Um fornecedor de força de trabalho é um sub-recurso do Workload Identity Pool. Armazena detalhes sobre um único IdP.

A relação entre o grupo de identidades da força de trabalho, os fornecedores da força de trabalho e uma instância do Google Security Operations, identificada por um único subdomínio do cliente, é a seguinte:

  • Um Workforce Identity Pool é definido ao nível da organização.
  • Cada instância do Google Security Operations tem um conjunto do Workload Identity configurado e associado.
  • Um Workforce Identity Pool pode ter vários fornecedores de força de trabalho.
  • Cada fornecedor de força de trabalho integra um IdP de terceiros com o Workload Identity Pool.

  • O pool de identidades da força de trabalho que criar através destes passos tem de ser dedicado ao Google SecOps. Embora possa gerir vários conjuntos de identidades da força de trabalho para outros fins, não é possível partilhar o conjunto de identidades da força de trabalho criado para o Google SecOps.

  • Recomendamos que crie o conjunto de identidades da força de trabalho na mesma Google Cloud organização que contém o projeto associado ao Google SecOps.

Ajuda a poupar tempo se pré-definir informações sobre o grupo de identidades da força de trabalho e o fornecedor da força de trabalho. Use estas informações quando configurar a aplicação SAML do IdP e a federação de identidades da força de trabalho.

Escolha os valores para os seguintes identificadores:

  • ID do grupo do Workforce (WORKFORCE_POOL_ID): selecione um valor que indique o âmbito ou a finalidade do Workforce Identity Pool. O valor tem de cumprir os seguintes requisitos:
    • Tem de ser globalmente exclusivo.
    • Tem de usar apenas carateres minúsculos [a-z], dígitos [0-9] e travessões [-].
    • Tem de começar com um caráter em minúsculas [a-z].
    • Tem de terminar com um caráter minúsculo [a-z] ou um dígito [0-9].
    • Pode ter entre 4 e 61 carateres.
  • Nome a apresentar do Workforce Pool (WORKFORCE_POOL_DISPLAY_NAME): defina um nome intuitivo para o Workload Identity Pool.
  • Descrição do grupo do Workforce (WORKFORCE_POOL_DESCRIPTION): defina uma descrição detalhada do grupo do Workforce.
  • ID do fornecedor da força de trabalho (WORKFORCE_PROVIDER_ID): escolha um valor que indique o IdP que representa. O valor tem de cumprir os seguintes requisitos:
    • Tem de usar apenas carateres minúsculos [a-z], dígitos [0-9] e o traço [-].
    • Pode ter entre 4 e 32 carateres.
  • Nome a apresentar do fornecedor de força de trabalho (WORKFORCE_PROVIDER_DISPLAY_NAME): define um nome fácil de usar para o fornecedor de força de trabalho. Tem de ter menos de 32 carateres.
  • Descrição do fornecedor de força de trabalho (WORKFORCE_PROVIDER_DESCRIPTION): defina uma descrição detalhada do fornecedor de força de trabalho.

Defina atributos e grupos de utilizadores no IdP

Antes de criar a aplicação SAML no IdP, identifique os atributos e os grupos de utilizadores necessários para configurar o acesso às funcionalidades no Google Security Operations. Para mais informações, consulte os artigos Configure o controlo de acesso a funcionalidades através da IAM e Autorizações do Google Security Operations na IAM.

Precisa destas informações durante as seguintes fases deste processo:

  • Quando configurar a aplicação SAML, cria os grupos definidos durante o planeamento. Configura a aplicação SAML do IdP para transmitir as inscrições em grupos na declaração.

  • Quando cria o fornecedor de força de trabalho, mapeia os atributos e os grupos de afirmações para os Google Cloud atributos. Estas informações são enviadas na reivindicação de afirmação como parte da identidade de um utilizador.

  • Quando configura o controlo de acesso baseado em funções no Google Security Operations, usa os atributos do utilizador e as informações do grupo para configurar o acesso às funcionalidades do Google Security Operations.

    O Google Security Operations oferece várias funções predefinidas que permitem o acesso a funcionalidades específicas. Pode mapear grupos definidos na aplicação SAML do IdP para estas funções predefinidas.

  • Crie um grupo de IdP para administradores que configuram o acesso a funcionalidades relacionadas com SOAR. Especifique este nome do grupo durante o processo de integração para autorizar os membros do grupo a configurarem o acesso de utilizadores e grupos às funcionalidades relacionadas com a SOAR no Google SecOps.

Configure o IdP

Esta secção descreve apenas a configuração específica necessária numa aplicação SAML do IdP para integrar com Google Cloud a federação de identidades da força de trabalho e o Google Security Operations.

  1. Crie uma nova aplicação SAML no seu IdP.

  2. Configure a aplicação com o seguinte URL do serviço de consumo de declarações (ACS), que também é designado por URL de Início de sessão único, consoante o fornecedor de serviços.

    https://auth.backstory.chronicle.security/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    

    Substitua o seguinte:

    • WORKFORCE_POOL_ID: o identificador que definiu para o Workload Identity Pool.
    • WORKFORCE_PROVIDER_ID: o identificador que definiu para o fornecedor de força de trabalho.

      Para ver descrições de valores, consulte o artigo Planeie a implementação.

  3. Configure a aplicação com o seguinte ID da entidade (também denominado ID da entidade do SP).

    https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    

    Substitua o seguinte:

    • WORKFORCE_POOL_ID: o identificador que definiu para o Workload Identity Pool.
    • WORKFORCE_PROVIDER_ID: o identificador que definiu para o fornecedor de força de trabalho.
  4. Configure o identificador de nome no seu IdP para garantir que o campo NameID é devolvido na resposta SAML.

    Pode definir isto para um valor que suporte as políticas da sua organização, como o endereço de email ou o nome de utilizador. Consulte a documentação do IDP para obter informações sobre a configuração deste valor. Para mais informações sobre este requisito, consulte o artigo Resolva problemas da federação de identidades da força de trabalho.

  5. Opcionalmente, crie os atributos do grupo na aplicação SAML. Definiu estas opções quando planeou a implementação do IdP.

  6. Transfira o ficheiro XML de metadados da aplicação. Na secção seguinte, vai carregar este ficheiro do seu sistema local para o seu Google Cloud diretório inicial através do Cloud Shell.

Configure a federação de identidade da força de trabalho

Esta secção descreve apenas os passos específicos necessários para configurar a federação de identidades da força de trabalho com a aplicação SAML do IdP que criou na secção anterior. Para mais informações sobre a gestão de Workforce Identity Pools, consulte o artigo Faça a gestão de fornecedores de Workforce Identity Pools

  1. Abra a Google Cloud consola como o utilizador com as autorizações necessárias no projeto associado ao Google Security Operations. Identificou ou criou este utilizador anteriormente. Consulte a secção Antes de começar.

  2. Inicie uma sessão do Cloud Shell.

  3. Defina o Google Cloud projeto que recebe a faturação e a cobrança de quota para operações realizadas através da CLI gcloud. Use o seguinte comando gcloud como exemplo:

    gcloud config set billing/quota_project PROJECT_ID
    

    Substitua PROJECT_ID pelo ID do projeto associado ao Google Security Operations que criou em Configure um Google Cloud projeto para o Google Security Operations. Para ver uma descrição dos campos que identificam um projeto, consulte o artigo Criar e gerir projetos.

    Para obter informações sobre as quotas, consulte os seguintes documentos:

    Se encontrar um erro, consulte o artigo Resolva problemas de erros de quota.

Crie e configure um Workforce Identity Pool

Pode configurar um Workload Identity Pool para integração com um fornecedor de identidade (IdP) externo ou com o Google Workspace ou o Cloud ID.

  1. Crie um Workforce Identity Pool.

    • Crie um Workload Identity Pool para um IdP de terceiros:

      Use o seguinte comando gcloud como exemplo:

      gcloud iam workforce-pools create WORKFORCE_POOL_ID\
        --location="global" \
        --organization="ORGANIZATION_ID" \
        --description="WORKFORCE_POOL_DESCRIPTION" \
        --display-name="WORKFORCE_POOL_DISPLAY_NAME"
      

      Substitua o seguinte:

      • WORKFORCE_POOL_ID: o identificador que definiu para o Workload Identity Pool.
      • ORGANIZATION_ID: o ID numérico da organização.
      • WORKFORCE_POOL_DESCRIPTION: especifique uma descrição do Workforce Identity Pool.
      • WORKFORCE_POOL_DISPLAY_NAME: especifique um nome de fácil utilização para o Workforce Identity Pool.

      Para fazer esta configuração através da Google Cloud consola, consulte o artigo Crie um conjunto.

      Se quiser usar o Google Workspace ou o Cloud ID para iniciar sessão no Google SecOps, adicione estas flags:

      --allowed-services domain=backstory.chronicle.security e

      --disable-programmatic-signin ao comando:

      gcloud iam workforce-pools create WORKFORCE_POOL_ID\
            --location="global" \
            --organization="ORGANIZATION_ID" \
            --description="WORKFORCE_POOL_DESCRIPTION" \
            --display-name="WORKFORCE_POOL_DISPLAY_NAME" \
            --allowed-services domain=backstory.chronicle.security \
            --disable-programmatic-signin
      

      Este comando cria um Workload Identity Pool que não suporta iniciar sessão no Google Cloud. Para ativar a funcionalidade de início de sessão, tem de usar as flags adequadas para cada cenário.

  2. Se lhe for pedido na linha de comandos que ative a API Chronicle, escreva Yes.

Crie um fornecedor do Workforce Identity Pool

Um fornecedor do Workload Identity Pool é uma entidade que descreve uma relação entre a sua Google Cloud organização e o seu IdP.

  1. Carregue o ficheiro de metadados da aplicação SAML para o diretório base do Cloud Shell clicando em Mais >. Só é possível carregar ficheiros para o diretório base. Para mais opções de transferência de ficheiros entre o Cloud Shell e a sua estação de trabalho local, consulte Carregue e transfira ficheiros e pastas a partir do Cloud Shell.

  2. Tome nota do caminho do diretório onde carregou o ficheiro XML de metadados da aplicação SAML no Cloud Shell. Vai precisar deste caminho no passo seguinte.

  3. Crie um fornecedor do Workforce Identity Pool e especifique os detalhes do IdP.

    Use o seguinte comando gcloud como exemplo:

    gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \
      --workforce-pool="WORKFORCE_POOL_ID" \
      --location="global" \
      --display-name="WORKFORCE_PROVIDER_DISPLAY_NAME" \
      --description="WORKFORCE_PROVIDER_DESCRIPTION" \
      --idp-metadata-path=PATH_TO_METADATA_XML \
      --attribute-mapping="ATTRIBUTE_MAPPINGS"
    

    Para ver descrições de valores, consulte o artigo Planeie a implementação.

    Substitua o seguinte:

    • WORKFORCE_PROVIDER_ID: o valor que definiu para o ID do fornecedor de força de trabalho.
    • WORKFORCE_POOL_ID: o valor que definiu para o ID do Workforce Identity Pool.
    • WORKFORCE_PROVIDER_DISPLAY_NAME: um nome intuitivo para o fornecedor de mão de obra. Tem de ter menos de 32 carateres.
    • WORKFORCE_PROVIDER_DESCRIPTION: uma descrição do fornecedor de mão de obra.
    • PATH_TO_METADATA_XML: a localização do diretório do Cloud Shell do ficheiro XML de metadados da aplicação que carregou através do Cloud Shell, por exemplo: /path/to/sso_metadata.xml.
    • ATTRIBUTE_MAPPINGS: definição de como mapear os atributos de afirmação para Google Cloud atributos. O Idioma de expressão comum é usado para interpretar estes mapeamentos. Por exemplo:

      google.subject=assertion.subject,google.display_name=assertion.attributes.name[0],google.groups=assertion.attributes.groups

      O exemplo anterior mapeia os seguintes atributos:

      • assertion.subject a google.subject. Este é um requisito mínimo.
      • assertion.attributes.name[0] a google.display_name.
      • assertion.attributes.groups para o atributo google.groups.

      Se estiver a fazer esta configuração para o Google Security Operations, que inclui o SIEM do Google Security Operations e o SOAR do Google SecOps, também tem de mapear os seguintes atributos necessários pelo SOAR do Google SecOps:

      • attribute.first_name
      • attribute.last_name
      • attribute.user_email
      • google.groups

      Para mais informações, consulte o artigo Aprovisionamento e mapeamento de utilizadores para o SOAR do Google SecOps.

      Por predefinição, o Google Security Operations lê informações de grupos dos seguintes nomes de atributos de declaração sem distinção entre maiúsculas e minúsculas: _assertion.attributes.groups_, _assertion.attributes.idpGroup_ e _assertion.attributes.memberOf_.

      Quando configurar a aplicação SAML para transmitir informações de membros do grupo na afirmação, defina o nome do atributo do grupo como _group_, _idpGroup_ ou _memberOf_.

      No comando de exemplo, pode substituir assertion.attributes.groups por assertion.attributes.idpGroup ou assertion.attributes.memberOf, que representa o nome do atributo de grupo que configurou na aplicação SAML do IdP e que contém informações de registo de membro do grupo na declaração.

      O exemplo seguinte mapeia vários grupos para o atributo google.groups:

      google.groups="(has(assertion.attributes.idpGroup) ? assertion.attributes.idpGroup : []) + (has(assertion.attributes.groups) ? assertion.attributes.groups : []) + (has(assertion.attributes.memberof) ? assertion.attributes.memberof : [])"

      O exemplo seguinte mapeia o grupo http://schemas.xmlsoap.org/ws/2005/05/identity/claims/group que contém carateres especiais para google.groups:

      google.groups="assertion.attributes['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/group']"

      Para mais informações sobre o mapeamento de atributos, consulte o artigo Mapeamentos de atributos.

      Para fazer esta configuração através da Google Cloud consola, consulte o artigo Crie um fornecedor SAML.

Conceda uma função para permitir o início de sessão no Google Security Operations

Os passos seguintes descrevem como conceder uma função específica através do IAM para que os utilizadores possam iniciar sessão no Google Security Operations. Faça a configuração através do projeto associado ao Google Security Operations que criou anteriormente. Google Cloud

  1. Conceda a função Visualizador da API Chronicle (roles/chronicle.viewer) aos utilizadores ou grupos que devem ter acesso à aplicação Google Security Operations.

    • O exemplo seguinte concede a função de leitor da API Chronicle a identidades geridas através do Workload Identity Pool e do fornecedor de força de trabalho que criou anteriormente.

      gcloud projects add-iam-policy-binding PROJECT_ID \
        --role roles/chronicle.viewer \
        --member "principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/*"
      

      Substitua o seguinte:

    • Para conceder a função de leitor da API Chronicle a um grupo específico, execute o seguinte comando:

      gcloud projects add-iam-policy-binding PROJECT_ID \
        --role roles/chronicle.viewer \
        --member "principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
      

      Substitua GROUP_ID: um grupo na reivindicação google.groups mapeada.

  2. Configure políticas de IAM adicionais para cumprir os requisitos da sua organização.

  3. Obrigatório: para concluir a autenticação e permitir o acesso dos utilizadores à plataforma Google SecOps, tem de configurar o acesso dos utilizadores a partir do lado SOAR do Google SecOps. Para mais informações, consulte o artigo Mapeie utilizadores na plataforma Google SecOps.

Valide ou configure o controlo de acesso a funcionalidades do Google Security Operations

Se configurou a federação de identidades da força de trabalho com atributos ou grupos mapeados para o atributo google.groups, estas informações são transmitidas ao Google Security Operations para que possa configurar o controlo de acesso baseado em funções (RBAC) para as funcionalidades do Google Security Operations.

Se a instância do Google Security Operations tiver uma configuração RBAC existente, verifique se a configuração original funciona como esperado.

Se não tiver configurado o controlo de acesso anteriormente, consulte o artigo Configure o controlo de acesso a funcionalidades através do IAM para ver informações sobre o controlo do acesso a funcionalidades.

Modifique a configuração da federação de identidade da força de trabalho

Se precisar de atualizar o Workforce Identity Pool ou o fornecedor de força de trabalho, consulte o artigo Faça a gestão de fornecedores do Workforce Identity Pool para obter informações sobre a atualização da configuração.

A secção Gestão de chaves em Crie um fornecedor de pool de força de trabalho SAML descreve como atualizar as chaves de assinatura do IdP e, em seguida, atualizar a configuração do fornecedor de força de trabalho com o ficheiro XML de metadados da aplicação mais recente.

Segue-se um exemplo de um comando gcloud que atualiza a configuração do fornecedor de força de trabalho:

  gcloud iam workforce-pools providers update-saml WORKFORCE_PROVIDER_ID \
    --workforce-pool=WORKFORCE_POOL_ID \
    --location="global" \
    --display-name="WORKFORCE_PROVIDER_DISPLAY_NAME" \
    --description="WORKFORCE_PROVIDER_DESCRIPTION" \
    --idp-metadata-path=PATH_TO_METADATA_XML \
    --attribute-mapping="ATTRIBUTE_MAPPINGS"

Substitua o seguinte:

  • WORKFORCE_PROVIDER_ID: o valor que definiu para o ID do fornecedor de força de trabalho.
  • WORKFORCE_POOL_ID: o valor que definiu para o ID do Workforce Identity Pool.
  • WORKFORCE_PROVIDER_DISPLAY_NAME: um nome intuitivo para o fornecedor de mão de obra. O valor tem de ter menos de 32 carateres.
  • WORKFORCE_PROVIDER_DESCRIPTION: a descrição do fornecedor de mão de obra.
  • PATH_TO_METADATA_XML: a localização do ficheiro XML de metadados da aplicação atualizado, por exemplo: /path/to/sso_metadata_updated.xml.
  • ATTRIBUTE_MAPPINGS: os atributos de afirmação mapeados para Google Cloud atributos. Por exemplo:

    google.subject=assertion.subject,google.display_name=assertion.attributes.name[0],google.groups=assertion.attributes.memberOf

Para garantir que o RBAC do Google SecOps continua a funcionar como esperado, mapeie também o atributo google.groups para todos os grupos usados para definir funções no Google SecOps.

Resolva problemas com a configuração

Se encontrar erros durante este processo, reveja o artigo Resolva problemas de federação de identidades da força de trabalho para resolver problemas comuns. A secção seguinte disponibiliza informações sobre problemas comuns encontrados ao executar os passos descritos neste documento.

Se continuar a ter problemas, contacte o seu representante do Google SecOps e faculte o ficheiro de registos de rede do Chrome.

Comando não encontrado

Quando cria um fornecedor do Workforce Identity Pool e especifica os detalhes do IDP, recebe o seguinte erro:

Error: bash: --attribute-mapping=google.subject=assertion.subject,
google.display_name=assertion.attributes.name[0],
google.groups=assertion.attributes.groups: command not found

Verifique se PATH_TO_METADATA_XML é a localização onde carregou o ficheiro XML de metadados da aplicação SAML para o diretório base do Cloud Shell.

O autor da chamada não tem autorização

Quando executa o comando gcloud projects add-iam-policy-binding para conceder funções a utilizadores ou grupos, recebe o seguinte erro:

ERROR: (gcloud.organizations.add-iam-policy-binding) User [ ] does not have
permission to access organizations instance [538073083963:getIamPolicy]
(or it may not exist): The caller does not have permission

Verifique se tem as autorizações necessárias. Para mais informações, consulte o artigo Funções necessárias.

O que se segue?

Depois de concluir os passos neste documento, faça o seguinte:

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.