Provisionamento do SCIM para a federação de identidade de colaboradores

Se o provedor de identidade (IdP) tiver suporte para o Sistema de gerenciamento de identidade entre domínios (SCIM), configure o IdP para provisionar e gerenciar grupos no Google Cloud.

Recursos

O suporte ao SCIM da federação de identidade de colaboradores oferece os seguintes recursos:

  • Sincronização de identidade:sincronize cópias somente leitura dos dados do usuário do seu IdP para ter uma visão geral das propriedades e associações de usuários no Google Cloud.

  • Simplificação de grupos:o SCIM processa grupos do seu IdP para que todas as associações diretas e indiretas (aninhadas) de um usuário sejam simplificadas e sincronizadas com oGoogle Cloud Serviço de associação a grupos (GMS). Em seguida, o IAM usa esses grupos simplificados para verificações de políticas, superando as restrições de tamanho encontradas com frequência em tokens do IdP.

  • Integração do Gemini Enterprise:os locatários do SCIM oferecem suporte ao compartilhamento no Gemini Enterprise. Os usuários podem compartilhar notebooks do NotebookLM com um grupo usando o nome dele em vez do ID do objeto (UUID). Para saber mais, consulte Compartilhar um notebook com um grupo.

Considerações

Ao usar o suporte a SCIM da federação de identidade de colaboradores, as seguintes considerações se aplicam:

  • Você precisa configurar um pool e um provedor de identidade de colaboradores antes de configurar um locatário do SCIM.
  • Cada pool de identidades de colaboradores aceita apenas um locatário do SCIM. Para configurar um novo locatário do SCIM no mesmo pool de identidade de colaboradores, primeiro exclua o atual. Ao excluir um locatário do SCIM, você tem duas opções:
    • Exclusão reversível (padrão): a exclusão de um locatário do SCIM inicia um período de exclusão reversível de 30 dias. Durante esse período, o locatário fica oculto e não pode ser usado, e não é possível criar um novo locatário do SCIM no mesmo pool de identidades da força de trabalho.
    • Exclusão permanente:para excluir um locatário do SCIM de forma permanente e imediata, use a flag --hard-delete com o comando de exclusão. Essa ação é irreversível e permite criar um novo locatário do SCIM no mesmo pool de identidades da força de trabalho imediatamente após a conclusão da exclusão. Como alternativa, crie um pool de identidades de colaboradores e um locatário do SCIM ou use um pool de identidades de colaboradores que não tenha sido configurado antes com um locatário do SCIM.
  • Ao usar o SCIM, você mapeia atributos no provedor de pool de identidades de colaboradores e no locatário do SCIM. O atributo google.subject precisa se referir de forma exclusiva às mesmas identidades. Especifique o google.subject no provedor do pool de identidades de colaboradores usando a flag --attribute-mapping e no locatário do SCIM usando a flag --claim-mapping. O mapeamento de valores de identidade não exclusivos pode fazer com que o Google Cloud trate identidades de IdP diferentes como a mesma identidade. Como resultado, o acesso concedido a uma identidade de usuário ou grupo pode ser estendido a outras pessoas, mas revogar o acesso de uma pessoa pode não remover o acesso de todas.
  • Para usar o SCIM e mapear grupos, defina --scim-usage=enabled-for-groups. Quando você mapeia grupos usando o SCIM, qualquer mapeamento de grupo definido no provedor do pool de identidades da força de trabalho é ignorado. Ao se referir a grupos gerenciados pelo SCIM, o atributo mapeado é google.group, não google.groups. google.groups se refere apenas a grupos mapeados por token.
  • Ao usar o SCIM, os atributos baseados em token mapeados com --attribute-mapping ainda podem ser usados para autenticação e em identificadores principais.
  • Para a configuração do Microsoft Entra ID, não use flags --extended-attributes ao criar o provedor do pool de identidade de colaboradores.

Mapear provedores OIDC e SAML para a configuração do SCIM

É preciso haver consistência entre o mapeamento de atributos na configuração do provedor do pool de identidades da força de trabalho (--attribute-mapping) e os mapeamentos de declarações no locatário do SCIM (--claim-mapping). O atributo do IdP usado para preencher google.subject (para usuários) precisa ser o mesmo, seja lido de uma declaração de token ou de um atributo do SCIM.

Se esses mapeamentos forem inconsistentes, os usuários poderão fazer login, mas não serão reconhecidos como membros dos grupos provisionados pelo SCIM. Por exemplo, se o provedor usar assertion.email para google.subject, o locatário do SCIM também precisará usar o atributo SCIM equivalente (por exemplo, user.emails[0].value) para google.subject.

A tabela a seguir mostra exemplos de referência para mapear declarações de token de IdP comuns a atributos do SCIM:

Atributo do Google Mapeamento de provedor de pool de identidade de colaboradores (token) Mapeamento de locatário do SCIM (SCIM)
google.subject assertion.oid user.externalId
google.subject assertion.email user.emails[0].value
google.subject assertion.email.lowerAscii() user.emails[0].value.lowerAscii()
google.subject assertion.preferred_username user.userName
google.subject assertion.sub Incompatível
google.group N/A (mapeado usando SCIM) group.externalId

Endpoints compatíveis e incompatíveis

Os seguintes endpoints padrão do protocolo SCIM são compatíveis:

  • /Users: gerenciar recursos do usuário. Operações compatíveis: Create, Get, Update, Delete, Patch e Put.

  • /Groups: gerenciar recursos de grupo. Operações aceitas: Create, Get, Update, Delete e Patch. O método PUT não é compatível com grupos.

  • /Schemas: recupera informações do esquema.

  • /ServiceProviderConfig: recupere a configuração do provedor de serviços.

Os seguintes endpoints do protocolo SCIM não são compatíveis:

  • /Me

  • /Bulk

  • /Search

  • /ResourceTypes

Limitações

As seções a seguir descrevem as limitações e os desvios da implementação do SCIM da Federação de identidade da força de trabalho em relação às especificações do SCIM (RFC 7643 e 7644).

Limitações dos recursos do protocolo

  • Suporte a filtros:ao listar usuários ou grupos usando os endpoints /Users ou /Groups, as expressões de filtro só aceitam o operador eq (igual a). É possível combinar vários filtros eq com and. Outros operadores de filtro SCIM, como co (contém) ou sw (começa com), não são compatíveis.

  • Paginação:a API SCIM do IAM não oferece suporte à paginação padrão para listar usuários ou grupos.

    • startIndex: esse parâmetro é sempre 1. A API retorna até 100 resultados, independente do valor fornecido para startIndex.

    • itemsPerPage: o número máximo de recursos retornados em uma única resposta é 100.

    • totalResults: a API não retorna a contagem total real de recursos correspondentes. O campo totalResults na resposta é sempre igual ao número de itens retornados nela, com um máximo de 100.

Limitações de comportamento do SCIM

  • Identificadores imutáveis:os valores de atributos SCIM mapeados para google.subject ou google.group são tratados como identificadores imutáveis em Google Cloud. Se precisar mudar esses valores, exclua permanentemente o usuário ou grupo do IdP e recrie com o novo valor.

  • Requisito de e-mail único:para que a sincronização do SCIM seja bem-sucedida, cada usuário precisa ter exatamente um endereço de e-mail do tipo work. O provisionamento ou as atualizações vão falhar se o IdP enviar vários e-mails ou se o único e-mail fornecido não for digitado como work.

  • Transformações sem diferenciação de maiúsculas e minúsculas:transformações limitadas da Common Expression Language (CEL) são compatíveis com mapeamentos de declarações do SCIM. Apenas .lowerAscii() é compatível com comparações sem diferenciação de maiúsculas e minúsculas para user.userName e user.emails[0].value.

Limitações de atributos

As seções a seguir descrevem o suporte a atributos para usuários, grupos e a extensão de esquema de usuário empresarial.

Atributos do usuário

A tabela a seguir detalha o suporte para atributos do usuário:

Atributo Subatributos Sim Limitações
userName N/A Sim N/A
name formatted, familyName, givenName, middleName, honorificPrefix, honorificSuffix Sim N/A
displayName N/A Sim N/A
nickName N/A Sim N/A
profileUrl N/A Sim N/A
title N/A Sim N/A
userType N/A Sim N/A
preferredLanguage N/A Sim N/A
locale N/A Sim N/A
timezone N/A Sim N/A
active N/A Sim N/A
password N/A Não N/A
emails display, type, value, primary Sim Somente o tipo de e-mail work é compatível.
phoneNumbers display, type, value, primary Sim N/A
ims display, type, value Sim N/A
photos display, type, value Sim N/A
addresses formatted, streetAddress, locality, region, postalCode, country Sim N/A
groups N/A Não N/A
entitlements display, type, value Sim N/A
roles type, value Sim display não é compatível.
x509Certificates type, value Sim display não é compatível.

Atributos do grupo

A tabela a seguir detalha o suporte para atributos de grupo:

Atributo Subatributos aceitos
displayName N/A
externalId N/A
members value, type, $ref, display

Atributos de extensão do esquema de usuário empresarial

A tabela a seguir detalha o suporte para a extensão do esquema de usuário corporativo:

Atributo Subatributos aceitos
employeeNumber N/A
costCenter N/A
organization N/A
division N/A
department N/A
manager value, $ref, displayName

A seguir