Este documento mostra como configurar a federação de identidade da força de trabalho com o provedor de identidade (IdP) do Microsoft Entra ID e mapear até 400 grupos do Microsoft Entra ID para Google Cloud usando o Microsoft Graph. O documento mostra como conceder papéis do IAM a esses grupos e como assinar usuários do Microsoft Entra ID que são membros dos grupos emGoogle Cloud. Os usuários podem acessar Google Cloud produtos a que receberam acesso do IAM e que oferecem suporte à federação de identidade de colaboradores.
Para mapear menos de 150 grupos do Microsoft Entra ID para Google Cloud, consulte Configurar a federação de identidade de colaboradores com o Microsoft Entra ID e fazer login de usuários.
É possível usar o método descrito neste documento com os seguintes protocolos:
- OIDC com fluxo implícito
- OIDC com fluxo de código
- Protocolo SAML 2.0
O número de endereços de e-mail de grupo que um aplicativo do Microsoft Entra ID pode emitir em um token é limitado a 150 para SAML e 200 para JWT. Para saber mais sobre esse limite, consulte Configurar declarações de grupo para aplicativos usando o Microsoft Entra ID. Para recuperar mais grupos, a federação de identidade de colaboradores usa o fluxo de credenciais do cliente OAuth 2.0 da Microsoft para conseguir credenciais que permitam que a federação de identidade de colaboradores consulte a API Microsoft Graph e busque os grupos de um usuário.
Para usar esse método, em um nível alto, faça o seguinte:
Crie um novo aplicativo do Microsoft Entra ID ou atualize o atual para receber as associações de grupo dos usuários da API Microsoft Graph. Para saber mais sobre como o Microsoft Graph recupera um grande número de grupos do Microsoft Entra ID, consulte Grupos de cobertura.
Ao criar o provedor de pool de identidade de colaboradores, use flags
extra-attributes
para configurar a federação de identidade de colaboradores para extrair os endereços de e-mail do grupo de usuários da API Microsoft Graph.
A federação de identidade de colaboradores pode recuperar no máximo 999 grupos da API Microsoft Graph. Se a API Microsoft Graph retornar mais de 999 grupos, o login vai falhar.
Para reduzir o número de grupos retornados pela API Microsoft Graph, é possível
refinar a consulta da federação de identidade da força de trabalho usando a
flag --extra-attributes-filter
ao criar o provedor de pool de identidade da força de trabalho.
Depois que a federação de identidade da força de trabalho recupera os grupos da API Microsoft Graph, ela cria o token de acesso. A Federação de identidade da força de trabalho pode adicionar um máximo de 400 grupos ao token de acesso. Portanto, para filtrar ainda mais o número de grupos para 400 ou menos, especifique um mapeamento de atributos que contenha expressões de linguagem de expressão comum (CEL), ao criar o provedor de pool de identidade da força de trabalho.
Antes de começar
- Verifique se você tem uma Google Cloud organização configurada.
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- No Microsoft Entra ID, verifique se os tokens de ID estão ativados para fluxo implícito. Para mais informações, consulte Ativar a concessão implícita do token de ID.
- Para fazer login, seu IdP precisa fornecer informações de autenticação assinadas. Os IdPs OIDC precisam fornecer um JWT, e as respostas do IdP SAML precisam ser assinadas.
- Para receber informações importantes sobre mudanças na sua organização ou nos produtosGoogle Cloud , forneça os Contatos essenciais. Para mais informações, consulte as informações gerais da federação de identidade de colaboradores.
- Todos os grupos que você pretende mapear precisam ser marcados como grupos de segurança no Microsoft Entra ID.
Funções exigidas
Para receber as permissões necessárias para configurar a federação de identidade de colaboradores, peça ao administrador para conceder a você o papel do IAM de
Administrador de pool de colaboradores do IAM (roles/iam.workforcePoolAdmin
) na organização.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.
Se você estiver configurando permissões em um ambiente de desenvolvimento ou teste, mas não em um ambiente de produção, poderá conceder o papel básico de Proprietário do IAM (roles/owner
), que também inclui permissões para a Federação de identidade da força de trabalho.
Criar um aplicativo do Microsoft Entra ID
Nesta seção, mostramos como criar um aplicativo do Microsoft Entra ID usando o portal de administrador do Microsoft Entra. Como alternativa, atualize o aplicativo existente. Para mais detalhes, consulte Estabelecer aplicativos no ecossistema do Microsoft Entra ID.
Os pools de identidade de colaboradores aceitam a federação usando os protocolos OIDC e SAML.
OIDC
Para criar um registro de aplicativo da Microsoft Entra ID que use o protocolo OIDC, faça o seguinte:
Faça login no portal do administrador do Microsoft Entra.
Acesse Identidade > Aplicativos > Registros de apps.
Para começar a configurar o registro do aplicativo, faça o seguinte:
Clique em New registration.
Insira um nome para o aplicativo.
Em Tipos de contas compatíveis, selecione uma opção.
Na seção Redirecionar URI, na lista suspensa Selecione uma plataforma, selecione Web.
No campo de texto, insira um URL de redirecionamento. Seus usuários serão redirecionados para esse URL após o login. Se você estiver configurando o acesso ao console (federado), use o seguinte formato de URL:
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Substitua:
WORKFORCE_POOL_ID
: um ID de pool de identidade de colaboradores que você vai usar ao criar o pool de identidade de colaboradores mais adiante neste documento. Por exemplo:entra-id-oidc-pool
WORKFORCE_PROVIDER_ID
: um ID do provedor de pool de identidade da força de trabalho que você vai usar ao criar o provedor de pool de identidade da força de trabalho mais adiante neste documento. Por exemplo:entra-id-oidc-pool-provider
Para informações sobre como formatar o ID, consulte a seção Parâmetros de consulta na documentação da API.
Para criar o registro do aplicativo, clique em Register.
Para usar o exemplo de mapeamento de atributos que será fornecido mais adiante neste documento, você precisa criar um atributo
department
personalizado.
SAML
Para criar um registro de aplicativo da Microsoft Entra ID que use o protocolo SAML, faça o seguinte:
Faça login no portal do administrador do Microsoft Entra.
Acesse Identidade > Aplicativos > Registros de apps.
Para começar a configurar o aplicativo empresarial, faça o seguinte:
Clique em Novo aplicativo > Criar seu próprio aplicativo.
Insira um nome para o aplicativo.
Clique em Criar.
Acesse Logon único > SAML.
Atualize a Configuração básica de SAML da seguinte maneira:
No campo Identificador (ID da entidade), insira o seguinte valor:
https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Substitua:
WORKFORCE_POOL_ID
: um ID de pool de identidade da força de trabalho que você vai usar ao criar o pool de identidade da força de trabalho mais adiante neste documento. Por exemplo:entra-id-saml-pool
WORKFORCE_PROVIDER_ID
: um ID do provedor de pool de identidade da força de trabalho que você vai usar ao criar o provedor de pool de identidade da força de trabalho mais adiante neste documento. Por exemplo:entra-id-saml-pool-provider
Para informações sobre como formatar o ID, consulte a seção Parâmetros de consulta na documentação da API.
No campo URL de resposta (URL do serviço de declaração do consumidor), insira um URL de redirecionamento. Seus usuários serão redirecionados para esse URL após o login. Se você estiver configurando o acesso ao console (federado), use o seguinte formato de URL:
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Substitua:
WORKFORCE_POOL_ID
: o ID do pool de identidade da força de trabalhoWORKFORCE_PROVIDER_ID
: o ID do provedor de identidade da força de trabalho
Para ativar o login iniciado pelo IdP, defina o campo Relay State com o seguinte valor:
https://console.cloud.google/
Para salvar a configuração do aplicativo SAML, clique em Salvar.
Para usar o exemplo de mapeamento de atributos que será fornecido mais adiante neste documento, você precisa criar um atributo
department
personalizado.
Configurar um grande número de grupos com o Microsoft Entra ID
Esta seção descreve como mapear até 400 grupos do Microsoft Entra ID para a federação de identidade de colaboradores usando os protocolos OIDC e SAML.
Configurar um grande número de grupos com o Microsoft Entra ID com o fluxo implícito do OIDC
Esta seção descreve como mapear até 400 grupos do Microsoft Entra ID para a federação de identidade da força de trabalho usando o protocolo OpenID Connect (OIDC) com fluxo implícito.
Configurar o aplicativo do Microsoft Entra ID
Você pode configurar um aplicativo do Microsoft Entra ID existente ou criar um novo. Para configurar o aplicativo, faça o seguinte:
-
No portal do Microsoft Entra ID, faça o seguinte:
- Para registrar um novo aplicativo, siga as instruções em Registrar um novo aplicativo.
-
Para atualizar um aplicativo, faça o seguinte:
- Acesse Identidade > Aplicativos > Aplicativos empresariais.
- Selecione o aplicativo que você quer atualizar.
-
Crie uma nova chave secreta do cliente no aplicativo seguindo as instruções em Certificados e chaves secretas. Registre o valor da chave secreta do cliente porque ele é exibido apenas uma vez.
Anote os seguintes valores do aplicativo que você criou ou atualizou. Você vai fornecer os valores ao configurar o provedor de pool de identidade da força de trabalho mais adiante neste documento.
Client ID
Issuer URI
Client Secret
Tenant ID
-
Para extrair os grupos do Microsoft Entra ID, adicione a permissão de API para permitir que a federação de identidade da carga de trabalho acesse as informações dos usuários do Microsoft Entra ID usando a API Microsoft Graph e conceda o consentimento do administrador. No Microsoft Entra ID, faça o seguinte:
- Acesse Permissões da API.
- Clique em Adicionar uma permissão.
- Selecione API Microsoft.
- Selecione Permissões do aplicativo.
- No campo de pesquisa, digite
User.ReadBasic.All
. - Clique em Adicionar permissões
É possível extrair os grupos do Microsoft Entra ID como identificadores de objetos de grupo (ID) ou como endereço de e-mail de grupo para grupos com e-mail ativado.
Se você escolher recuperar grupos como endereços de e-mail de grupo, a próxima etapa será necessária.
- Para recuperar os grupos do Microsoft Entra ID como endereços de e-mail em grupo, faça o seguinte. Se você recuperar grupos como identificadores de objetos de grupo, pule esta etapa.
- No
GroupMember.Read.All
campo de pesquisa, insira . - Clique em Adicionar permissões
- Clique em Conceder consentimento de administrador para o nome do seu domínio.
- Na caixa de diálogo exibida, clique em Sim.
- Acesse a página Visão geral do aplicativo Microsoft Entra ID que você criou ou atualizou anteriormente.
- Clique em Endpoints.
O URI do emissor é o URI do documento de metadados do OIDC, omitindo o caminho
/.well-known/openid-configuration
.Por exemplo, se o documento de metadados do OIDC for
https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.well-known/openid-configuration
, o URI do emissor seráhttps://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/
. - No
Criar um pool de identidades da força de trabalho
Console
Para criar o pool de identidades de colaboradores, faça o seguinte:
No console do Google Cloud, acesse a página Pools de identidade da força de trabalho:
Selecione a organização para o pool de identidade da força de trabalho. Os pools de identidade de força de trabalho estão disponíveis em todos os projetos e pastas de uma organização.
Clique em Criar pool e faça o seguinte:
No campo Nome, digite o nome de exibição do pool. O ID do pool é derivado automaticamente do nome à medida que você digita e é exibido no campo Nome. Para atualizar o ID do pool, clique em Editar ao lado dele.
Opcional: em Descrição, insira uma descrição do pool.
A duração da sessão é definida por padrão. Para inserir uma duração personalizada da sessão, clique em Editar. A duração da sessão determina por quanto tempo os tokens de acesso Google Cloud, as sessões de login do console (federado) e o login da CLI gcloud deste pool de força de trabalho são válidos. A duração precisa ser maior que 15 minutos (900s) e menor que 12 horas (43200s). Se a duração da sessão não for definida, o padrão será de uma hora (3.600 segundos).
Para criar o pool no estado ativado, verifique se a opção Pool ativado está ativada.
Para criar o pool de identidades de colaboradores, clique em Próxima.
gcloud
Para criar o pool de identidade de colaboradores, execute o seguinte comando:
gcloud iam workforce-pools create WORKFORCE_POOL_ID \
--organization=ORGANIZATION_ID \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--session-duration=SESSION_DURATION \
--location=global
Substitua:
WORKFORCE_POOL_ID
: um ID escolhido para representar o pool de forças de trabalho Google Cloud . Para informações sobre como formatar o ID, consulte a seção Parâmetros de consulta na documentação da API.ORGANIZATION_ID
: o ID numérico da organização Google Cloud para o pool de identidade da força de trabalho. Os pools de identidade da força de trabalho estão disponíveis em todos os projetos e pastas da organização.DISPLAY_NAME
: opcional. Um nome de exibição para o pool de identidade de colaboradores.DESCRIPTION
: opcional. : uma descrição do pool de identidade de colaboradoresSESSION_DURATION
: opcional. A duração da sessão, que determina por quanto tempo os Google Cloud tokens de acesso, as sessões de login do console (federado) e o login da CLI gcloud deste pool de força de trabalho são válidos. A duração precisa ser maior que 15 minutos (900s) e menor que 12 horas (43200s). Se a duração da sessão não for definida, o padrão será de uma hora (3.600 segundos).
Configurar o provedor de pool de identidade de colaboradores do fluxo implícito do OIDC
Para criar o provedor de pool de identidade da força de trabalho do OIDC, execute o seguinte comando:
gcloud iam workforce-pools providers create-oidc PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --location=global \ --display-name=DISPLAY_NAME \ --issuer-uri=ISSUER_URI \ --client-id=CLIENT_ID \ --attribute-mapping=ATTRIBUTE_MAPPING \ --web-sso-response-type=id-token \ --web-sso-assertion-claims-behavior=only-id-token-claims \ --extra-attributes-issuer-uri=EXTRA_ATTRIBUTES_ISSUER_URI \ --extra-attributes-client-id=EXTRA_ATTRIBUTES_CLIENT_ID \ --extra-attributes-client-secret-value=EXTRA_ATTRIBUTES_CLIENT_SECRET \ --extra-attributes-type=EXTRA_ATTRIBUTES_TYPE \ –-extra-attributes-filter=EXTRA_ATTRIBUTES_FILTER
Substitua:
-
PROVIDER_ID
: um ID de provedor exclusivo. O prefixogcp-
é reservado e não pode ser usado em um ID de pool ou de provedor. -
WORKFORCE_POOL_ID
: o ID do pool da força de trabalho. -
DISPLAY_NAME
: um nome de exibição para o provedor. -
ISSUER_URI
: o URI do emissor do aplicativo Microsoft Entra ID que você criou anteriormente neste documento. -
CLIENT_ID
: o ID do cliente do seu aplicativo do Microsoft Entra ID. -
ATTRIBUTE_MAPPING
: o mapeamento de atributos do Microsoft Entra ID para Google Cloud. Por exemplo, para mapeargroups
esubject
do Microsoft Entra ID, use o seguinte mapeamento de atributo:--attribute-mapping=”google.groups=assertion.groups, google.subject=assertion.sub"
Para mais informações, consulte Mapeamento de atributos.
-
EXTRA_ATTRIBUTES_ISSUER_URI
: o URI do emissor do seu aplicativo do Microsoft Entra ID. -
EXTRA_ATTRIBUTES_CLIENT_ID
: o ID do cliente do seu aplicativo do Microsoft Entra ID. -
EXTRA_ATTRIBUTES_CLIENT_SECRET
: a chave secreta extra do cliente do seu aplicativo do Microsoft Entra ID. -
EXTRA_ATTRIBUTES_TYPE
: useazure-ad-groups-mail
para extrair os endereços de e-mail dos grupos. Useazure-ad-groups-id
para extrair os IDs dos grupos. -
EXTRA_ATTRIBUTES_FILTER
: opcional. Uma expressão de filtro usada ao consultar a API Microsoft Graph para grupos. É possível usar esse parâmetro para garantir que o número de grupos buscados do IdP permaneça abaixo do limite de 999 grupos.O exemplo a seguir busca os grupos que têm o prefixo
sales
no ID de e-mail:–-extra-attributes-filter='"mail:sales"'
A expressão a seguir busca grupos com um nome de exibição que contém a string
sales
.-–extra-attributes-filter='"displayName:sales”'
Configurar um grande número de grupos no Microsoft Entra ID com o fluxo de código OIDC
Esta seção descreve como mapear até 400 grupos do Microsoft Entra ID para a federação de identidade da força de trabalho usando o protocolo OIDC com o fluxo de código.
Configurar o aplicativo do Microsoft Entra ID
Você pode configurar um aplicativo do Microsoft Entra ID existente ou criar um novo. Para configurar o aplicativo, faça o seguinte:
-
No portal do Microsoft Entra ID, faça o seguinte:
- Para registrar um novo aplicativo, siga as instruções em Registrar um novo aplicativo.
-
Para atualizar um aplicativo, faça o seguinte:
- Acesse Identidade > Aplicativos > Aplicativos empresariais.
- Selecione o aplicativo que você quer atualizar.
-
Crie uma nova chave secreta do cliente no aplicativo seguindo as instruções em Certificados e chaves secretas. Registre o valor da chave secreta do cliente porque ele é exibido apenas uma vez.
Anote os seguintes valores do aplicativo que você criou ou atualizou. Você vai fornecer os valores ao configurar o provedor de pool de identidade da força de trabalho mais adiante neste documento.
Client ID
Issuer URI
Client Secret
Tenant ID
-
Para extrair os grupos do Microsoft Entra ID, adicione a permissão de API para permitir que a federação de identidade da carga de trabalho acesse as informações dos usuários do Microsoft Entra ID usando a API Microsoft Graph e conceda o consentimento do administrador. No Microsoft Entra ID, faça o seguinte:
- Acesse Permissões da API.
- Clique em Adicionar uma permissão.
- Selecione API Microsoft.
- Selecione Permissões delegadas.
- No campo de pesquisa, digite
User.Read
. - Clique em Adicionar permissões
É possível extrair os grupos do Microsoft Entra ID como identificadores de objetos de grupo (ID) ou como endereço de e-mail de grupo para grupos com e-mail ativado.
Se você escolher recuperar grupos como endereços de e-mail de grupo, a próxima etapa será necessária.
- Para recuperar os grupos do Microsoft Entra ID como endereços de e-mail em grupo, faça o seguinte. Se você recuperar grupos como identificadores de objetos de grupo, pule esta etapa.
- No
GroupMember.Read.All
campo de pesquisa, insira . - Clique em Adicionar permissões
- Clique em Conceder consentimento de administrador para o nome do seu domínio.
- Na caixa de diálogo exibida, clique em Sim.
- Acesse a página Visão geral do aplicativo Microsoft Entra ID que você criou ou atualizou anteriormente.
- Clique em Endpoints.
O URI do emissor é o URI do documento de metadados do OIDC, omitindo o caminho
/.well-known/openid-configuration
.Por exemplo, se o documento de metadados do OIDC for
https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.well-known/openid-configuration
, o URI do emissor seráhttps://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/
. - No
Criar um pool de identidades da força de trabalho
Console
Para criar o pool de identidades de colaboradores, faça o seguinte:
No console do Google Cloud, acesse a página Pools de identidade da força de trabalho:
Selecione a organização para o pool de identidade da força de trabalho. Os pools de identidade de força de trabalho estão disponíveis em todos os projetos e pastas de uma organização.
Clique em Criar pool e faça o seguinte:
No campo Nome, digite o nome de exibição do pool. O ID do pool é derivado automaticamente do nome à medida que você digita e é exibido no campo Nome. Para atualizar o ID do pool, clique em Editar ao lado dele.
Opcional: em Descrição, insira uma descrição do pool.
A duração da sessão é definida por padrão. Para inserir uma duração personalizada da sessão, clique em Editar. A duração da sessão determina por quanto tempo os tokens de acesso Google Cloud, as sessões de login do console (federado) e o login da CLI gcloud deste pool de força de trabalho são válidos. A duração precisa ser maior que 15 minutos (900s) e menor que 12 horas (43200s). Se a duração da sessão não for definida, o padrão será de uma hora (3.600 segundos).
Para criar o pool no estado ativado, verifique se a opção Pool ativado está ativada.
Para criar o pool de identidades de colaboradores, clique em Próxima.
gcloud
Para criar o pool de identidade de colaboradores, execute o seguinte comando:
gcloud iam workforce-pools create WORKFORCE_POOL_ID \
--organization=ORGANIZATION_ID \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--session-duration=SESSION_DURATION \
--location=global
Substitua:
WORKFORCE_POOL_ID
: um ID escolhido para representar o pool de forças de trabalho Google Cloud . Para informações sobre como formatar o ID, consulte a seção Parâmetros de consulta na documentação da API.ORGANIZATION_ID
: o ID numérico da organização Google Cloud para o pool de identidade da força de trabalho. Os pools de identidade da força de trabalho estão disponíveis em todos os projetos e pastas da organização.DISPLAY_NAME
: opcional. Um nome de exibição para o pool de identidade de colaboradores.DESCRIPTION
: opcional. : uma descrição do pool de identidade de colaboradoresSESSION_DURATION
: opcional. A duração da sessão, que determina por quanto tempo os Google Cloud tokens de acesso, as sessões de login do console (federado) e o login da CLI gcloud deste pool de força de trabalho são válidos. A duração precisa ser maior que 15 minutos (900s) e menor que 12 horas (43200s). Se a duração da sessão não for definida, o padrão será de uma hora (3.600 segundos).
Configurar o provedor de pool de identidade da força de trabalho do fluxo de código OIDC
Para criar o provedor de pool de identidade da força de trabalho do OIDC, execute o seguinte comando:
gcloud iam workforce-pools providers create-oidc PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --location=global \ --display-name=DISPLAY_NAME \ --issuer-uri=ISSUER_URI \ --client-id=CLIENT_ID \ --attribute-mapping=ATTRIBUTE_MAPPING \ --web-sso-response-type=code \ --web-sso-assertion-claims-behavior=merge-user-info-over-id-token-claims \ --extra-attributes-issuer-uri=EXTRA_ATTRIBUTES_ISSUER_URI \ --extra-attributes-client-id=EXTRA_ATTRIBUTES_CLIENT_ID \ --extra-attributes-client-secret-value=EXTRA_ATTRIBUTES_CLIENT_SECRET \ --extra-attributes-type=EXTRA_ATTRIBUTES_TYPE \ –-extra-attributes-filter=EXTRA_ATTRIBUTES_FILTER
Substitua:
-
PROVIDER_ID
: um ID de provedor exclusivo. O prefixogcp-
é reservado e não pode ser usado em um ID de pool ou de provedor. -
WORKFORCE_POOL_ID
: o ID do pool da força de trabalho. -
DISPLAY_NAME
: um nome de exibição para o provedor. -
ISSUER_URI
: o URI do emissor do aplicativo Microsoft Entra ID que você criou anteriormente neste documento. -
CLIENT_ID
: o ID do cliente do seu aplicativo do Microsoft Entra ID. -
ATTRIBUTE_MAPPING
: o mapeamento de atributos do Microsoft Entra ID para Google Cloud. Por exemplo, para mapeargroups
esubject
do Microsoft Entra ID, use o seguinte mapeamento de atributo:--attribute-mapping=”google.groups=assertion.groups, google.subject=assertion.sub"
Para mais informações, consulte Mapeamento de atributos.
-
EXTRA_ATTRIBUTES_ISSUER_URI
: o URI do emissor do seu aplicativo do Microsoft Entra ID. -
EXTRA_ATTRIBUTES_CLIENT_ID
: o ID do cliente do seu aplicativo do Microsoft Entra ID. -
EXTRA_ATTRIBUTES_CLIENT_SECRET
: a chave secreta extra do cliente do seu aplicativo do Microsoft Entra ID. -
EXTRA_ATTRIBUTES_TYPE
: useazure-ad-groups-mail
para extrair os endereços de e-mail dos grupos. Useazure-ad-groups-id
para extrair os IDs dos grupos. -
EXTRA_ATTRIBUTES_FILTER
: opcional. Uma expressão de filtro usada ao consultar a API Microsoft Graph para grupos. É possível usar esse parâmetro para garantir que o número de grupos buscados do IdP permaneça abaixo do limite de 999 grupos.O exemplo a seguir busca os grupos que têm o prefixo
sales
no ID de e-mail:–-extra-attributes-filter='"mail:sales"'
A expressão a seguir busca grupos com um nome de exibição que contém a string
sales
.-–extra-attributes-filter='"displayName:sales”'
Configurar um grande número de grupos no Microsoft Entra ID com SAML 2.0
Esta seção descreve como mapear até 400 grupos do Microsoft Entra ID para a federação de identidade de colaboradores usando o protocolo SAML 2.0.
Configurar o aplicativo do Microsoft Entra ID
Para configurar o aplicativo, faça o seguinte:
-
No portal do Microsoft Entra ID, faça o seguinte:
- Para registrar um novo aplicativo, siga as instruções em Registrar um novo aplicativo.
-
Para atualizar um aplicativo, faça o seguinte:
- Acesse Identidade > Aplicativos > Aplicativos empresariais.
- Selecione o aplicativo que você quer atualizar.
-
Crie uma nova chave secreta do cliente no aplicativo seguindo as instruções em Certificados e chaves secretas. Registre o valor da chave secreta do cliente porque ele é exibido apenas uma vez.
Anote os seguintes valores do aplicativo que você criou ou atualizou. Você vai fornecer os valores ao configurar o provedor de pool de identidade da força de trabalho mais adiante neste documento.
Client ID
Issuer URI
Client Secret
Tenant ID
-
Para extrair os grupos do Microsoft Entra ID, adicione a permissão de API para permitir que a federação de identidade da carga de trabalho acesse as informações dos usuários do Microsoft Entra ID usando a API Microsoft Graph e conceda o consentimento do administrador. No Microsoft Entra ID, faça o seguinte:
- Acesse Permissões da API.
- Clique em Adicionar uma permissão.
- Selecione API Microsoft.
- Selecione Permissões do aplicativo.
- No campo de pesquisa, digite
User.ReadBasic.All
. - Clique em Adicionar permissões
É possível extrair os grupos do Microsoft Entra ID como identificadores de objetos de grupo (ID) ou como endereço de e-mail de grupo para grupos com e-mail ativado.
Se você escolher recuperar grupos como endereços de e-mail de grupo, a próxima etapa será necessária.
- Para recuperar os grupos do Microsoft Entra ID como endereços de e-mail em grupo, faça o seguinte. Se você recuperar grupos como identificadores de objetos de grupo, pule esta etapa.
- No
GroupMember.Read.All
campo de pesquisa, insira . - Clique em Adicionar permissões
- Clique em Conceder consentimento de administrador para o nome do seu domínio.
- Na caixa de diálogo exibida, clique em Sim.
- Acesse a página Visão geral do aplicativo Microsoft Entra ID que você criou ou atualizou anteriormente.
- Clique em Endpoints.
O URI do emissor é o URI do documento de metadados do OIDC, omitindo o caminho
/.well-known/openid-configuration
.Por exemplo, se o documento de metadados do OIDC for
https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.well-known/openid-configuration
, o URI do emissor seráhttps://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/
. - No
Criar um pool de identidades da força de trabalho
Console
Para criar o pool de identidades de colaboradores, faça o seguinte:
No console do Google Cloud, acesse a página Pools de identidade da força de trabalho:
Selecione a organização para o pool de identidade da força de trabalho. Os pools de identidade de força de trabalho estão disponíveis em todos os projetos e pastas de uma organização.
Clique em Criar pool e faça o seguinte:
No campo Nome, digite o nome de exibição do pool. O ID do pool é derivado automaticamente do nome à medida que você digita e é exibido no campo Nome. Para atualizar o ID do pool, clique em Editar ao lado dele.
Opcional: em Descrição, insira uma descrição do pool.
A duração da sessão é definida por padrão. Para inserir uma duração personalizada da sessão, clique em Editar. A duração da sessão determina por quanto tempo os tokens de acesso Google Cloud, as sessões de login do console (federado) e o login da CLI gcloud deste pool de força de trabalho são válidos. A duração precisa ser maior que 15 minutos (900s) e menor que 12 horas (43200s). Se a duração da sessão não for definida, o padrão será de uma hora (3.600 segundos).
Para criar o pool no estado ativado, verifique se a opção Pool ativado está ativada.
Para criar o pool de identidades de colaboradores, clique em Próxima.
gcloud
Para criar o pool de identidade de colaboradores, execute o seguinte comando:
gcloud iam workforce-pools create WORKFORCE_POOL_ID \
--organization=ORGANIZATION_ID \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--session-duration=SESSION_DURATION \
--location=global
Substitua:
WORKFORCE_POOL_ID
: um ID escolhido para representar o pool de forças de trabalho Google Cloud . Para informações sobre como formatar o ID, consulte a seção Parâmetros de consulta na documentação da API.ORGANIZATION_ID
: o ID numérico da organização Google Cloud para o pool de identidade da força de trabalho. Os pools de identidade da força de trabalho estão disponíveis em todos os projetos e pastas da organização.DISPLAY_NAME
: opcional. Um nome de exibição para o pool de identidade de colaboradores.DESCRIPTION
: opcional. : uma descrição do pool de identidade de colaboradoresSESSION_DURATION
: opcional. A duração da sessão, que determina por quanto tempo os Google Cloud tokens de acesso, as sessões de login do console (federado) e o login da CLI gcloud deste pool de força de trabalho são válidos. A duração precisa ser maior que 15 minutos (900s) e menor que 12 horas (43200s). Se a duração da sessão não for definida, o padrão será de uma hora (3.600 segundos).
Configurar o provedor de pool de identidade da força de trabalho SAML 2.0
Para criar o provedor de pool de identidade de colaboradores SAML, execute o seguinte comando:
gcloud iam workforce-pools providers create-saml PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --location=global \ --display-name=DISPLAY_NAME \ --idp-metadata-path=XML_METADATA_PATH \ --attribute-mapping=ATTRIBUTE_MAPPING \ --extra-attributes-issuer-uri=EXTRA_ATTRIBUTES_ISSUER_URI \ --extra-attributes-client-id=EXTRA_ATTRIBUTES_CLIENT_ID \ --extra-attributes-client-secret-value=EXTRA_ATTRIBUTES_CLIENT_SECRET \ --extra-attributes-type=EXTRA_ATTRIBUTES_TYPE \ –-extra-attributes-filter=EXTRA_ATTRIBUTES_FILTER
Substitua:
-
PROVIDER_ID
: um ID de provedor exclusivo. O prefixogcp-
é reservado e não pode ser usado em um ID de pool ou de provedor. -
WORKFORCE_POOL_ID
: o ID do pool da força de trabalho. -
DISPLAY_NAME
: um nome de exibição para o provedor. -
XML_METADATA_PATH
: o caminho para o arquivo de metadados XML SAML 2.0. -
ATTRIBUTE_MAPPING
: o mapeamento de atributos do Microsoft Entra ID para Google Cloud. Por exemplo, para mapeargroups
esubject
do Microsoft Entra ID, use o seguinte mapeamento de atributo:--attribute-mapping=”google.groups=assertion.groups, google.subject=assertion.sub"
Para mais informações, consulte Mapeamento de atributos.
-
EXTRA_ATTRIBUTES_ISSUER_URI
: o URI do emissor do seu aplicativo do Microsoft Entra ID. -
EXTRA_ATTRIBUTES_CLIENT_ID
: o ID do cliente do seu aplicativo do Microsoft Entra ID. -
EXTRA_ATTRIBUTES_CLIENT_SECRET
: a chave secreta extra do cliente do seu aplicativo do Microsoft Entra ID. -
EXTRA_ATTRIBUTES_TYPE
: useazure-ad-groups-mail
para extrair os endereços de e-mail dos grupos. Useazure-ad-groups-id
para extrair os IDs dos grupos. -
EXTRA_ATTRIBUTES_FILTER
: opcional. Uma expressão de filtro usada ao consultar a API Microsoft Graph para grupos. É possível usar esse parâmetro para garantir que o número de grupos buscados do IdP permaneça abaixo do limite de 999 grupos.O exemplo a seguir busca os grupos que têm o prefixo
sales
no ID de e-mail:–-extra-attributes-filter='"mail:sales"'
A expressão a seguir busca grupos com um nome de exibição que contém a string
sales
.-–extra-attributes-filter='"displayName:sales”'
Conceder papéis do IAM a grupos
Nesta seção, você concede papéis a grupos em recursos Google Cloud . Para saber mais sobre os identificadores principais da Federação de identidade de colaboradores, consulte Representar usuários do pool de colaboradores nas políticas do IAM.
O exemplo a seguir concede o papel de administrador do Storage (roles/storage.admin
)
aos usuários em um grupo do Microsoft Entra ID.
gcloud projects add-iam-policy-binding PROJECT_ID \ --role="roles/storage.admin" \ --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
Substitua:
-
PROJECT_ID
: o ID do projeto; -
WORKFORCE_POOL_ID
: o ID do pool de identidade da força de trabalho -
GROUP_ID
: o identificador do grupo, que depende do valor de--extra-attributes-type
usado para criar o provedor de pool de identidade da força de trabalho, conforme mostrado abaixo:azure-ad-groups-mail
: o identificador do grupo é um endereço de e-mail. Por exemplo:admin-group@altostrat.com
azure-ad-groups-id
: o identificador do grupo é um UUID para o grupo. Por exemplo:abcdefgh-0123-0123-abcdef
Fazer login e testar o acesso
Nesta seção, você faz login como usuário do pool de identidades de força de trabalho e testa se tem acesso aos recursos do Google Cloud .
Fazer login
Nesta seção, mostramos como fazer login como um usuário federado e acessar recursos doGoogle Cloud .
Fazer login no console (federado)
Para fazer login no Google Cloud console de federação de identidade da força de trabalho, também conhecido como console (federado), faça o seguinte:
-
Acesse a página de login no console (federada).
-
Digite o nome do provedor no formato a seguir:
locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Se solicitado, insira as credenciais do usuário no Microsoft Entra ID.
Se você iniciar um login iniciado pelo IdP, use o seguinte URL de
redirecionamento: https://console.cloud.google/
.
Login baseado no navegador da CLI gcloud
Para fazer login na CLI gcloud usando um fluxo de login baseado em navegador, faça o seguinte:
Criar um arquivo de configuração
Para criar o arquivo de configuração de login, execute o comando a seguir. Também é possível ativar
o arquivo como padrão para a CLI gcloud adicionando a
flag --activate
.
Em seguida, execute gcloud auth login
sem especificar
o caminho do arquivo de configuração toda vez.
gcloud iam workforce-pools create-login-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID \ --output-file=LOGIN_CONFIG_FILE_PATH
Substitua:
WORKFORCE_POOL_ID
: o ID do pool de colaboradoresPROVIDER_ID
: o ID do provedorLOGIN_CONFIG_FILE_PATH
: o caminho para um arquivo de configuração especificado. Por exemplo,login.json
.
O arquivo contém os endpoints usados pela CLI gcloud para ativar o fluxo de autenticação baseado em navegador e definir o público como o IdP configurado no provedor do pool de identidade dos colaboradores. O arquivo não contém informações confidenciais.
A saída será assim:
{ "type": "external_account_authorized_user_login_config", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "auth_url": "https://auth.cloud.google/authorize", "token_url": "https://sts.googleapis.com/v1/oauthtoken", "token_info_url": "https://googleapis.com/v1/introspect", }
Para impedir que o
gcloud auth login
use esse arquivo de configuração automaticamente, defina-o como desativado executando
gcloud config unset auth/login_config_file
.
Fazer login usando autenticação baseada no navegador
Para usar a autenticação de login baseada em navegador, use um dos seguintes métodos:
-
Se você usou a flag
--activate
ao criar o arquivo de configuração ou ativou esse arquivo comgcloud config set auth/login_config_file
, a gcloud CLI fará uso dele automaticamente:gcloud auth login
-
Para fazer login especificando o local do arquivo de configuração, execute o seguinte comando:
gcloud auth login --login-config=LOGIN_CONFIG_FILE_PATH
-
Para usar uma variável de ambiente para especificar o local do arquivo de
configuração, defina
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE
como o caminho de configuração.
Desativar o login baseado no navegador
Para interromper o uso do arquivo de configuração de login, faça o seguinte:
-
Se você usou a flag
--activate
ao criar o arquivo de configuração ou ativou esse arquivo comgcloud config set auth/login_config_file
, execute o seguinte comando para cancelar a definição:gcloud config unset auth/login_config_file
-
Limpe a variável de ambiente
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE
, se ela estiver definida.
Login headless da gcloud CLI
Para fazer login no Microsoft Entra ID com a gcloud CLI, faça o seguinte:
OIDC
Siga as etapas em Enviar a solicitação de login. Faça login do usuário no seu aplicativo com o Microsoft Entra ID usando o OIDC.
Copie o token de ID do parâmetro
id_token
do URL de redirecionamento e salve-o em um arquivo em um local seguro da sua máquina local. Na etapa posterior, você define PATH_TO_OIDC_ID_TOKEN como o caminho para esse arquivo.Gere um arquivo de configuração semelhante ao exemplo mais adiante nesta etapa executando o seguinte comando:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --subject-token-type=urn:ietf:params:oauth:token-type:id_token \ --credential-source-file=PATH_TO_OIDC_ID_TOKEN \ --workforce-pool-user-project=WORKFORCE_POOL_USER_PROJECT \ --output-file=config.json
Substitua:
WORKFORCE_POOL_ID
: o ID do pool de identidade de colaboradores.WORKFORCE_PROVIDER_ID
: o ID do provedor do pool de identidade da força de trabalho.PATH_TO_OIDC_ID_TOKEN
: o caminho para o local do arquivo em que o token do IdP é armazenado.WORKFORCE_POOL_USER_PROJECT
: o número ou o ID do projeto usado para a cota e o faturamento. O principal precisa ter a permissãoserviceusage.services.use
neste projeto.
Quando o comando é concluído, o arquivo de configuração a seguir é criado pelo Microsoft Entra ID:
{ "type": "external_account", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "subject_token_type": "urn:ietf:params:oauth:token-type:id_token", "token_url": "https://sts.googleapis.com/v1/token", "workforce_pool_user_project": "WORKFORCE_POOL_USER_PROJECT", "credential_source": { "file": "PATH_TO_OIDC_CREDENTIALS" } }
Abra a gcloud CLI e execute o seguinte comando:
gcloud auth login --cred-file=PATH_TO_OIDC_CREDENTIALS
Substitua PATH_TO_OIDC_CREDENTIALS pelo caminho do arquivo de saída de uma etapa anterior.
A CLI gcloud posta suas credenciais de forma transparente no endpoint do Serviço de token de segurança. No endpoint, ele é trocado por tokens de acesso Google Cloud temporários.
Agora é possível executar comandos da CLI do gcloud para Google Cloud.
SAML
Faça login de um usuário no seu aplicativo do Microsoft Entra ID e receba a resposta SAML.
Salve a resposta SAML retornada pelo Microsoft Entra ID em um local seguro da máquina local e armazene o caminho da seguinte maneira:
SAML_ASSERTION_PATH=SAML_ASSERTION_PATH
Para gerar um arquivo de configuração de credencial, execute o seguinte comando:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --subject-token-type=urn:ietf:params:oauth:token-type:saml2 \ --credential-source-file=SAML_ASSERTION_PATH \ --workforce-pool-user-project=PROJECT_ID \ --output-file=config.json
Substitua:
WORKFORCE_PROVIDER_ID
: o ID do provedor de pool de identidade de colaboradores criado anteriormente neste guia.WORKFORCE_POOL_ID
: o ID do pool de identidade de colaboradores criado anteriormente neste guiaSAML_ASSERTION_PATH
: o caminho do arquivo de declaração SAMLPROJECT_ID
: o ID do projeto;
O arquivo de configuração gerado é semelhante ao seguinte:
{ "type": "external_account", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "subject_token_type": "urn:ietf:params:oauth:token-type:saml2", "token_url": "https://sts.googleapis.com/v1/token", "credential_source": { "file": "SAML_ASSERTION_PATH" }, "workforce_pool_user_project": "PROJECT_ID" }
Para fazer login na gcloud CLI usando a troca de tokens da federação de identidade de colaboradores, execute o seguinte comando:
gcloud auth login --cred-file=config.json
A CLI gcloud troca de forma transparente suas credenciais do Microsoft Entra ID por tokens de acesso temporários Google Cloud . Os tokens de acesso permitem acessar Google Cloud.
Você verá uma saída semelhante a esta:
Authenticated with external account user credentials for: [principal://iam.googleapis.com/locations/global/workforcePools/
WORKFORCE_POOL_ID
/subject/USER_ID
].Para listar as contas credenciadas e a conta ativa, execute o seguinte comando:
gcloud auth list
Testar acesso
Agora você tem acesso aos produtos Google Cloud que oferecem suporte à
federação de identidade de colaboradores e a que você tem acesso. No início deste
documento, você concedeu o papel de Administrador do Storage (roles/storage.admin
)
a todas as identidades no identificador de grupo especificado no
gcloud projects add-iam-policy-binding
do projeto TEST_PROJECT_ID
.
Para testar o acesso, liste os buckets do Cloud Storage.
Console (federado)
Para testar se você tem acesso usando o console (federado), faça o seguinte:
Acesse a página do Cloud Storage.
Verifique se é possível acessar uma lista de buckets para o
TEST_PROJECT_ID
.
CLI da gcloud
Para testar se você tem acesso usando a CLI gcloud, liste os buckets e objetos do Cloud Storage do projeto a que você tem acesso. Para isso, execute o comando a seguir. O principal precisa ter a
permissão serviceusage.services.use
no projeto especificado.
gcloud storage ls --project="TEST_PROJECT_ID"
Excluir usuários
A federação de identidade de colaboradores cria metadados e recursos de usuários para identidades de usuários federadas. Se você optar por excluir usuários no seu IdP, também será necessário excluir explicitamente esses recursos em Google Cloud. Para fazer isso, consulte Excluir usuários da federação de identidade de colaboradores e os dados deles.
Talvez você veja que os recursos continuam associados a um usuário que foi excluído. Isso ocorre porque a exclusão de metadados e recursos do usuário requer uma operação de longa duração. Depois de iniciar uma exclusão da identidade de um usuário, os processos que o usuário iniciou antes da exclusão podem continuar em execução até que sejam concluídos ou cancelados.
A seguir
- Excluir os usuários da federação de identidade de colaboradores e respectivos dados
- Saiba quais Google Cloud produtos são compatíveis com a federação de identidade da força de trabalho
- Configurar o acesso do usuário ao console (federado)