Configurar um provedor de identidade de terceiros

É possível usar o Cloud Identity, o Google Workspace ou um provedor de identidade de terceiros (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 a 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.

A federação de identidade da força de trabalho do Google permite conceder a cargas de trabalho locais ou em várias nuvens acesso aos recursos do Google Cloud sem precisar usar uma chave de conta de serviço. É possível usar a federação de identidade de colaboradores com qualquer provedor de identidade (IdP) de terceiros compatível com o OpenID Connect (OIDC), incluindo Microsoft Azure, Okta ou SAML 2.0.

O Google Security Operations requer o uso da federação de identidade de colaboradores do Google como o 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 ativadas pelo Google Cloud, incluindo dados e controle de acesso baseado em função (RBAC, na sigla em inglês) usando o Identity and Access Management (IAM).
  • Clientes que usam o gerenciamento de credenciais de autoatendimento para acesso programático da API Google Security Operations.

O SSO SAML iniciado pelo provedor de serviços (iniciado pelo SP) é compatível com as Operações de segurança do Google para os 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 por meio da federação de identidade de colaboradores do Google Cloud Identity and Access Management (IAM) para o provedor de identidade de terceiros (IdP).

Depois que o IdP autentica a identidade do usuário, o usuário é retornado ao Google Security Operations com uma declaração de autenticação. A federação de identidade de colaboradores do Google Cloud atua como intermediária no fluxo de autenticação.

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

Comunicação entre as Operações de segurança do Google, a federação de identidade de colaboradores do IAM e o 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 vão receber apenas os atributos SAML 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 aplicativo SAML para transmitir informações de associação a grupos na declaração e associam usuários e grupos aos papéis predefinidos no IAM das Operações de segurança do Google ou a papéis personalizados criados por eles.

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

Neste documento, descrevemos as etapas gerais para configurar a autenticação por meio de um provedor de identidade (IdP) de terceiros usando a federação de identidade de colaboradores do Google Cloud. Após realizar as etapas neste documento, você poderá acessar as Operações de segurança do Google usando seu IdP de terceiros e gerenciar o acesso às Operações de segurança do Google usando o SSO SAML por meio da federação de identidade de colaboradores.

Antes de começar

As etapas a seguir descrevem como executar a configuração usando os comandos gcloud. Se for possível realizar uma etapa no console do Google Cloud, será fornecido um link para a documentação do IAM relacionada.

Planejar a implementação

Na seção a seguir, descrevemos as decisões que você precisa tomar e as informações que define antes de executar 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 federação de identidade de colaboradores do Google Cloud como um intermediário no fluxo de autenticação. Para fazer isso, crie os seguintes recursos do Google Cloud:

  • Pool de funcionários: um pool de identidade permite que você conceda a seus 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 da força de trabalho, os provedores de força de trabalho e uma instância das Operações de segurança do Google, identificada por um único subdomínio do cliente, é a seguinte:

  • 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 de colaboradores pode ter vários provedores de colaboradores.
  • 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, mas o pool de identidades de colaboradores criado para o Google SecOps não pode ser compartilhado.
  • Recomendamos que você crie o pool de identidades de colaboradores 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 o pool de identidade da força de trabalho e o provedor de força de trabalho. Essas informações são usadas ao configurar o aplicativo SAML do IdP e a federação de identidade de colaboradores.

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 de colaboradores. O valor precisa atender aos 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 uma descrição detalhada do pool de identidade de colaboradores.
  • ID do provedor de força de trabalho (WORKFORCE_PROVIDER_ID): escolha um valor que indique o IdP que ele 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. Ele precisa ter menos de 32 caracteres.
  • Descrição do provedor de força de trabalho (WORKFORCE_PROVIDER_DESCRIPTION): defina uma descrição detalhada do provedor 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ário são necessários para configurar o acesso aos recursos nas Operações de segurança do Google. Para mais informações, consulte 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. Configure o aplicativo SAML do IdP para transmitir associações a grupos na declaração.

  • Ao criar o provedor de força de trabalho, você mapeia atributos e grupos de declaração para os 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.

    As Operações de segurança do Google oferecem vários papéis predefinidos. Cada um deles permite 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 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

Nesta seção, descrevemos apenas a configuração específica necessária em um aplicativo SAML do IdP para fazer a 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 definido para o provedor da 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 IdP para garantir que o campo NameID seja retornado 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 fazer upload desse arquivo do sistema local para o diretório inicial do Google Cloud usando o Cloud Shell.

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

Nesta seção, descrevemos apenas as etapas específicas necessárias para configurar a federação de identidade de colaboradores com o aplicativo SAML do IdP que você criou na seção anterior. Para mais informações sobre como gerenciar pools de identidade de colaboradores, consulte Gerenciar provedores de pools de identidades 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 que é faturado e cobrado para operações realizadas com a CLI gcloud. Use o seguinte comando gcloud como exemplo:

    gcloud config set billing/quota_project PROJECT_ID
    

    Substitua PROJECT_ID pelo ID do projeto vinculado às Operações de segurança do Google 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 da força de trabalho para se integrar a um provedor de identidade externo (IdP, na sigla em inglês) ou ao Google Workspace ou ao 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 de colaboradores.
      • WORKFORCE_POOL_DISPLAY_NAME: especifique um nome fácil de usar para o 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 cenários a seguir 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 no Google Cloud, mas você precisa usar essas sinalizações para resolver esses cenários.

  2. Se você receber uma solicitação para ativar a API Chronicle na linha de comando, 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 >. Só é possível enviar os arquivos para o 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 identidades de colaboradores.
    • WORKFORCE_PROVIDER_DISPLAY_NAME: um nome fácil de usar para o provedor 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ê 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 executando esta configuração para as Operações de segurança do Google, que inclui o Google Security Operations SIEM e Google Security Operations SOAR, também precisará mapear os seguintes atributos exigidos pelo Google Security Operations SOAR:

      • 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, as Operações de segurança do Google leem informações de grupo dos seguintes nomes de atributo de declaração que não diferenciam maiúsculas de minúsculas: _assertion.attributes.groups_, _assertion.attributes.idpGroup_ e _assertion.attributes.memberOf_.

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

      No comando de exemplo, é possível substituir assertion.attributes.groups por assertion.attributes.idpGroup ou assertion.attributes.memberOf, que representa o nome do atributo de grupo que você configurou no aplicativo SAML do IdP e que contém informações de associação a grupos 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 atributos de mapeamento, 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 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. Execute 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 o papel Leitor da API Chronicle (roles/chronicle.viewer) a usuários ou grupos que precisam ter acesso ao aplicativo Google Security Operations.

    O exemplo a seguir concede o papel Leitor da API Chronicle a identidades gerenciadas usando o pool de identidade e o provedor de força de trabalho criados 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 das Operações de segurança do Google

Se você configurou a federação de identidade de colaboradores com atributos ou grupos mapeados para o atributo google.groups, essas informações serão transmitidas para o Google Security Operations para que você possa configurar o controle de acesso com base em papéis (RBAC, na sigla em inglês) para os recursos das Operações de segurança do Google.

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

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

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

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 informações sobre como atualizar a configuração.

A 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 a configuração do 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 identidades de colaboradores.
  • WORKFORCE_PROVIDER_DISPLAY_NAME: um nome fácil de usar para o provedor 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 garantir que o RBAC do Google SecOps continue funcionando conforme 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, consulte Resolver problemas da federação de identidade de colaboradores para resolver problemas comuns. A seção a seguir fornece informações sobre problemas comuns encontrados ao executar as etapas deste documento.

Se ainda tiver problemas, entre em contato com o 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, 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 em que você fez upload do arquivo XML de metadados do aplicativo SAML para o 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: