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 da força de trabalho. Para informações sobre como usar o Cloud Identity ou o Google Workspace, consulte Configurar um provedor de identidade Google Cloud .
A federação de identidade da força de trabalho do Google permite conceder acesso a recursos Google Cloud a cargas de trabalho locais ou multicloud, sem precisar usar uma chave de conta de serviço. É possível usar a federação de identidade da força de trabalho com qualquer IdP compatível com o OpenID Connect (OIDC) ou SAML 2.0, como o ID do Microsoft Entra, Serviços de Federação do Active Directory (AD FS), Okta e outros.
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 compliance FedRAMP High (ou superior).
- Clientes que acessam qualquer controle empresarial no Google Security Operations que seja ativado por 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.
O Google Security Operations oferece 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. As operações de segurança do Google emitem uma solicitação pelo Google Cloud gerenciamento de identidade e acesso (IAM) da federação de identidade de colaboradores para o provedor de identidade terceirizado (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 força de trabalho Google Cloud 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 IAM e o IdP
De modo geral, a comunicação é a seguinte:
- O usuário acessa o Google Security Operations.
- As operações de segurança do Google procuram informações do IdP no Google Cloud pool de identidade da força de trabalho.
- Uma solicitação é enviada ao IdP.
- A declaração SAML é enviada para o pool de identidade da força de trabalho Google Cloud .
- 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 Google Security Operations no IAM ou a funções personalizadas que eles criaram.
O login iniciado pelo IdP (iniciando um login no painel do IdP) não é aceito. 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 usando um provedor de identidade (IdP) de terceiros com a Google Cloud federação de identidade de colaboradores. 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 com a federação de identidade da força de trabalho.
Antes de começar
- Familiarize-se com o Cloud Shell, o comando
gcloud
e o console do Google Cloud. - Siga as etapas em Configurar um projeto Google Cloud para o Google Security Operations para configurar um projeto vinculado ao Google Security Operations.
- Conheça a Google Cloud federação de identidade da força de trabalho.
- Confira se você tem as permissões para realizar as etapas neste documento. Para informações sobre as permissões necessárias para cada fase do processo de integração, consulte Papéis necessários.
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 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 às Operações de segurança do Google à sua força de trabalho (por exemplo, funcionários).
- Provedor de força de trabalho: um provedor de força de trabalho é um subrecurso do pool de identidade da força de trabalho. Ele armazena detalhes sobre um único IdP.
A relação entre o pool de identidade da força de trabalho, os provedores da força de trabalho e uma instância do Google Security Operations, identificada por um subdomínio de cliente único, é a seguinte:
- Um pool de identidade de força de trabalho é 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 força de trabalho.
- 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 de colaboradores que você cria usando estas etapas precisa ser dedicado ao Google SecOps. Embora você possa gerenciar vários pools de identidade de força de trabalho para outras finalidades, o pool de identidade de 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 Google Cloud que contém o projeto vinculado ao Google SecOps.
Isso ajuda a economizar tempo se você pré-definir informações sobre o pool de identidade e o provedor da 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 de 4 a 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 colaboradores (
WORKFORCE_POOL_DESCRIPTION
): defina 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ç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 colaboradores (
WORKFORCE_PROVIDER_DESCRIPTION
): defina uma descrição detalhada do provedor de colaboradores.
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 no Google Security Operations. Para mais informações, consulte Configurar o controle de acesso a recursos usando o IAM e Permissões de 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 atributosGoogle 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 os 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 SAML do IdP para integração com a Google Cloud federação de identidade da força de trabalho e as operações de segurança do Google.
Crie um novo aplicativo SAML no IdP.
Configure o aplicativo com o seguinte URL do serviço de consumidor de declaração (ACS), 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ê definiu para o provedor de força de trabalho.Consulte Planejar a implementação para uma descrição desses valores.
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.
Configure o identificador de nome no IdP para garantir que o campo
NameID
seja retornado na resposta SAML.É possível definir um valor 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 na federação de identidade de colaboradores.
Opcionalmente, crie os atributos de grupo no aplicativo SAML. Você definiu isso quando planejou 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 Google Cloud diretório principal 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 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 às operações de segurança do Google. Você identificou ou criou esse usuário anteriormente. Consulte a seção Antes de começar.
Inicie uma sessão do Cloud Shell.
Defina o projeto Google Cloud que é faturado e cobrado pelas operações realizadas usando a CLI gcloud. Use o comando
gcloud
a seguir 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 Google Cloud projeto 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 estes documentos:
Se você encontrar um erro, consulte Erros de cota.
Criar e configurar um pool de identidade da força de trabalho
É possível configurar um pool de identidade da força de trabalho para integração com um provedor de identidade (IdP) externo ou com o Google Workspace ou o Cloud Identity.
Crie um pool de identidade da força de trabalho.
Crie um pool de identidade de colaboradores para um IdP de terceiros:
Use o comando
gcloud
a seguir 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 para o pool de identidade da força de trabalho.
Para realizar 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 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.
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
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 comando
gcloud
a seguir 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 colaboradores.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 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ê 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 atributosGoogle 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
paragoogle.subject
. Esse é um requisito mínimo.assertion.attributes.name[0]
paragoogle.display_name
.assertion.attributes.groups
para o atributogoogle.groups
.
Se você estiver realizando essa configuração para as Operações de Segurança do Google, que inclui o SIEM e o SOAR do Google SecOps, também será necessário mapear os seguintes atributos exigidos pelo SOAR do Google SecOps:
attribute.first_name
attribute.last_name
attribute.user_email
google.groups
Saiba mais sobre como provisionar e mapear usuários para o Google SecOps SOAR.
Por padrão, as operações de segurança do Google leem informações de grupo dos seguintes nomes de atributos 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 a grupos na declaração, defina o nome do atributo do 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 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, 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 realizar 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 no Google Security Operations. Execute a configuração usando o projeto 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.
Conceda o papel de 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 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 Google Cloud projeto para o Google Security Operations. Consulte Como criar e gerenciar projetos para ver uma descrição dos campos que identificam um projeto.WORKFORCE_POOL_ID
: o valor que você definiu para o ID do pool de identidade 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"
Substituir
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 Google SecOps, você precisa configurar o acesso do usuário no lado do SOAR do Google SecOps. Para mais informações, consulte Mapear usuários na plataforma Google SecOps.
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 da força de trabalho
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.
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, 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 colaboradores.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 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 afirmaçã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 de federação de identidade da força de trabalho para resolver problemas comuns. A seção a seguir apresenta informações sobre problemas comuns encontrados ao realizar as etapas neste 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.
Erro command not found
ao criar um provedor de pool de identidade da força de trabalho
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 o PATH_TO_METADATA_XML
é o local para onde você fez upload do
arquivo XML de metadados do aplicativo SAML no diretório principal 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:
Siga as etapas para vincular uma instância do Google Security Operations a Google Cloud serviços.
Se você ainda não tiver configurado o registro de auditoria, continue com a ativação do registro de auditoria do Google Security Operations.
Se você estiver configurando para as Operações de segurança do Google, siga as etapas adicionais em Provisionar, autenticar e mapear usuários nas Operações de segurança do Google.
Para configurar o acesso a recursos, siga as etapas adicionais em Configurar o controle de acesso a recursos usando o IAM e Permissões de operações de segurança do Google no IAM.
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.