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.

Esta página descreve como usar um provedor de identidade de terceiros configurando a federação de identidade da força de trabalho. 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. É possível usar a federação de identidade da força de trabalho com qualquer provedor de identidade (IdP) de terceiros compatível com o OpenID Connect (OIDC), incluindo o Microsoft Azure, o Okta ou o SAML 2.0.

As operações de segurança do Google exigem o uso da federação de identidade da força de trabalho do Google como o broker de SSO para o seguinte:

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

As operações de segurança do Google oferecem suporte ao SSO SAML iniciado pelo provedor de serviços (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 pela federação de identidade de colaboradores do Google Cloud Identity and Access Management (IAM) ao provedor de identidade (IdP) terceirizado.

Depois que o IdP autentica a identidade do usuário, o usuário é retornado Google Security Operations 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, a federação de identidade da força de trabalho do Google Cloud IAM e o IdP

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

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

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

Os administradores do Google Security Operations criam grupos no provedor de identidade, configuram o aplicativo SAML para transmitir informações de associação ao grupo na declaração e, em seguida, associam usuários e grupos a funções predefinidas do IAM ou a funções personalizadas criadas por eles.

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 etapas avançadas para configurar a autenticação por meio de uma um provedor de identidade terceirizado (IdP) usando a federação de identidade de colaboradores do Google Cloud. Após seguir as etapas neste documento, você poderá acessar as Operações de segurança do Google usando seu IdP de terceiros gerenciar o acesso às Operações de segurança do Google com o SSO via SAML e a federação de identidade de colaboradores.

Antes de começar

As etapas a seguir descrevem como realizar a configuração usando comandos gcloud. 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ê precisa tomar e as informações que precisa definir antes de realizar as etapas neste 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 da força de trabalho configurado e associado a ela.
  • Um pool de identidade de colaboradores pode ter vários provedores de colaboradores.
  • Cada provedor de força de trabalho integra um IdP de terceiros ao pool de identidade da força de trabalho.
  • O pool de identidade da força de trabalho criado usando estas 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 precisa atender aos seguintes requisitos:
    • Precisa ser globalmente exclusivo.
    • Use apenas caracteres minúsculos [a-z], dígitos [0-9] e hifens [-].
    • 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 da força de trabalho.
  • 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 de 4 a 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ê precisa dessas informações durante as seguintes fases desse processo:

  • Ao configurar o aplicativo SAML, você cria os grupos definidos durante o planejamento. Você configura o aplicativo SAML do IdP para transmitir associações a grupos no declaração.

  • Ao criar o provedor de força de trabalho, você mapeia atributos e grupos de atribuiçã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 os atributos do usuário e as informações do grupo para configurar o acesso aos recursos do Google Security Operations.

    O Google Security Operations oferece vários papéis predefinidos que permitem o acesso a recursos 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 informar o nome desse grupo para que os usuários possam configurar o controle de acesso aos recursos relacionados ao SOAR.

Configurar o IdP

Esta seção descreve apenas a configuração específica necessária em um aplicativo IdP SAML para integração com a federação de identidade de colaboradores 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) a seguir, também conhecido como 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 de colaboradores.
    • WORKFORCE_PROVIDER_ID: o identificador que você definiu para o provedor de força de trabalho.

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

  3. Configure o aplicativo com o seguinte ID da entidade (também chamado de ID da entidade do 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 identidades de força de trabalho.
    • 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 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 da força de trabalho, consulte Gerenciar provedores de pools de identidade da força de trabalho.

  1. Abra o console do Google Cloud como o usuário com as permissões necessárias na 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 que é faturado e cobrado pelas operações realizadas usando 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 ao Google Security Operations que você criou em Configurar um projeto do Google Cloud para o Google Security Operations. Consulte Como criar e gerenciar projetos para uma descrição dos campos que identificam um projeto.

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

    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.

    • Crie um pool de identidade da força de trabalho 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 da força de trabalho.
      • 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, avance para a próxima etapa. Se o comando falhar, considere se os seguintes cenários se aplicam ao seu ambiente:

      • Você quer usar o Google Workspace ou o Cloud Identity para fazer login no 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 sinalizações --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 Google Cloud, mas essas sinalizações precisam ser usadas 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 da força de trabalho

  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 o upload do arquivo XML de metadados do aplicativo SAML no Cloud Shell. Você vai precisar desse caminho na próxima etapa.

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

    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. Ele 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ê fez upload 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. A Common Expression Language é usada para interpretar esses mapeamentos. 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
      .

      Saiba mais sobre como provisionar e mapear usuários para o SOAR das Operações de segurança do Google.

      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 fazer essa configuração usando o console do Google Cloud, consulte Criar um provedor SAML.

Conceder um papel para ativar o login no Google Security Operations

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. Realize a configuração usando o projeto do Google Cloud vinculado ao Google Security Operations 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 da força de trabalho com atributos ou grupos mapeados para o atributo google.groups, essas informações são transmitidas ao Google Security Operations para que você possa configurar o controle de acesso baseado em função (RBAC) nos recursos do Google Security Operations.

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ê não tiver configurado o controle de acesso anteriormente, consulte Configurar o controle de acesso a recursos usando o IAM para saber como controlar o acesso a recursos.

Modificar a configuração da federação de identidade de colaboradores

Se você precisar atualizar o pool de identidade ou o provedor da força de trabalho, consulte Gerenciar provedores de pool de identidade da força de trabalho 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 colaboradores.
  • 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 garantir que o RBAC do Google SecOps continue funcionando conforme o esperado, mapeie também o atributo google.groups para 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 você ainda tiver problemas, entre em contato com seu representante do Google SecOps e envie o 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, você 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 é 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 necessários para mais informações.

A seguir

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