Configurar um provedor de identidade de terceiros

Compatível com:

É possível usar o Cloud Identity, o Google Workspace ou um sistema de externo (como o Okta ou o Azure AD) para gerenciar usuários, grupos e autenticação.

Nesta página, descrevemos como usar um provedor de identidade de terceiros configurando federação de identidade de colaboradores. Para informações sobre como usar o Cloud Identity ou o Google Workspace, consulte Configurar um provedor de identidade do Google Cloud.

Com a federação de identidade de colaboradores do Google, você permite que cargas de trabalho no local ou em várias nuvens acessem os serviços sem precisar de uma chave de conta de serviço. Você pode usar a federação de identidade de colaboradores a qualquer provedor de identidade de terceiros (IdP) compatível com OpenID Connect (OIDC), incluindo Microsoft Azure, Okta ou SAML 2.0.

O Google Security Operations exige o uso da federação de identidade de colaboradores do Google como Agente de SSO para o seguinte:

  • Clientes com requisitos de conformidade de nível alto (ou superior) do FedRAMP.
  • Clientes que acessam qualquer controle de nível empresarial nas Operações de segurança do Google habilitados pelo Google Cloud, incluindo o controle de acesso baseado em função (RBAC) e dados e recursos usando o Identity and Access Management (IAM).
  • Clientes que usam o gerenciamento de credenciais de autoatendimento para acesso programático da API Chronicle.

O Google Security Operations oferece suporte ao SSO SAML iniciado pelo provedor de serviços (iniciado pelo SP) para usuários. Com esse recurso, os usuários navegam diretamente para as Operações de Segurança do Google. O Google Security Operations emite uma solicitação pelo Google Cloud Identity and Access Management (IAM) federação de identidade de colaboradores ao provedor de identidade de terceiros (IdP).

Depois que o IdP autentica a identidade do usuário, o usuário é retornado às Operações de segurança do Google com uma declaração de autenticação. Identidade da força de trabalho do Google Cloud a federação atua como um intermediário no fluxo de autenticação.

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

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

De modo geral, a comunicação é a seguinte:

  1. O usuário navega até as Operações de segurança do Google.
  2. O Google Security Operations procura as informações do IdP no pool de identidades de colaboradores do Google Cloud.
  3. Uma solicitação é enviada ao IdP.
  4. A declaração SAML é enviada para o pool de identidade de colaboradores do Google Cloud.
  5. Se a autenticação for bem-sucedida, as Operações de segurança do Google receberão apenas o SAML atributos definidos quando você configurou o provedor de força de trabalho no pool de identidade de colaboradores.

Os administradores do Google Security Operations criam grupos no provedor de identidade, configuram o app SAML para passar as informações de associação a grupos na declaração e depois associa usuários e grupos aos papéis predefinidos no IAM das Operações de segurança do Google ou aos papéis personalizados criados por ela.

O login iniciado pelo IdP (iniciando um login no painel do IdP) não é compatível. Entre em contato com seu representante do Google Security Operations para solicitar esse recurso se sua organização precisar dele.

Este documento descreve as etapas gerais para configurar a autenticação por um provedor de identidade de terceiros (IdP) usando a federação de identidade da força de trabalho do Google Cloud. Depois de seguir as etapas deste documento, você poderá acessar o Google Security Operations usando seu IdP terceirizado e gerenciar o acesso ao Google Security Operations usando o SSO SAML pela Federação de identidade da força de trabalho.

Antes de começar

As etapas a seguir descrevem como executar a configuração usando gcloud. comandos Se uma etapa puder ser realizada no console do Google Cloud, um link para a documentação do IAM será fornecido.

Planejar a implementação

A seção a seguir descreve as decisões que você deve tomar e as informações que você definir antes de realizar as etapas deste documento.

Definir o pool de identidade e o provedor de força de trabalho

Como parte desse processo, você vai configurar a identidade de força de trabalho do Google Cloud a federação como intermediária no fluxo de autenticação. Para fazer isso, você crie os seguintes recursos do Google Cloud:

  • Pool de funcionários: Com um pool de identidade de colaboradores, você pode conceder aos colaboradores (por exemplo, funcionários) acesso às Operações de segurança do Google.
  • Provedor de força de trabalho: Um provedor de força de trabalho é um sub-recurso do pool de identidade de colaboradores. Ele armazena detalhes sobre um único IdP.

A relação entre o pool de identidade de colaboradores, os provedores de força de trabalho e um provedor de operações de segurança do Google identificada por um único subdomínio de cliente, da seguinte forma:

  • Um pool de identidade de colaboradores é definido no nível da organização.
  • Cada instância do Google Security Operations tem um pool de identidade de colaboradores configurado e associado a ele.
  • Um pool de identidade da força de trabalho pode ter vários provedores.
  • Cada provedor de força de trabalho integra um IdP de terceiros ao pool de identidades de colaboradores.
.
  • O pool de identidade da força de trabalho que você criar usando essas etapas precisa ser dedicado ao Google SecOps. É possível gerenciar vários pools de identidade de colaboradores para outras finalidades, o pool de identidade da força de trabalho criado para o Google SecOps não pode ser compartilhado.
  • Recomendamos que você crie o pool de identidade da força de trabalho na mesma organização do Google Cloud que contém o projeto vinculado ao Google SecOps.

Isso ajuda a economizar tempo se você predefinir informações sobre os pool de identidade da força de trabalho e provedor de força de trabalho. Você usa essas informações ao configurar o aplicativo SAML do IdP e a federação de identidade da força de trabalho.

Escolha os valores para os seguintes identificadores:

  • ID do pool de força de trabalho (WORKFORCE_POOL_ID): selecione um valor que indique o escopo ou a finalidade do pool de identidade da força de trabalho. O valor deve atender os seguintes requisitos:
    • Precisa ser globalmente exclusivo.
    • Use apenas caracteres minúsculos [a-z], dígito [0-9] e traços [-].
    • Precisa começar com um caractere minúsculo [a-z].
    • Precisa terminar com um caractere minúsculo [a-z] ou um dígito [0-9].
    • Pode ter entre 4 e 61 caracteres.
  • Nome de exibição do pool de força de trabalho (WORKFORCE_POOL_DISPLAY_NAME): defina um nome fácil de usar. para o pool de identidade de colaboradores.
  • Descrição do pool de força de trabalho (WORKFORCE_POOL_DESCRIPTION): defina um descrição do pool de identidade de colaboradores.
  • ID do provedor da força de trabalho (WORKFORCE_PROVIDER_ID): escolha um valor que indique e o IdP que ela representa. O valor precisa atender aos seguintes requisitos:
    • Use apenas caracteres minúsculos [a-z], dígito [0-9] e traço [-].
    • Pode ter entre 4 e 32 caracteres.
  • Nome de exibição do provedor de força de trabalho (WORKFORCE_PROVIDER_DISPLAY_NAME): defina um nome fácil de usar para o provedor de força de trabalho. Precisa ter menos de 32 caracteres.
  • Descrição do provedor de força de trabalho (WORKFORCE_PROVIDER_DESCRIPTION): defina um descrição do fornecedor de força de trabalho.

Definir atributos e grupos do usuário no IdP

Antes de criar o aplicativo SAML no IdP, identifique quais atributos e grupos de usuários são necessários para configurar o acesso aos recursos no Google Security Operations. Para mais informações, acesse Configurar o controle de acesso a recursos usando o IAM. e as permissões das Operações de segurança do Google no IAM.

Você vai precisar dessas informações nas seguintes fases do processo:

  • Ao configurar o aplicativo SAML, você cria os grupos definidos durante o planejamento. Configure o aplicativo SAML do IdP para transmitir as associações de grupo na declaração.

  • Ao criar o provedor de força de trabalho, você mapeia atributos e grupos de declaração para Atributos do Google Cloud. Essas informações são enviadas na declaração de declaração como parte da identidade de um usuário.

  • Ao configurar o controle de acesso baseado em função no Google Security Operations, você usa o atributos de usuário e informações de grupo para configurar o acesso aos recursos do Google Security Operations.

    As Operações de segurança do Google oferecem vários papéis predefinidos, e cada um deles permite acesso atributos específicos. É possível mapear grupos definidos no aplicativo SAML do IdP para esses papéis predefinidos.

Crie um grupo de IdP para administradores que configuram quais usuários e grupos podem acessar recursos relacionados ao SOAR. Durante o processo de integração, você vai fornecer o nome do grupo para que os usuários dele possam configurar o controle de acesso para recursos relacionados ao SOAR.

Configurar o IdP

Esta seção descreve apenas a configuração específica necessária em um aplicativo SAML do IdP para integração com a federação de identidade da força de trabalho do Google Cloud e as operações de segurança do Google.

  1. Crie um novo aplicativo SAML no seu IdP.

  2. Configure o aplicativo com o URL do serviço de declaração de consumidor (ACS, na sigla em inglês) abaixo, que também é chamado de URL de logon único, dependendo do provedor de serviços.

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

    Substitua:

    • WORKFORCE_POOL_ID: o identificador que você definiu para o pool de identidade da força de trabalho.
    • WORKFORCE_PROVIDER_ID: o identificador que você definido para o provedor de força de trabalho.

      Consulte Planejar a implementação para ver uma descrição desses valores.

  3. Configure o aplicativo com o seguinte ID de entidade (também chamado de ID da entidade de SP).

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

    Substitua:

    • WORKFORCE_POOL_ID: o identificador que você definiu para o pool de identidade de colaboradores.
    • WORKFORCE_PROVIDER_ID: o identificador que você definiu para o provedor de força de trabalho.
  4. Configure o identificador de nome no seu IdP para garantir que o campo NameID seja retornados na resposta SAML.

    É possível defini-lo com um valor compatível com as políticas da organização, como endereço de e-mail ou nome de usuário. Consulte a documentação do IdP para saber como configurar esse valor. Saiba mais sobre esse requisito em Resolver problemas da federação de identidade de colaboradores.

  5. Se quiser, crie os atributos de grupo no aplicativo SAML. Você os definiu quando planejou a implementação do IdP.

  6. Baixe o arquivo XML de metadados do aplicativo. Na próxima seção, você vai faça upload desse arquivo do seu sistema local para o diretório principal do Google Cloud usando o Cloud Shell.

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

Esta seção descreve apenas as etapas específicas necessárias para configurar a federação de identidade da força de trabalho com o aplicativo IdP SAML criado na seção anterior. Para mais informações sobre como gerenciar pools de identidade de colaboradores, consulte Gerenciar provedores de pool de identidade de colaboradores

  1. Abra o console do Google Cloud como o usuário com as permissões necessárias no projeto vinculado às operações de segurança do Google. Você identificou ou criou esse usuário anteriormente. Consulte a seção Antes de começar.

  2. Inicie uma sessão do Cloud Shell.

  3. Defina o projeto do Google Cloud para o qual a cota é faturada e cobrada operações realizadas com a CLI gcloud. Use o seguinte Por exemplo, o comando gcloud:

    gcloud config set billing/quota_project PROJECT_ID
    

    Substitua PROJECT_ID pelo ID do projeto vinculado às Operações de segurança do Google. Projeto que você criou em Configurar um projeto do Google Cloud para as Operações de segurança do Google. Consulte Como criar e gerenciar projetos para uma descrição dos campos que identificam um projeto.

    Para informações sobre cotas, consulte os documentos a seguir:

    Se você encontrar um erro, consulte Erros de cota.

Criar e configurar um pool de identidade de colaboradores

É possível configurar um pool de identidade de colaboradores para integração com uma provedor de identidade (IdP) ou o Google Workspace ou o Cloud Identity.

  1. Criar um pool de identidade de colaboradores.

    • Criar um pool de identidade de colaboradores 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:

      • WORKFORCE_POOL_ID: o identificador que você definiu para o pool de identidade de colaboradores.
      • ORGANIZATION_ID: o ID numérico da organização.
      • WORKFORCE_POOL_DESCRIPTION: especifique uma descrição. do pool de Identidade da força de trabalho.
      • WORKFORCE_POOL_DISPLAY_NAME: especifique um nome fácil de usar do pool de identidades de colaboradores.

      Para realizar essa configuração usando o console do Google Cloud, consulte Criar um pool.

      Se o comando for bem-sucedido, vá para a próxima etapa. Se o comando falhar, considere se os cenários a seguir se aplicam ao seu ambiente:

      • Você quer usar o Google Workspace ou o Cloud Identity para fazer login Google SecOps
      • Você recebe o erro "A federação de identidade de colaboradores ainda não está disponível para sua organização, entre em contato com um representante do Google Cloud"

      Se esses cenários se aplicarem, adicione as 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
      

      Esse comando cria um pool de força de trabalho que não pode ser usado para fazer login no Google Cloud, mas é necessário usar essas flags para resolver esses cenários.

  2. Se você receber uma solicitação na linha de comando para ativar a API Chronicle, digite Yes.

Criar um provedor de identidade de colaboradores

  1. Faça upload do arquivo de metadados do aplicativo SAML para o diretório inicial do Cloud Shell clicando em Mais >. Os arquivos só podem por upload para seu diretório principal. Para mais opções de transferência de arquivos entre o Cloud Shell e sua estação de trabalho local, consulte Fazer upload e download de arquivos e pastas do Cloud Shell.

  2. Anote o caminho do diretório em que você fez upload do arquivo XML de metadados do aplicativo SAML. no Cloud Shell. Você vai precisar desse caminho na próxima etapa.

  3. Criar um provedor de pool de identidade da força de trabalho e especificar 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"
    

    Consulte Planejar a implementação para mais informações sobre esses valores.

    Substitua:

    • WORKFORCE_PROVIDER_ID: o valor que você definiu para o ID do provedor de força de trabalho.
    • WORKFORCE_POOL_ID: o valor que você definiu para o ID do pool de identidade da força de trabalho.
    • WORKFORCE_PROVIDER_DISPLAY_NAME: um nome fácil de usar. para o fornecedor da força de trabalho. Precisa ter menos de 32 caracteres.
    • WORKFORCE_PROVIDER_DESCRIPTION: uma descrição do provedor de força de trabalho.
    • PATH_TO_METADATA_XML: o local do diretório do Cloud Shell do arquivo XML de metadados do aplicativo que você enviou usando o Cloud Shell, por exemplo: /path/to/sso_metadata.xml.
    • ATTRIBUTE_MAPPINGS: definição de como mapear atributos de declaração para atributos do Google Cloud. O Common Expression Language é usado para interpretar esse mapeamento. 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 para google.subject Esse é um requisito mínimo.
      • assertion.attributes.name[0] para google.display_name
      • assertion.attributes.groups ao atributo google.groups.

      Se você estiver realizando essa configuração para o Google Security Operations, que inclui o SIEM e o SOAR do Google Security Operations, também será necessário mapear os seguintes atributos exigidos pelo SOAR do Google Security Operations:

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

      Confira mais informações sobre como provisionar e mapear usuários para o Google Security Operations SOAR.

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

      Ao configurar o app SAML para transmitir informações de associação a grupos Na declaração, defina o nome do atributo de grupo como _group_, _idpGroup_ ou _memberOf_.

      No comando de exemplo, substitua assertion.attributes.groups por assertion.attributes.idpGroup ou assertion.attributes.memberOf, que representa o nome do atributo de grupo configurado no aplicativo SAML do IdP e que contém informações de associação de grupo na declaração.

      O exemplo a seguir 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 a seguir mapeia o grupo http://schemas.xmlsoap.org/ws/2005/05/identity/claims/group que contém caracteres 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 Mapeamentos de atributos.

      Para realizar essa configuração usando o console do Google Cloud, consulte Criar um provedor SAML.

Conceder um papel para ativar o login nas Operações de segurança do Google

As etapas a seguir descrevem como conceder um papel específico usando o IAM para que os usuários possam fazer login nas Operações de segurança do Google. Faça a configuração usando o projeto do Google Cloud vinculado às Operações de segurança do Google que você criou anteriormente.

Este exemplo usa o comando gcloud. Para usar o console do Google Cloud, consulte Conceder um único papel.

  1. Conceda ao Leitor da API Chronicle (roles/chronicle.viewer) a usuários ou grupos que devem ter acesso ao aplicativo Operações de segurança do Google.

    O exemplo a seguir concede o papel de leitor da API Chronicle a identidades gerenciadas usando o pool de identidade e o provedor de força de trabalho que você 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:

    Para conceder o papel 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 declaração google.groups mapeada.

  2. Configure outras políticas do IAM para atender aos requisitos da sua organização.

Verificar ou configurar o controle de acesso a recursos do Google Security Operations

Se você configurou a federação de identidade de colaboradores com atributos ou grupos mapeados ao atributo google.groups, essas informações serão transmitidas para as Operações de segurança do Google para que você possa configurar o controle de acesso baseado em função (RBAC) para os recursos das Operações de segurança do Google.

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

Se você ainda não configurou o controle de acesso, consulte Configurar o controle de acesso a recursos usando o IAM para mais informações sobre como controlar o acesso a recursos.

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

Se você precisar atualizar o pool de identidade ou o provedor de força de trabalho, consulte Gerenciar provedores de pool de identidade de colaboradores para saber como atualizar a configuração.

Seção Gerenciamento de chaves em Criar um provedor de pool de força de trabalho SAML descreve como atualizar as chaves de assinatura do IdP e, em seguida, atualizar o provedor de força de trabalho com o arquivo XML de metadados do aplicativo mais recente.

Confira a seguir um exemplo de comando gcloud que atualiza a configuração do provedor 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:

  • WORKFORCE_PROVIDER_ID: o valor que você definiu para o ID do provedor de força de trabalho.
  • WORKFORCE_POOL_ID: o valor que você definiu para o ID do pool de identidade da força de trabalho.
  • WORKFORCE_PROVIDER_DISPLAY_NAME: um nome fácil de usar. para o fornecedor da força de trabalho. O valor precisa ter menos de 32 caracteres.
  • WORKFORCE_PROVIDER_DESCRIPTION: a descrição do provedor de força de trabalho.
  • PATH_TO_METADATA_XML: o local do arquivo XML de metadados do aplicativo atualizado; por exemplo: /path/to/sso_metadata_updated.xml.
  • ATTRIBUTE_MAPPINGS: os atributos de declaração mapeados para atributos do Google Cloud. Exemplo:

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

.

Para que o RBAC do Google SecOps continue funcionando conforme esperado, mapeie também google.groups a todos os grupos usados para definir papéis no Google SecOps.

Resolver problemas de configuração

Se você encontrar erros durante esse processo, revise Resolver problemas da federação de identidade de colaboradores para resolver problemas comuns. A seção a seguir fornece informações sobre aplicativos problemas encontrados ao executar as etapas deste documento.

Se ainda tiver problemas, entre em contato com seu representante do Google SecOps e forneça seu Arquivo de registros de rede do Chrome.

Erro command not found ao criar um provedor de pool de identidade de colaboradores

Ao criar um provedor de pool de identidade de colaboradores e especificar os detalhes do IdP, este erro será exibido:

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 é o local onde você fez o upload do Arquivo XML de metadados do aplicativo SAML no diretório inicial do Cloud Shell.

The caller does not have permission erro

Ao executar o comando gcloud projects add-iam-policy-binding para conceder papéis a usuários ou grupos, você 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 você tem as permissões necessárias. Consulte Papéis obrigatórios para mais informações.

A seguir

Depois de concluir as etapas deste documento, faça o seguinte: