Se o provedor de identidade (IdP) oferece suporte ao System for Cross-domain Identity Management (SCIM), é possível configurá-lo para provisionar e gerenciar grupos no Cloud de Confiance.
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 IdP para ter uma visão geral das propriedades e associações do usuário no Cloud de Confiance.
Achatamento de grupos: o SCIM processa grupos do IdP para que todas as associações diretas e indiretas (aninhadas) de um usuário sejam achatadas e sincronizadas com o Cloud de Confiance serviço de associação de grupos (GMS, na sigla em inglês). Em seguida, o IAM usa esses grupos achatados para verificações de políticas, superando as restrições de tamanho encontradas com frequência em tokens de IdP.
Integração do Gemini Enterprise:os locatários do SCIM oferecem suporte ao compartilhamento no Gemini Enterprise. O locatário do SCIM ativa dois recursos relacionados ao compartilhamento de notebooks no NotebookLM Enterprise:
Preenchimento automático de endereços de e-mail e grupos
O uso do nome do grupo em vez do ID do objeto (UUID)
Para saber mais, consulte Compartilhar um notebook com um grupo.
Considerações
Ao usar o suporte ao SCIM da federação de identidade de colaboradores, as seguintes considerações se aplicam:
- É necessário configurar um pool de identidade de colaboradores e um provedor antes de configurar um locatário do SCIM.
- Cada pool de identidade de colaboradores oferece suporte a apenas um locatário do SCIM. Como um locatário do SCIM é criado em um provedor de pool de identidade de colaboradores específico, somente esse provedor pode usar o SCIM para grupos. Não é possível ativar o uso do SCIM (
--scim-usage=enabled-for-groupsou--scim-usage=enabled-for-users-groups) em nenhum outro provedor no mesmo pool. Para configurar um novo locatário do SCIM no mesmo pool de identidade de colaboradores, primeiro exclua o locatário atual. Para excluir um locatário do SCIM, use um dos seguintes métodos:- 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 identidade de colaboradores.
- Exclusão permanente:para excluir um locatário do SCIM de forma permanente e imediata, use a flag
--hard-deletecom o comando de exclusão. Essa ação é irreversível e permite criar um novo locatário do SCIM no mesmo pool de identidade de colaboradores imediatamente após a conclusão da exclusão. Como alternativa, é possível criar um novo pool de identidade de colaboradores e um novo locatário do SCIM ou usar um pool de identidade de colaboradores que não tenha sido configurado anteriormente com um locatário do SCIM.
- Ao usar o SCIM, você mapeia atributos no provedor do pool de identidade de colaboradores e no locatário do SCIM. O atributo
google.subjectprecisa se referir exclusivamente às mesmas identidades. Você especifica ogoogle.subjectno provedor do pool de identidade de colaboradores usando a flag--attribute-mappinge no locatário do SCIM usando a flag--claim-mapping. O mapeamento de valores de identidade não exclusivos pode fazer com que Cloud de Confiance o 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, mas revogar o acesso de uma pode não remover o acesso de todas. - Para usar o SCIM para mapear grupos, defina
--scim-usage=enabled-for-groups(ou--scim-usage=enabled-for-users-groups) no provedor do pool de identidade de colaboradores que tem o locatário do SCIM anexado. Ao mapear grupos usando o SCIM, qualquer mapeamento de grupo definido nesse provedor será ignorado em favor de grupos gerenciados pelo SCIM. Ao se referir a grupos gerenciados pelo SCIM, o atributo mapeado égoogle.group, nãogoogle.groups.google.groupsse refere apenas a grupos mapeados por token. Se você ativar o uso do SCIM em um provedor que não tem um locatário do SCIM anexado, as tentativas de login por esse provedor falharão no momento da execução porque Cloud de Confiance não é possível encontrar um locatário do SCIM no caminho desse provedor. - Aplicação de exclusividade: Cloud de Confiance valida e aplica a
exclusividade em atributos mapeados para
google.subject(usuários) egoogle.group(grupos) em um locatário do SCIM. Se os atributos mapeados provisionados pelo IdP resultarem em valores duplicados paragoogle.subjectougoogle.groupdurante a sincronização, o provisionamento falhará com um erro HTTP409 Conflict. Se um atributo mapeado for avaliado como nulo ou vazio, o provisionamento falhará com um erro HTTP400 Bad Request. - Ao usar o SCIM, os atributos baseados em token mapeados com
--attribute-mappingainda podem ser usados para autenticação e em identificadores principais. - Para a configuração do Microsoft Entra ID, use o SCIM para ativar nomes de grupos legíveis por humanos no Gemini Enterprise.
- A API SCIM (
iamscim.googleapis.com) está sujeita a cotas de taxa diferentes das cotas padrão da API de recursos do IAM. Por padrão, as solicitações de gravação e leitura são limitadas a 3.000 solicitações por locatário do SCIM por organização por minuto. Para mais informações, consulte Cotas e limites.
Mapeamento de provedores de OIDC e SAML para a configuração do SCIM
É necessário haver consistência entre o mapeamento de atributos na configuração do provedor do pool de identidade de colaboradores (--attribute-mapping) e os mapeamentos de declarações no locatário do SCIM (--claim-mapping). O atributo do IdP subjacente usado para preencher google.subject (para usuários) precisa ser o mesmo, seja ele lido de uma declaração de token ou de um atributo 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 os mapeamentos entre atributos de declaração de token e atributos SCIM:
| Atributo do Google | Mapeamento do provedor do pool de identidade de colaboradores | Mapeamento do locatário do SCIM (SCIM) |
|---|---|---|
google.subject |
assertion.oid (EntraId) |
user.externalId |
google.subject |
assertion.sub (Okta) |
user.externalId |
google.subject |
assertion.preferred_username |
user.userName |
google.subject |
assertion.preferred_username.lowerAscii() |
user.userName.lowerAscii() |
google.subject |
assertion.email |
user.emails[0].value |
google.subject |
assertion.email.lowerAscii() |
user.emails[0].value.lowerAscii() |
google.group |
N/A (mapeado usando o SCIM) | group.externalId |
Endpoints com e sem suporte
Os seguintes endpoints de protocolo SCIM padrão são compatíveis:
/Users: gerenciar recursos do usuário. Operações com suporte:Create,Get,Update,Delete,PatchePut./Groups: gerenciar recursos de grupo. Operações com suporte:Create,Get,Update,DeleteePatch. O métodoPUTnão é compatível com grupos./Schemas: recuperar informações do esquema./ServiceProviderConfig: recuperar a configuração do provedor de serviços.
Os seguintes endpoints de protocolo SCIM não são compatíveis:
/Me/Bulk/Search/ResourceTypes
Limitações
As seções a seguir descrevem as limitações e desvios da implementação do SCIM da federação de identidade de colaboradores das especificações do SCIM (RFC 7643 e 7644).
Limitações de recursos do protocolo
Suporte a filtros:ao listar usuários ou grupos usando os endpoints
/Usersou/Groups, as expressões de filtro só oferecem suporte ao operadoreq(igual a). É possível combinar vários filtroseqcomand. Outros operadores de filtro SCIM, comoco(contém) ousw(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 é sempre1. A API retorna até 100 resultados, independentemente do valor fornecido parastartIndex.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 campototalResultsna resposta é sempre igual ao número de itens retornados nessa resposta, com um máximo de 100.
Receber grupo e listar grupos sem filtro:as APIs
GetGroupeListGroupsretornam uma lista de membros vazia. Para recuperar membros de um grupo específico, use a APIListGroupscom um filtro de membro.Resposta JSON não compatível com tokens inválidos: APIs que contêm um token de API inválido resultam em um
401 HTTP errordo Cloud de Confiance. A resposta não é uma estrutura JSON conforme exigido pelas especificações.
Limitações de comportamento do SCIM
Identificadores imutáveis: os valores de atributos SCIM mapeados para
google.subjectougoogle.groupsão tratados como identificadores imutáveis no Cloud de Confiance. Se for necessário mudar esses valores, exclua o usuário ou grupo permanentemente do IdP e recrie-o com o novo valor.Identificadores exclusivos e não vazios: Cloud de Confiance aplica a exclusividade em valores mapeados para
google.subjectegoogle.groupem um locatário do SCIM. A sincronização de atributos mapeados que resultam em valores duplicados paragoogle.subjectougoogle.groupfalha com um erro HTTP409 Conflict. Atributos mapeados que são avaliados como nulos ou vazios falham com um erro HTTP400 Bad Request.Requisito de e-mail único:para uma sincronização SCIM bem-sucedida, cada usuário precisa ter exatamente um endereço de e-mail do tipo
work. O provisionamento ou as atualizações falharão se o IdP enviar vários e-mails ou se o único e-mail fornecido não for digitado comowork.Transformações que não diferenciam maiúsculas de minúsculas:transformações limitadas da Common Expression Language (CEL) são compatíveis com mapeamentos de declarações SCIM. Somente
.lowerAscii()é compatível com comparações que não diferenciam maiúsculas de minúsculas parauser.userNameeuser.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 do esquema de usuário empresarial.
Atributos do usuário
A tabela a seguir detalha o suporte a atributos do usuário:
| Atributo | Subatributos | Com suporte | 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 a atributos do grupo:
| Atributo | Subatributos com suporte |
|---|---|
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 à extensão do esquema de usuário empresarial:
| Atributo | Subatributos com suporte |
|---|---|
employeeNumber |
N/A |
costCenter |
N/A |
organization |
N/A |
division |
N/A |
department |
N/A |
manager |
value, $ref, displayName |