Este guia descreve como configurar a federação de identidades da força de trabalho com um fornecedor de identidade (IdP) que suporte OIDC ou SAML 2.0.
Para instruções específicas do IdP, consulte o seguinte:
- Configure a federação de identidades da força de trabalho baseada no Microsoft Entra ID
- Configure a federação de identidades de força de trabalho baseada na Okta
Antes de começar
- Certifique-se de que tem uma organização do Trusted Cloud configurada.
-
Defina a variável de ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
paras3nsapis.fr
. -
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
-
Enable the Identity and Access Management (IAM) and Resource Manager APIs.
- Para iniciar sessão, o seu IDP tem de fornecer informações de autenticação assinadas: os IDPs OIDC têm de fornecer um JWT e as respostas do IDP SAML têm de ser assinadas.
- Para receber informações importantes sobre alterações à sua organização ou aos Trusted Cloud produtos, tem de indicar contactos essenciais. Para mais informações, consulte a vista geral da federação de identidades da força de trabalho.
Custos
A federação de identidade da força de trabalho está disponível como uma funcionalidade sem custos financeiros. No entanto, o registo de auditoria detalhado da federação de identidades da força de trabalho usa o Cloud Logging. Para saber mais sobre os preços do Logging, consulte os preços da observabilidade do Google Cloud.
Funções necessárias
Para receber as autorizações de que
precisa para configurar a federação de identidade da força de trabalho,
peça ao seu administrador para lhe conceder a função da IAM de
administrador do Workload Identity Pool (roles/iam.workforcePoolAdmin
)
na organização.
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Em alternativa, a função básica de proprietário (roles/owner
) também inclui autorizações para configurar a federação de identidade da força de trabalho.
Não deve conceder funções básicas num ambiente de produção, mas pode concedê-las num ambiente de desenvolvimento ou teste.
Configure a federação de identidade da força de trabalho
Para configurar a federação de identidade da força de trabalho, crie um Workload Identity Pool e um fornecedor do Workload Identity Pool.
Crie um Workforce Identity Pool
Para criar o conjunto, execute o seguinte comando:
gcloud
Para criar o Workforce Identity Pool, 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 o seguinte:
WORKFORCE_POOL_ID
: um ID que escolhe para representar o seu workforce pool. Trusted Cloud Para obter informações sobre a formatação do ID, consulte a secção Parâmetros de consulta na documentação da API.ORGANIZATION_ID
: o ID numérico da organização da sua organização para o Workload Identity Pool. Trusted Cloud Os Workload Identity Pools estão disponíveis em todos os projetos e pastas da organização.DISPLAY_NAME
: opcional. Um nome a apresentar para o seu Workload Identity Pool.DESCRIPTION
: opcional. Uma descrição do Workload Identity Pool.SESSION_DURATION
: opcional. A duração da sessão, expressa como um número anexado coms
, por exemplo,3600s
. A duração da sessão determina durante quanto tempo os Trusted Cloud tokens de acesso, sessões de início de sessão da consola (federadas) e sessões de início de sessão da CLI gcloud deste workforce pool são válidas. A duração da sessão é predefinida para uma hora (3600 s). O valor da duração da sessão tem de estar entre 15 minutos (900 s) e 12 horas (43 200 s).
Consola
Para criar o Workforce Identity Pool, faça o seguinte:
Na Trusted Cloud consola, aceda à página Workforce Identity Pools:
Selecione a organização para o seu conjunto de identidades de pessoal. Os conjuntos de identidades da força de trabalho estão disponíveis em todos os projetos e pastas de uma organização.
Clique em Criar conjunto e faça o seguinte:
No campo Nome, introduza o nome a apresentar do conjunto. O ID do conjunto é derivado automaticamente do nome à medida que escreve e é apresentado no campo Nome. Pode atualizar o ID do conjunto clicando em Editar junto ao ID do conjunto.
Opcional: em Descrição, introduza uma descrição do conjunto.
Para criar o Workforce Identity Pool, clique em Seguinte.
A duração da sessão do Workload Identity Pool é de uma hora (3600 segundos) por predefinição. A duração da sessão determina durante quanto tempo os Trusted Cloud tokens de acesso, consola (federada)> e as sessões de início de sessão da CLI gcloud deste grupo de trabalhadores são válidas. Depois de criar o conjunto, pode atualizar o conjunto para definir uma duração da sessão personalizada. A duração da sessão tem de ser entre 15 minutos (900 s) e 12 horas (43 200 s).
Crie um fornecedor do Workforce Identity Pool
Esta secção descreve como criar um fornecedor do pool de identidades da força de trabalho para permitir que os utilizadores do IdP acedam ao Trusted Cloud. Pode configurar o fornecedor para usar o protocolo OIDC ou SAML.
Crie um fornecedor do Workforce Pool de OIDC
Para criar um fornecedor do Workforce Identity Pool através do protocolo OIDC, faça o seguinte:
No seu IdP de OIDC, registe uma nova aplicação para a Trusted Cloud Workforce Identity Federation. Tome nota do ID de cliente e do URI do emissor fornecidos pelo IdP. As usa neste documento.
Se planeia configurar o acesso dos utilizadores à consola, adicione o seguinte URL de redirecionamento ao seu IdP OIDC:
https://auth.cloud.s3nscloud.fr/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Substitua o seguinte:
WORKFORCE_POOL_ID
: o ID do Workforce Identity PoolWORKFORCE_PROVIDER_ID
: o ID do fornecedor do Workload Identity Pool que cria mais tarde neste documento.
Para saber como configurar o início de sessão na consola (federado), consulte o artigo Configure o acesso dos utilizadores à consola (federado).
Em Trusted Cloud, para criar o fornecedor, faça o seguinte:
gcloud
Fluxo de código
Para criar um fornecedor OIDC que use o fluxo de código de autorização para o início de sessão na Web, execute o seguinte comando:
gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --issuer-uri="ISSUER_URI" \ --client-id="OIDC_CLIENT_ID" \
--client-secret-value="OIDC_CLIENT_SECRET" \ --web-sso-response-type="code" \ --web-sso-assertion-claims-behavior="merge-user-info-over-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --detailed-audit-logging \ --location=globalSubstitua o seguinte:
WORKFORCE_PROVIDER_ID
: um ID do fornecedor do Workload Identity Pool exclusivo. O prefixogcp-
está reservado e não pode ser usado num ID do Workload Identity Pool ou do fornecedor do Workload Identity Pool.WORKFORCE_POOL_ID
: o ID do Workforce Identity Pool para associar ao seu IdP.DISPLAY_NAME
: Um nome a apresentar opcional e fácil de usar para o fornecedor; por exemplo,idp-eu-employees
.DESCRIPTION
: uma descrição opcional do fornecedor de mão de obra; por exemplo,IdP for Partner Example Organization employees
.ISSUER_URI
: O URI do emissor OIDC, num formato de URI válido, que começa comhttps
; por exemplo,https://example.com/oidc
. Nota: por motivos de segurança,ISSUER_URI
tem de usar o esquema HTTPS.OIDC_CLIENT_ID
: O ID de cliente do OIDC que está registado no seu IDP do OIDC; o ID tem de corresponder à reivindicaçãoaud
do JWT emitido pelo seu IDP.OIDC_CLIENT_SECRET
: O segredo do cliente OIDC.WEB_SSO_ADDITIONAL_SCOPES
: Âmbitos adicionais opcionais a enviar para o IdP do OIDC para início de sessão baseado no navegador da consola (federado) ou da CLI gcloud.ATTRIBUTE_MAPPING
: um mapeamento de atributos. Segue-se um exemplo de um mapeamento de atributos: Este exemplo mapeia os atributos do IdPgoogle.subject=assertion.sub, google.groups=assertion.group1, attribute.costcenter=assertion.costcenter
subject
,group1
ecostcenter
na declaração OIDC para os atributosgoogle.subject
,google.groups
eattribute.costcenter
, respetivamente.ATTRIBUTE_CONDITION
: uma condição de atributo; por exemplo,assertion.role == 'gcp-users'
. Esta condição de exemplo garante que apenas os utilizadores com a funçãogcp-users
podem iniciar sessão através deste fornecedor.JWK_JSON_PATH
: um caminho opcional para um JWKs OIDC carregado localmente. Se este parâmetro não for fornecido, Trusted Cloud usa o caminho do seu IdP/.well-known/openid-configuration
para obter os JWKs que contêm as chaves públicas. Para mais informações sobre os JWKs OIDC carregados localmente, consulte o artigo Faça a gestão dos JWKs OIDC.-
A Workforce Identity Federation registra em registos de auditoria detalhados as informações recebidas do seu IdP no Logging. O registo de auditoria detalhado pode ajudar a resolver problemas de configuração do fornecedor do conjunto de identidades da força de trabalho. Para saber como resolver problemas de erros de mapeamento de atributos com registo de auditoria detalhado, consulte o artigo Erros gerais de mapeamento de atributos. Para saber mais sobre os preços do Logging, consulte os preços da observabilidade do Google Cloud.
Para desativar o registo de auditoria detalhado para um fornecedor do Workload Identity Pool, omita a flag
--detailed-audit-logging
quando executargcloud iam workforce-pools providers create
. Para desativar o registo de auditoria detalhado, também pode atualizar o fornecedor.
locations/global/workforcePools/enterprise-example-organization-employees
.Fluxo implícito
Para criar um fornecedor OIDC que use o fluxo implícito para início de sessão na Web, execute o seguinte comando:
gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --issuer-uri="ISSUER_URI" \ --client-id="OIDC_CLIENT_ID" \ --web-sso-response-type="id-token" \ --web-sso-assertion-claims-behavior="only-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --detailed-audit-logging \ --location=global
Substitua o seguinte:
WORKFORCE_PROVIDER_ID
: um ID do fornecedor do Workload Identity Pool exclusivo. O prefixogcp-
está reservado e não pode ser usado num ID do Workload Identity Pool ou do fornecedor do Workload Identity Pool.WORKFORCE_POOL_ID
: o ID do Workforce Identity Pool para associar ao seu IdP.DISPLAY_NAME
: Um nome a apresentar opcional e fácil de usar para o fornecedor; por exemplo,idp-eu-employees
.DESCRIPTION
: uma descrição opcional do fornecedor de mão de obra; por exemplo,IdP for Partner Example Organization employees
.ISSUER_URI
: O URI do emissor OIDC, num formato de URI válido, que começa comhttps
; por exemplo,https://example.com/oidc
. Nota: por motivos de segurança,ISSUER_URI
tem de usar o esquema HTTPS.OIDC_CLIENT_ID
: O ID de cliente do OIDC que está registado no seu IDP do OIDC; o ID tem de corresponder à reivindicaçãoaud
do JWT emitido pelo seu IDP.WEB_SSO_ADDITIONAL_SCOPES
: Âmbitos adicionais opcionais a enviar para o IdP do OIDC para início de sessão baseado no navegador da consola (federado) ou da CLI gcloud.ATTRIBUTE_MAPPING
: um mapeamento de atributos. Segue-se um exemplo de um mapeamento de atributos: Este exemplo mapeia os atributos do IdPgoogle.subject=assertion.sub, google.groups=assertion.group1, attribute.costcenter=assertion.costcenter
subject
,group1
ecostcenter
na declaração OIDC para os atributosgoogle.subject
,google.groups
eattribute.costcenter
, respetivamente.ATTRIBUTE_CONDITION
: uma condição de atributo; por exemplo,assertion.role == 'gcp-users'
. Esta condição de exemplo garante que apenas os utilizadores com a funçãogcp-users
podem iniciar sessão através deste fornecedor.JWK_JSON_PATH
: um caminho opcional para um JWKs OIDC carregado localmente. Se este parâmetro não for fornecido, Trusted Cloud usa o caminho do seu IdP/.well-known/openid-configuration
para obter os JWKs que contêm as chaves públicas. Para mais informações sobre os JWKs OIDC carregados localmente, consulte o artigo Faça a gestão dos JWKs OIDC.-
A Workforce Identity Federation registra em registos de auditoria detalhados as informações recebidas do seu IdP no Logging. O registo de auditoria detalhado pode ajudar a resolver problemas de configuração do fornecedor do conjunto de identidades da força de trabalho. Para saber como resolver problemas de erros de mapeamento de atributos com registo de auditoria detalhado, consulte o artigo Erros gerais de mapeamento de atributos. Para saber mais sobre os preços do Logging, consulte os preços da observabilidade do Google Cloud.
Para desativar o registo de auditoria detalhado para um fornecedor do Workload Identity Pool, omita a flag
--detailed-audit-logging
quando executargcloud iam workforce-pools providers create
. Para desativar o registo de auditoria detalhado, também pode atualizar o fornecedor.
locations/global/workforcePools/enterprise-example-organization-employees
.O prefixo
gcp-
está reservado e não pode ser usado num ID do Workload Identity Pool ou do fornecedor do Workload Identity Pool.Para a federação OIDC, pode usar
assertion.NAME
: uma string igual ao valor da reivindicação com o mesmo nome na carga útil do token de ID.Consola
Fluxo de código
Na Trusted Cloud consola, para criar um fornecedor OIDC que use o fluxo de código de autorização, faça o seguinte:
Na Trusted Cloud consola, aceda à página Workforce Identity Pools:
Na tabela Workforce Identity Pools, selecione o pool para o qual quer criar o fornecedor.
Na tabela Fornecedores, clique em Adicionar fornecedor.
Em Selecionar um protocolo, selecione Open ID Connect (OIDC).
Em Crie um fornecedor de pool, faça o seguinte:
- Em Nome, introduza o nome do fornecedor.
- Em Emissor (URL), introduza o URI do emissor. O URI do emissor do OIDC tem de estar num formato de URI válido e começar por
https
; por exemplo,https://example.com/oidc
. - Introduza o ID de cliente, o ID de cliente OIDC registado
no seu IdP OIDC. O ID tem de corresponder à reivindicação
aud
do JWT emitido pelo seu IdP. - Para criar um fornecedor ativado, certifique-se de que a opção Fornecedor ativado está ativada.
- Clique em Continuar.
Em Tipo de fluxo, faça o seguinte. O tipo de fluxo é usado apenas para um fluxo de início de sessão único baseado na Web.
- Em Tipo de fluxo, selecione Código.
- Em Segredo do cliente, introduza o segredo do cliente do seu IdP.
Em Comportamento das reivindicações de afirmação, selecione uma das seguintes opções:
- Informações do utilizador e token de ID
- Apenas token de ID
Clique em Continuar.
Em Configurar fornecedor, pode configurar um mapeamento de atributos e uma condição de atributo. Para criar um mapeamento de atributos, faça o seguinte. Pode indicar o nome do campo do IdP ou uma expressão formatada em CEL que devolva uma string.
Obrigatório: no OIDC 1, introduza o assunto do IdP; por exemplo,
assertion.sub
.Opcional: para adicionar mapeamentos de atributos adicionais, faça o seguinte:
- Clique em Adicionar mapeamento.
- No Google n, em que n é um número, introduza uma das teclas suportadas.Trusted Cloud
- No campo OIDC n correspondente, introduza o nome do campo específico do IdP a mapear, no formato CEL.
Para criar uma condição de atributo, faça o seguinte:
- Clique em Adicionar condição.
- Em Condições de atributos, introduza uma condição no formato CEL;
por exemplo,
assertion.role == 'gcp-users'
. Esta condição de exemplo garante que apenas os utilizadores com a funçãogcp-users
podem iniciar sessão através deste fornecedor.
Para ativar o registo de auditoria detalhado, em Registo detalhado, clique no botão para ativar/desativar Ativar registo detalhado de valores de atributos.
A Workforce Identity Federation registra em registos de auditoria detalhados as informações recebidas do seu IdP no Logging. O registo de auditoria detalhado pode ajudar a resolver problemas de configuração do fornecedor do conjunto de identidades da força de trabalho. Para saber como resolver problemas de erros de mapeamento de atributos com registo de auditoria detalhado, consulte o artigo Erros gerais de mapeamento de atributos. Para saber mais sobre os preços do Logging, consulte os preços da observabilidade do Google Cloud.
Para desativar o registo de auditoria detalhado para um fornecedor do Workload Identity Pool, omita a flag
--detailed-audit-logging
quando executargcloud iam workforce-pools providers create
. Para desativar o registo de auditoria detalhado, também pode atualizar o fornecedor.
Para criar o fornecedor, clique em Enviar.
Fluxo implícito
Na Trusted Cloud consola, para criar um fornecedor OIDC que use o fluxo implícito, faça o seguinte:
Na Trusted Cloud consola, aceda à página Workforce Identity Pools:
Na tabela Workforce Identity Pools, selecione o pool para o qual quer criar o fornecedor.
Na tabela Fornecedores, clique em Adicionar fornecedor.
Em Selecionar um protocolo, selecione Open ID Connect (OIDC).
Em Crie um fornecedor de pool, faça o seguinte:
- Em Nome, introduza um nome para o fornecedor.
- Em Emissor (URL), introduza o URI do emissor. O URI do emissor do OIDC tem de estar num formato de URI válido e começar por
https
; por exemplo,https://example.com/oidc
. - Introduza o ID de cliente, o ID de cliente OIDC registado
no seu IdP OIDC. O ID tem de corresponder à reivindicação
aud
do JWT emitido pelo seu IdP. - Para criar um fornecedor ativado, certifique-se de que a opção Fornecedor ativado está ativada.
- Clique em Continuar.
Em Tipo de fluxo, faça o seguinte. O tipo de fluxo é usado apenas para um fluxo de início de sessão único baseado na Web.
- Em Tipo de fluxo, selecione Token de ID.
- Clique em Continuar.
Em Configurar fornecedor, pode configurar um mapeamento de atributos e uma condição de atributo. Para criar um mapeamento de atributos, faça o seguinte. Pode indicar o nome do campo do IdP ou uma expressão formatada em CEL que devolva uma string.
Obrigatório: no OIDC 1, introduza o assunto do IdP; por exemplo,
assertion.sub
.Opcional: para adicionar mapeamentos de atributos adicionais, faça o seguinte:
- Clique em Adicionar mapeamento.
- No Google n, em que n é um número, introduza uma das teclas suportadas.Trusted Cloud
- No campo OIDC n correspondente, introduza o nome do campo específico do IdP a mapear, no formato CEL.
Para criar uma condição de atributo, faça o seguinte:
- Clique em Adicionar condição.
Em Condições de atributos, introduza uma condição no formato CEL; por exemplo,
assertion.role == 'gcp-users'
. Esta condição de exemplo garante que apenas os utilizadores com a funçãogcp-users
podem iniciar sessão através deste fornecedor.
Para ativar o registo de auditoria detalhado, em Registo detalhado, clique no botão para ativar/desativar Ativar registo detalhado de valores de atributos.
A Workforce Identity Federation registra em registos de auditoria detalhados as informações recebidas do seu IdP no Logging. O registo de auditoria detalhado pode ajudar a resolver problemas de configuração do fornecedor do conjunto de identidades da força de trabalho. Para saber como resolver problemas de erros de mapeamento de atributos com registo de auditoria detalhado, consulte o artigo Erros gerais de mapeamento de atributos. Para saber mais sobre os preços do Logging, consulte os preços da observabilidade do Google Cloud.
Para desativar o registo de auditoria detalhado para um fornecedor do Workload Identity Pool, omita a flag
--detailed-audit-logging
quando executargcloud iam workforce-pools providers create
. Para desativar o registo de auditoria detalhado, também pode atualizar o fornecedor.
Para criar o fornecedor, clique em Enviar.
Crie um fornecedor do Workforce Pool SAML
No seu IdP SAML, registe uma nova aplicação para a Trusted Cloud federação de identidade da força de trabalho.
Defina o público-alvo para as afirmações SAML. Normalmente, é o campo
SP Entity ID
na configuração do IdP. Tem de defini-lo para o seguinte URL:https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Defina o URL de redirecionamento, também conhecido como URL do serviço de consumo de declarações (ACS). Para definir o URL de redirecionamento, localize o campo do URL de redirecionamento no seu IdP SAML e faça uma das seguintes ações:
Para configurar o início de sessão baseado no navegador através da Trusted Cloud consola ou outro método de início de sessão baseado no navegador, introduza o seguinte URL:
https://auth.cloud.s3nscloud.fr/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Substitua o seguinte:
WORKFORCE_POOL_ID
: o ID do Workforce Identity PoolWORKFORCE_PROVIDER_ID
: o ID do fornecedor do Workload Identity Pool que cria mais tarde neste documento.
Para configurar o início de sessão programático através do seu IdP, introduza o seguinte URL:
localhost
Consulte o artigo Configure o acesso dos utilizadores à consola para ver mais detalhes sobre a configuração do início de sessão na consola.
No Trusted Cloud, crie um fornecedor do Workload Identity Pool SAML com o documento de metadados SAML do seu IdP. Pode transferir o documento XML de metadados SAML do seu IdP. O documento tem de incluir, pelo menos, o seguinte:
- Um ID da entidade SAML para o seu IdP.
- O URL de Início de sessão único do seu IdP.
- Pelo menos, uma chave pública de assinatura. Consulte os requisitos principais mais adiante neste guia para ver detalhes sobre as chaves de assinatura.
gcloud
Para configurar o fornecedor de SAML através da CLI gcloud, faça o seguinte:
gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--idp-metadata-path=METADATA_FILE_PATH \
--attribute-mapping="ATTRIBUTE_MAPPING" \
--attribute-condition="ATTRIBUTE_CONDITION" \
--location=global
Substitua o seguinte:
WORKFORCE_PROVIDER_ID
: o ID do fornecedor do Workload Identity Pool.WORKFORCE_POOL_ID
: o ID do Workforce Identity Pool.DISPLAY_NAME
O nome a apresentar do fornecedor; por exemplo,idp-eu-employees
.DESCRIPTION
: a descrição do fornecedor do Workload Identity Pool; por exemplo,IdP for Partner Example Organization EU employees
.METADATA_FILE_PATH
: o caminho do ficheiro de metadados SAML.ATTRIBUTE_MAPPING
: o mapeamento de atributos; por exemplo: Este exemplo mapeia os atributos do IdPgoogle.subject=assertion.subject, google.groups=assertion.attributes['https://example.com/aliases'], attribute.costcenter=assertion.attributes.costcenter[0]
assertion.subject
,assertion.attributes['https://example.com/aliases']
eassertion.attributes.costcenter[0]
para os atributos Trusted Cloudgoogle.subject
,google.groups
egoogle.costcenter
, respetivamente.ATTRIBUTE_CONDITION
: uma condição de atributo. Por exemplo, para limitar o atributoipaddr
a um determinado intervalo de IPs, pode definir a condiçãoassertion.attributes.ipaddr.startsWith('98.11.12.')
. Esta condição de exemplo garante que apenas os utilizadores com um endereço IP que comece por98.11.12.
podem iniciar sessão através deste fornecedor de força de trabalho.
O fornecedor pode demorar alguns minutos a começar a aceitar pedidos.
Para a federação SAML, pode usar as seguintes palavras-chave em mapeamentos de atributos e condições:
assertion.subject
: uma string igual ao atributoNameID
na declaração SAML.assertion.attributes.NAME
: uma lista de strings igual aos valores dos atributos com o mesmo nome na declaração SAML.
Opcional: aceite afirmações SAML encriptadas do seu IdP
Para permitir que o seu IdP SAML 2.0 produza afirmações SAML encriptadas que podem ser aceites pela federação de identidade da força de trabalho, faça o seguinte:
- Na federação de identidade da força de trabalho, faça o seguinte:
- Crie um par de chaves assimétricas para o fornecedor do Workload Identity Pool.
- Transferir um ficheiro de certificado que contém a chave pública.
- Configure o seu IdP SAML para usar a chave pública para encriptar as afirmações SAML que emite.
- No IdP, faça o seguinte:
- Ative a encriptação de afirmações, também conhecida como encriptação de tokens.
- Carregue a chave pública que criou na federação de identidade da força de trabalho.
- Confirme que o seu IdP produz afirmações SAML encriptadas.
Crie chaves de encriptação de afirmações SAML da federação de identidade da força de trabalho
Esta secção explica como criar um par de chaves assimétricas que permite à federação de identidade da força de trabalho aceitar afirmações SAML encriptadas.
Trusted Cloud by S3NS usa a chave privada para desencriptar as afirmações SAML emitidas pelo seu IdP. Para criar um par de chaves assimétricas para utilização com a encriptação SAML, execute o seguinte comando. Para saber mais, consulte o artigo Algoritmos de encriptação SAML suportados.
gcloud iam workforce-pools providers keys create KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider WORKFORCE_PROVIDER_ID \ --location global \ --use encryption \ --spec KEY_SPECIFICATION
Substitua o seguinte:
KEY_ID
: um nome de chave à sua escolhaWORKFORCE_POOL_ID
: o ID da piscinaWORKFORCE_PROVIDER_ID
: o ID do fornecedor do Workforce Identity Pool-
KEY_SPECIFICATION
: a especificação principal, que pode ser uma das seguintes:rsa-2048
,rsa-3072
ersa-4096
.
Depois de criar o par de chaves, para transferir a chave pública para um ficheiro de certificado, execute o seguinte comando. Apenas a federação de identidade da força de trabalho tem acesso à chave privada.
gcloud iam workforce-pools providers keys describe KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider WORKFORCE_PROVIDER_ID \ --location global \ --format "value(keyData.key)" \ > CERTIFICATE_PATH
Substitua o seguinte:
KEY_ID
: o nome da chaveWORKFORCE_POOL_ID
: o ID da piscinaWORKFORCE_PROVIDER_ID
: o ID do fornecedor do Workforce Identity PoolCERTIFICATE_PATH
: o caminho para escrever o certificado, por exemplo,saml-certificate.cer
ousaml-certificate.pem
Configure o seu IdP compatível com SAML 2.0 para emitir afirmações SAML encriptadas
Configure o seu IdP SAML para usar o certificado público transferido no passo anterior para encriptar as afirmações SAML que emite. Consulte a sua equipa de IdP para obter instruções específicas.Depois de configurar o IdP para encriptar afirmações SAML, recomendamos que verifique se as afirmações que gera estão realmente encriptadas. Mesmo com a encriptação de afirmações SAML configurada, a federação de identidade da força de trabalho pode continuar a processar afirmações de texto simples.
Elimine as chaves de encriptação da federação de identidade da força de trabalho
Para eliminar chaves de encriptação SAML, execute o seguinte comando:gcloud iam workforce-pools providers keys delete KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider WORKFORCE_PROVIDER_ID \ --location global
Substitua o seguinte:
KEY_ID
: o nome da chaveWORKFORCE_POOL_ID
: o ID da piscinaWORKFORCE_PROVIDER_ID
: o ID do fornecedor do Workforce Identity Pool
Algoritmos de encriptação SAML suportados
A federação de identidade da força de trabalho suporta os seguintes algoritmos de transporte de chaves:
- http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p
- http://www.w3.org/2009/xmlenc11#rsa-oaep"
- http://www.w3.org/2001/04/xmlenc#rsa-1_5"
A federação de identidade da força de trabalho suporta os seguintes algoritmos de encriptação de blocos:
- http://www.w3.org/2001/04/xmlenc#aes128-cbc
- http://www.w3.org/2001/04/xmlenc#aes192-cbc
- http://www.w3.org/2001/04/xmlenc#aes256-cbc
- http://www.w3.org/2009/xmlenc11#aes128-gcm
- http://www.w3.org/2009/xmlenc11#aes256-gcm
Requisitos da chave de assinatura X.509 de SAML
As seguintes especificações de chaves aplicam-se às chaves de assinatura X.509 de SAML:
Uma chave pública RSA envolvida num certificado X.509 v3.
Requisitos de validade do certificado:
notBefore
: uma data/hora que não seja superior a 7 dias no futuronotAfter
: uma data/hora que não seja superior a 25 anos no futuro
Algoritmos recomendados:
- RSAwithSHA256 (tamanhos de chaves suportados [bits]: 2048, 3072 e 4096)
- ECDSAwithSHA256
Um fornecedor do Workforce Identity Pool pode ser configurado com, no máximo, três chaves de assinatura num determinado momento. Quando existem várias chaves, Trusted Cloud itera por elas e tenta usar cada chave não expirada para satisfazer um pedido de troca de tokens.
Como prática recomendada de segurança, recomendamos vivamente que não reutilize o mesmo par de chaves com outros serviços.
Gestão de chaves
Para atualizar as chaves de assinatura do IdP, faça o seguinte:
Crie um novo par de chaves assimétricas e configure o fornecedor de identidade SAML com o par de chaves. Marca-o inicialmente como inativo antes de o ativar num passo posterior.
Transfira um documento XML de metadados SAML do seu IdP.
Atualize o recurso do fornecedor do Workforce Identity Pool através do documento de metadados SAML. Quando existem várias chaves, Trusted Cloud itera por cada chave não expirada e tenta usá-la para satisfazer um pedido de troca de tokens.
Para atualizar o fornecedor do Workforce Identity Pool com os metadados SAML, execute o seguinte comando.
gcloud iam workforce-pools providers update-saml WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --idp-metadata-path=SAML_METADATA_FILE_PATH \ --location=global
Substitua o seguinte:
WORKFORCE_PROVIDER_ID
: o ID do fornecedor do Workload Identity PoolWORKFORCE_POOL_ID
: o ID do Workforce Identity PoolSAML_METADATA_FILE_PATH
: o caminho para o ficheiro de metadados SAML
Aguarde que a operação devolvida no passo anterior seja concluída (a operação está marcada como concluída) e, em seguida, no IdP SAML, ative a nova chave de assinatura. A chave de assinatura antiga está marcada como inativa. As afirmações emitidas pelo seu IdP são assinadas com a nova chave.
Os passos seguintes são opcionais, mas recomendamos que os execute como prática recomendada:
- Elimine a chave de assinatura antiga, agora inativa, do seu IdP.
- Transfira o documento XML de metadados SAML do seu IdP.
Atualize o recurso do fornecedor do Workload Identity Pool com o documento de metadados SAML. Trusted Cloud Recusa asserções assinadas com a chave de assinatura expirada. Para atualizar o documento, execute o seguinte comando:
gcloud iam workforce-pools providers update-saml WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --idp-metadata-path=SAML_METADATA_FILE_PATH \ --location=global
Substitua o seguinte:
WORKFORCE_PROVIDER_ID
: o ID do fornecedor do Workload Identity PoolWORKFORCE_POOL_ID
: o ID do Workforce Identity PoolSAML_METADATA_FILE_PATH
: o caminho dos metadados SAML
Restrição de eliminação de chaves
Trusted Cloud recusa afirmações assinadas com uma chave eliminada.
Consola
Para configurar o fornecedor de SAML através da Trusted Cloud consola, faça o seguinte:
Na Trusted Cloud consola, aceda à página Workforce Identity Pools:
Na tabela Workforce Identity Pools, selecione o pool para o qual quer criar o fornecedor.
Na tabela Fornecedores, clique em Adicionar fornecedor.
Em Selecione um protocolo, selecione SAML.
Em Criar um fornecedor do Workload Identity Pool, faça o seguinte:
Em Nome, introduza um nome para o fornecedor.
Opcional: em Descrição, introduza uma descrição do fornecedor.
Em Ficheiro de metadados do IDP (XML), selecione o ficheiro XML de metadados que gerou anteriormente neste guia.
Certifique-se de que a opção Fornecedor ativado está ativada.
Clique em Continuar.
Em Configurar fornecedor, faça o seguinte:
Em Mapeamento de atributos, introduza uma expressão CEL para
google.subject
.Opcional: para introduzir outros mapeamentos, clique em Adicionar mapeamento e introduza outros mapeamentos, por exemplo:
Este exemplo mapeia os atributos do IdPgoogle.subject=assertion.subject, google.groups=assertion.attributes['https://example.com/aliases'], attribute.costcenter=assertion.attributes.costcenter[0]
assertion.subject
,assertion.attributes['https://example.com/aliases']
eassertion.attributes.costcenter[0]
para os atributos Trusted Cloudgoogle.subject
,google.groups
egoogle.costcenter
, respetivamente.Opcional: para adicionar uma condição de atributo, clique em Adicionar condição e introduza uma expressão CEL que represente uma condição de atributo. Por exemplo, para limitar o atributo
ipaddr
a um determinado intervalo de IPs, pode definir a condiçãoassertion.attributes.ipaddr.startsWith('98.11.12.')
. Esta condição de exemplo garante que apenas os utilizadores com um endereço IP que comece por98.11.12.
podem iniciar sessão através deste fornecedor de força de trabalho.Clique em Continuar.
Para ativar o registo de auditoria detalhado, em Registo detalhado, clique no botão para ativar/desativar Ativar registo detalhado de valores de atributos.
A Workforce Identity Federation registra em registos de auditoria detalhados as informações recebidas do seu IdP no Logging. O registo de auditoria detalhado pode ajudar a resolver problemas de configuração do fornecedor do conjunto de identidades da força de trabalho. Para saber como resolver problemas de erros de mapeamento de atributos com registo de auditoria detalhado, consulte o artigo Erros gerais de mapeamento de atributos. Para saber mais sobre os preços do Logging, consulte os preços da observabilidade do Google Cloud.
Para desativar o registo de auditoria detalhado para um fornecedor do Workload Identity Pool, omita a flag
--detailed-audit-logging
quando executargcloud iam workforce-pools providers create
. Para desativar o registo de auditoria detalhado, também pode atualizar o fornecedor.
Para criar o fornecedor, clique em Enviar.
Represente utilizadores do grupo de trabalhadores em políticas de IAM
A tabela seguinte mostra os identificadores principais que usa para conceder funções a um único utilizador, a um grupo de utilizadores, a utilizadores com uma determinada reivindicação ou a todos os utilizadores de um grupo do Workforce.
Identidades | Formato do identificador |
---|---|
Identidade única num Workload Identity Pool |
principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE
|
Todas as identidades da força de trabalho num grupo |
principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/GROUP_ID
|
Todas as identidades da força de trabalho com um valor de atributo específico |
principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
|
Todas as identidades num Workload Identity Pool |
principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/*
|
Para ver uma lista completa de identificadores principais, consulte o artigo Identificadores principais.
Conceda funções de IAM a principais
Pode conceder funções a principais, como identidades únicas, grupos de identidades ou um conjunto completo.
Para conceder uma função num projeto a um principal, execute o seguinte comando:
gcloud projects add-iam-policy-binding PROJECT_ID \
--role="ROLE" \
--member="PRINCIPAL"
Substitua o seguinte:
PROJECT_ID
: o ID do projetoROLE
: a função a definirPRINCIPAL
: o principal; consulte os identificadores principais para a federação de identidade da força de trabalho.
No exemplo que se segue, o comando concede o papel de administrador de armazenamento (roles/storage.admin
) a todas as identidades no grupo GROUP_ID
:
gcloud projects add-iam-policy-binding my-project \
--role="roles/storage.admin" \
--member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
Para mais informações sobre o formato principal, consulte o artigo Identificadores principais para a federação de identidades da força de trabalho.
Eliminar utilizadores
A federação de identidade da força de trabalho cria metadados e recursos do utilizador para identidades de utilizadores federadas. Se optar por eliminar utilizadores no seu IdP, também tem de eliminar explicitamente estes recursos no Trusted Cloud. Para o fazer, consulte o artigo Elimine utilizadores da Federação de identidades da força de trabalho e os respetivos dados.
Pode ver que os recursos continuam associados a um utilizador que foi eliminado. Isto deve-se ao facto de a eliminação de metadados e recursos do utilizador exigir uma operação de longa duração. Depois de iniciar a eliminação da identidade de um utilizador, os processos que o utilizador iniciou antes da eliminação podem continuar a ser executados até serem concluídos ou cancelados.
O que se segue?
- Obtenha credenciais de curta duração para a federação de identidades da força de trabalho
- Faça a gestão de fornecedores do Workforce Identity Pool
- Elimine utilizadores da Workforce Identity Federation e os respetivos dados
- Saiba que Trusted Cloud produtos suportam a federação de identidade da força de trabalho
- Configure o acesso dos utilizadores à consola (federado)