Configurar um provedor de identidade terceirizado
É 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.
Esta página descreve como usar um provedor de identidade de terceiros configurando a federação de identidade de colaboradores.
Com a federação de identidade da força de trabalho do Google, é possível conceder às cargas de trabalho locais ou em várias nuvens acesso aos recursos do Google Cloud sem usar uma chave de conta de serviço. É possível usar a federação de identidade de colaboradores com qualquer IdP compatível com o OpenID Connect (OIDC) ou o SAML 2.0, como o ID do Microsoft Entra, os Serviços de Federação do Active Directory (AD FS), o Okta e outros.
O Google Security Operations exige o uso da federação de identidade de colaboradores do Google como o corretor de SSO para o seguinte:
- Clientes com requisitos de compliance do FedRAMP High (ou superior).
- Clientes que acessam controles de nível empresarial no Google Security Operations ativados pelo Google Cloud, incluindo controle de acesso baseado em papéis (RBAC) de dados e recursos usando o Identity and Access Management (IAM).
- Clientes que usam o gerenciamento de credenciais de autoatendimento para acesso programático à API Chronicle.
O Google Security Operations é compatível com o SSO de SAML iniciado pelo provedor de serviços (SP) para usuários. Com esse recurso, os usuários navegam diretamente para o Google Security Operations. O Google Security Operations envia uma solicitação pelo Google Cloud Identity and Access Management (IAM) federação de identidade de colaboradores ao provedor de identidade (IdP) terceirizado.
Depois que o IdP autentica a identidade do usuário, ele é redirecionado para o Google Security Operations com uma declaração de autenticação.A federação de identidade da força de trabalho do Google Cloud atua como intermediária no fluxo de autenticação.
Comunicação entre o Google Security Operations, a federação de identidade da força de trabalho do IAM e o IdP
De modo geral, a comunicação é a seguinte:
- O usuário navega até o Google Security Operations.
- O Google Security Operations pesquisa informações do IdP no pool de identidades da força de trabalho Google Cloud .
- Uma solicitação é enviada ao IdP.
- A declaração SAML é enviada ao pool de identidades da força de trabalho Google Cloud .
- Se a autenticação for bem-sucedida, o Google Security Operations vai receber apenas os atributos SAML definidos quando você configurou o provedor de força de trabalho no pool de identidades 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 a grupos na declaração e associam usuários e grupos a papéis predefinidos do IAM ou personalizados criados por eles no Google Security Operations.
O login iniciado pelo IdP (iniciar 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 (IdP) terceirizado usando a federação de identidade de colaboradores Google Cloud . Depois de seguir as etapas deste documento, você poderá acessar o Google Security Operations usando seu IdP de terceiros e gerenciar o acesso ao Google Security Operations usando o SSO via SAML com a federação de identidade da força de trabalho.
Antes de começar
- Confira se você conhece o Cloud Shell, o comando
gcloud
e o console Google Cloud . - Siga as etapas em Configurar um projeto do Google Cloud para o Google Security Operations e crie um projeto vinculado ao Google Security Operations.
- Conheça a Google Cloud federação de identidade de colaboradores.
- Confira se você tem as permissões para realizar as etapas deste documento. Para informações sobre as permissões necessárias em cada fase do processo de integração, consulte Papéis necessários.
As etapas a seguir descrevem como realizar a configuração usando comandos do gcloud
. Se uma etapa puder ser realizada no console Google Cloud , um link para a documentação relacionada 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 você define antes de realizar as etapas neste documento.
Definir o pool de identidades e o provedor da força de trabalho
Como parte desse processo, você vai configurar a federação de identidade de colaboradores Google Cloud como um intermediário no fluxo de autenticação. Para isso, crie os seguintes recursos Google Cloud :
- Pool de colaboradores: um pool de identidade de colaboradores permite conceder acesso ao Google Security Operations para sua força de trabalho (por exemplo, funcionários).
- Provedor de força de trabalho: Um provedor de força de trabalho é um sub-recurso do pool de identidades de força de trabalho. Ele armazena detalhes sobre um único IdP.
A relação entre o pool de identidades da força de trabalho, os provedores da força de trabalho e uma instância do Google Security Operations, identificada por um único subdomínio do cliente, é a seguinte:
- Um pool de identidades de força de trabalho é definido no nível da organização.
- Cada instância do Google Security Operations tem um pool de identidades 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 da força de trabalho integra um IdP de terceiros ao pool de identidades da força de trabalho.
O pool de identidades da força de trabalho criado com estas etapas precisa ser dedicado ao Google SecOps. Embora seja possível gerenciar vários pools de identidade de colaboradores para outras finalidades, o pool de identidade de colaboradores criado para o Google SecOps não pode ser compartilhado.
Recomendamos que você crie o pool de identidades da força de trabalho na mesma organização 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 identidades e o 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 funcionários (
WORKFORCE_POOL_ID
): selecione um valor que indique o escopo ou a finalidade do pool de identidades 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 traços [-].
- Precisa começar com uma letra minúscula [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
): define um nome fácil de usar para o pool de identidades da força de trabalho. - Descrição do pool de força de trabalho (
WORKFORCE_POOL_DESCRIPTION
): define uma descrição detalhada do pool de identidade da força de trabalho. - 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ígitos [0-9] e traços [-].
- Pode ter entre 4 e 32 caracteres.
- Nome de exibição do provedor de força de trabalho (
WORKFORCE_PROVIDER_DISPLAY_NAME
): define 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
): define uma descrição detalhada do provedor de força de trabalho.
Definir atributos e grupos de usuários 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 do Google Security Operations. Para mais informações, consulte Configurar o controle de acesso a recursos usando o IAM e Permissões do Google Security Operations no IAM.
Você vai precisar dessas informações durante as 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 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 Google Cloud atributos. Essas informações são enviadas na declaração de asserção como parte da identidade de um usuário.
Ao configurar o controle de acesso baseado em papéis 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 o acesso a recursos relacionados ao SOAR. Especifique esse nome de grupo durante o processo de integração para autorizar os membros do grupo a configurar o acesso de usuários e grupos a recursos relacionados ao SOAR no Google SecOps.
Configurar o IdP
Esta seção descreve apenas a configuração específica necessária em um aplicativo SAML do IdP para integrar com a federação de identidade da força de trabalho do Google Cloud e o Google Security Operations.
Crie um novo aplicativo SAML no seu IdP.
Configure o aplicativo com o seguinte URL do serviço de declaração do consumidor (ACS, na sigla em inglês), 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 identidades da força de trabalho.WORKFORCE_PROVIDER_ID
: o identificador que você definiu para o provedor de força de trabalho.Para descrições de valores, consulte Planejar a implementação.
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 da força de trabalho.WORKFORCE_PROVIDER_ID
: o identificador definido para o provedor de força de trabalho.
Configure o identificador de nome no IdP para garantir que o campo
NameID
seja retornado na resposta SAML.Você pode definir um valor que seja compatível com as políticas da sua 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. Para mais informações sobre esse requisito, consulte Resolver problemas da federação de identidade de colaboradores.
Se quiser, crie os atributos de grupo no aplicativo SAML. Você os definiu ao planejar a implementação do IdP.
Faça o download do arquivo XML de metadados do aplicativo. Na próxima seção, você vai fazer upload desse arquivo do seu sistema local para o diretório inicial 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 SAML do IdP criado na seção anterior. Para mais informações sobre como gerenciar pools de identidade de força de trabalho, consulte Gerenciar provedores de pools de identidade de força de trabalho.
Abra o console do Google Cloud como o usuário com as permissões necessárias no projeto vinculado ao Google Security Operations. Você identificou ou criou esse usuário antes. Consulte a seção Antes de começar.
Inicie uma sessão do Cloud Shell.
Defina o projeto do Google Cloud que é faturado e cobrado pela cota para operações realizadas usando 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 ao Google Security Operations que você criou em Configurar um projeto Google Cloud para o Google Security Operations. Para uma descrição dos campos que identificam um projeto, consulte Como criar e gerenciar projetos.Para informações sobre cotas, consulte os seguintes documentos:
Se você encontrar um erro, consulte Erros de cota.
Criar e configurar um pool de identidades da força de trabalho
É possível configurar um pool de identidade da força de trabalho para integrar com um provedor de identidade (IdP) externo ou com o Google Workspace ou o Cloud Identity.
Crie um pool de identidades da força de trabalho.
Crie um pool de identidades 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 identidades da força de trabalho.ORGANIZATION_ID
: o ID numérico da organização.WORKFORCE_POOL_DESCRIPTION
: especifique uma descrição do pool de identidades da força de trabalho.WORKFORCE_POOL_DISPLAY_NAME
: especifique um nome fácil de usar para o pool de identidades da força de trabalho.
Para fazer essa configuração usando o console do Google Cloud , consulte Criar um pool.
Se você quiser usar o Google Workspace ou o Cloud Identity para fazer login 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
Esse comando cria um pool de identidades de colaboradores que não é compatível com o login no Google Cloud. Para ativar a funcionalidade de login, use as flags adequadas para cada cenário.
Se for solicitado na linha de comando para ativar a API Chronicle, digite
Yes
.
Criar um provedor de pool de identidade de força de trabalho
Um provedor de pool de identidade da força de trabalho é uma entidade que descreve uma relação entre sua organização do Google Cloud e seu IdP.
Faça upload do arquivo de metadados do aplicativo SAML para o diretório inicial do Cloud Shell clicando em >. Os arquivos só podem ser enviados para o diretório inicial. 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.
MaisAnote 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.
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"
Para descrições de valores, consulte Planejar a implementação.
Substitua:
WORKFORCE_PROVIDER_ID
: o valor definido para o ID do provedor de colaboradores.WORKFORCE_POOL_ID
: o valor definido para o ID do pool de identidades da força de trabalho.WORKFORCE_PROVIDER_DISPLAY_NAME
: um nome fácil de usar para o provedor de colaboradores. Precisa ter menos de 32 caracteres.WORKFORCE_PROVIDER_DESCRIPTION
: uma descrição do provedor de colaboradores.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 atributosGoogle Cloud . A Common Expression Language é usada 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
paragoogle.subject
. Esse é um requisito mínimo.assertion.attributes.name[0]
paragoogle.display_name
.assertion.attributes.groups
ao atributogoogle.groups
.
Se você estiver fazendo essa configuração para o Google Security Operations, que inclui o Google Security Operations SIEM e o Google SecOps SOAR, também precisará mapear os seguintes atributos exigidos pelo Google SecOps SOAR:
attribute.first_name
attribute.last_name
attribute.user_email
google.groups
Para mais informações, consulte Provisionar e mapear usuários para o SOAR do Google SecOps.
Por padrão, o Google Security Operations lê informações de grupo dos seguintes nomes de atributos de declaração sem diferenciação de maiúsculas e minúsculas:
_assertion.attributes.groups_
,_assertion.attributes.idpGroup_
e_assertion.attributes.memberOf_
.Ao configurar o aplicativo 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
porassertion.attributes.idpGroup
ouassertion.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 a 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 paragoogle.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 Google Cloud , consulte Criar um provedor SAML.
Conceder uma função para ativar o login no Google Security Operations
As etapas a seguir descrevem como conceder uma função específica usando o IAM para que os usuários possam fazer login no Google Security Operations. Faça a configuração usando o projeto Google Cloud vinculado ao Google Security Operations que você criou anteriormente.
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 de leitor da API Chronicle a identidades gerenciadas usando o pool de identidade de colaboradores 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:
PROJECT_ID
: com o ID do projeto vinculado ao Google Security Operations que você configurou em Configurar um projeto Google Cloud para o Google Security Operations. Para uma descrição dos campos que identificam um projeto, consulte Como criar e gerenciar projetos.WORKFORCE_POOL_ID
: o valor definido para o ID do pool de identidades da força de trabalho.
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çãogoogle.groups
mapeada.
Configure outras políticas do IAM para atender aos requisitos da sua organização.
Obrigatório: para concluir a autenticação e permitir o acesso do usuário à plataforma do Google SecOps, configure o acesso do usuário no lado SOAR do Google SecOps. Para mais informações, consulte Mapear usuários na plataforma Google SecOps.
Verificar ou configurar o controle de acesso aos 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 serão transmitidas ao Google Security Operations
para que você possa configurar o controle de acesso baseado em função (RBAC) para os 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ê ainda não configurou o controle de acesso, consulte Configurar o controle de acesso a recursos usando o IAM para informações sobre como controlar o acesso a recursos.
Modificar a configuração da federação de identidade de colaboradores
Se você precisar atualizar o pool de identidades ou o provedor de força de trabalho, consulte Gerenciar provedores de pool de identidades da força de trabalho para informações sobre como atualizar a configuração.
A seção Gerenciamento de chaves em Criar um provedor de pool de colaboradores SAML descreve como atualizar as chaves de assinatura do IdP e, em seguida, atualizar a configuração do provedor de colaboradores 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 definido para o ID do provedor de colaboradores.WORKFORCE_POOL_ID
: o valor definido para o ID do pool de identidades da força de trabalho.WORKFORCE_PROVIDER_DISPLAY_NAME
: um nome fácil de usar para o provedor de colaboradores. 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 atributosGoogle 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 como 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 da força de trabalho para resolver problemas comuns. A seção a seguir fornece informações sobre problemas comuns encontrados ao realizar as etapas deste documento.
Se você ainda encontrar problemas, entre em contato com seu representante do Google SecOps e envie o arquivo de registros de rede do Chrome.
Comando não encontrado
Ao criar um provedor de pool de identidades 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 o PATH_TO_METADATA_XML
é o local em que você fez upload do
arquivo XML de metadados do aplicativo SAML para o diretório principal do Cloud Shell.
O autor da chamada não tem permissão
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. Para mais informações, consulte Papéis necessários.
A seguir
Depois de concluir as etapas deste documento, faça o seguinte:
Siga as etapas para vincular uma instância do Google Security Operations aos Google Cloud serviços.
Se você ainda não configurou o registro de auditoria, continue com a ativação do registro de auditoria do Google Security Operations.
Se você estiver configurando para o Google Security Operations, siga as etapas adicionais em Provisionar, autenticar e mapear usuários no Google Security Operations.
Para configurar o acesso a recursos, siga as etapas adicionais em Configurar o controle de acesso a recursos usando o IAM e Permissões do Google Security Operations no IAM.
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.