Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever e obter uma conta gratuita, consulte Conceitos Básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Configurar o Provisionamento Just-In-Time para IDP baseado em SAML no IDCS/Domínios de Identidades
Introdução
O Provisionamento Just-In-Time (JIT) baseado em SAML ajuda a automatizar a criação de identidades pelo usuário no Identity Cloud Service para novos usuários. As contas de usuário são criadas quando o usuário tenta acessar o aplicativo de destino via SSO. Junto com a criação do usuário, o JIT também pode conceder e revogar associações de grupos como parte do provisionamento. O JIT também pode ser usado para atualizar os usuários provisionados por meio do mapeamento dos atributos de origem (Provedor de Serviço - SP) para o Provedor de Identidades - IDP.
Ao ativar o Provisionamento JIT para seu Provedor de Identidades com o IDCS, você poderá gerenciar usuários com mais eficiência e isso ajudará a reduzir o custo de administração da sincronização manual dos usuários.
Benefícios do uso do Provisionamento JIT
-
Para usuários consumidores nos quais você não deseja carregar todos os usuários no IDCS (Identity Management Cloud Service), inicialmente, mas deseja criá-los imediatamente quando eles tentarem fazer log-in.
-
Reduzir o custo de administração, pois os usuários não precisam ser criados manualmente no IDP.
Objetivo
Configure o Provisionamento Just-In-Time para IDP baseado em SAML no IDCS/Domínios de Identidades por meio de APIs REST.
Observação: se sua tenancy já tiver migrado para Domínios de Identidade e quiser executar essa configuração por meio da console, consulte o seguinte link: Adicionando um SAML Just-in-Time IdP.
Pré-requisitos
-
O IDCS deve ter uma Camada de Licenciamento Padrão para usar o recurso Provisionamento JIT. O JIT está disponível em todos os tipos de domínio ao usar Domínios de Identidade sujeitos a limites de objeto para cada camada. Para obter mais informações, consulte Noções Básicas sobre Tipos de Domínio de Identidades.
-
O recurso Provisionamento JIT no IDCS está desativado por padrão e deve ser ativado por meio da solicitação de serviço da Oracle.
-
O IDP deve ser configurado com o IDCS/Domínio de Identidades para Sign-On Único usando SAML. Para obter mais informações, consulte Adicionando um Provedor de Identidades.
-
Uma conta de usuário do IDCS/Domínio de Identidades com privilégios de administrador de segurança.
-
Configure o Postman para usar pontos finais REST do Oracle Identity Cloud Service/Domínios de Identidade. Para obter mais informações, consulte Usando as APIs REST do Oracle Identity Cloud Service com Postman.
Tarefa 1: Extrair a lista de Provedores de Identidades configurados na tenancy do IDCS/Domínios de Identidades
-
Use o seguinte ponto final REST: https://idcs-xxxx.identity.oraclecloud.com/admin/v1/IdentityProviders (Operação GET) e localize o ID do IDP para o qual você deseja ativar o Provisionamento JIT.
Saída de Amostra:
Tarefa 2: Extrair os detalhes do IDP SAML configurado
Extraia os detalhes do IDP SAML configurado no qual você deseja ativar o Provisionamento JIT usando o ID do Provedor localizado da Tarefa 1.
-
Use o seguinte ponto final REST: https://idcs-xxxx.identity.oraclecloud.com/admin/v1/IdentityProviders/{IDP provider ID} (Operação GET).
Amostra de saída:
Tarefa 3: Atualizar as definições do provedor IDP para ativar o Provisionamento JIT
Atualize as definições do provedor IDP para ativar o Provisionamento JIT para seu IDP SAML usando uma operação PATCH.
- Use o seguinte ponto final REST: https://idcs-xxxx.identity.oraclecloud.com/admin/v1/IdentityProviders/{IDP provider ID} (Operação PATCH).
Observação:
- O trecho de código de amostra a seguir é apenas para referência, e é recomendável examinar a documentação da Oracle para obter mais detalhes sobre cada atributo antes de ativá-lo.
- Os Grupos deverão ser pré-criados no IDCS se você quiser adicionar associações de grupo.
Corpo de Amostra:
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "replace",
"path": "jitUserProvEnabled",
"value": true
},{
"op": "replace",
"path": "jitUserProvCreateUserEnabled",
"value": true
},
{
"op": "replace",
"path": "jitUserProvAttributeUpdateEnabled",
"value": true
},
{
"op": "replace",
"path": "jitUserProvGroupAssertionAttributeEnabled",
"value": false
},
{
"op": "replace",
"path": "jitUserProvGroupSAMLAttributeName",
"value": "groups"
},
{
"op": "replace",
"path": "jitUserProvGroupAssignmentMethod",
"value": "Overwrite"
}
]
}
A tabela a seguir descreve as propriedades IDP mencionadas acima.
Propriedade do provedor de identidades | Descrição |
---|---|
jitUserProvEnabled | Propriedade booliana para ativar/desativar o recurso de Provisionamento JIT SAML para o IDP configurado. |
jitUserProvCreateUserEnabled | Propriedade booliana para criação de usuário, com base na asserção de entrada, se o usuário ainda não existir. |
jitUserProvAttributeUpdateEnabled | Propriedade booliana para atualização do usuário com base na asserção de entrada, se o usuário já existir. |
jitUserProvGroupAssertionAttributeEnabled | Propriedade booliana que indica se as associações do grupo devem ser atribuídas ao usuário com base em uma lista de nomes de grupo recebidos do IDP em um atributo SAML. |
jitUserProvGroupSAMLAttributeName | O nome do atributo de asserção SAML que conterá grupos a serem designados ao usuário, se a propriedade jitUserProvGroupAssertionAttributeEnabled for verdadeira. |
jitUserProvGroupAssignmentMethod | Propriedade de string que controla como as associações do grupo serão designadas ao usuário do Identity Cloud Service - Sobrescrever/Intercalar. |
Após essa operação, seu Provisionamento JIT deverá estar ativado para o IDP SAML e você poderá confirmar isso executando a operação GET mencionada na Tarefa 2. A imagem a seguir mostra a saída de amostra.
Isso agora fornecerá o ID do Atributo Mapeado que será usado no próximo ponto final para mapear os atributos do SP com atributos do IDP.
Tarefa 4: Definir o Mapeamento jitUserProvAttributes
do Provedor de Identidades SAML para o provisionamento do usuário
Depois de ativar o Provisionamento JIT para seu IDP SAML, a próxima etapa é mapear os Atributos do Provedor de Serviços com os Atributos do Provedor de Identidades. Use o ID do Atributo Mapeado da Tarefa 3 com o ponto final REST descrito nesta seção.
Observação:
- Antes de aplicar patch aos atributos para este ponto final, é recomendável verificar a asserção SAML para localizar o
managedObjectAttributeName
(detalhes da asserção do lado do SP). Na verificação de asserção de<saml:AttributeStatement>
, que conterá as informações sobre os atributos SAML. Use o valor emsaml:Attribute Name
e mapeie-o para o atributo IDCS correspondente.- Use este ponto final agora como uma operação PATCH com o seguinte código de Corpo de amostra para atualizar o mapeamento do atributo. Você pode confirmar isso executando uma operação GET no mesmo ponto final e verificar se há valores atualizados dos atributos mapeados.
-
Use o seguinte ponto final REST: https://idcs-xxxx.identity.oraclecloud.com/admin/v1/MappedAttributes/{Mapped Attribute ID} (GET Operation)
Observação: Este é o trecho de código de amostra (somente para referência) para o mapeamento do atributo. Atualize de acordo com sua asserção de SAML IDP configurada e salve-a.
{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [ { "op": "replace", "path": "attributeMappings", "value": [ { "managedObjectAttributeName": "$(assertion.mail)", "idcsAttributeName": "userName" }, { "managedObjectAttributeName": "$(assertion.firstname)", "idcsAttributeName": "name.givenName" }, { "managedObjectAttributeName": "$(assertion.lastname)", "idcsAttributeName": "name.familyName" }, { "managedObjectAttributeName": "$(assertion.mail)", "idcsAttributeName": "emails[primary eq true and type eq \"work\"].value" } ] } ] }
Tarefa 5: Configurar o atributo Atualização de Mapeamento jitUserProvAttributes
Configure o atributo Atualização de Mapeamento jitUserProvAttributes
do Provedor de Serviços - SP para o Provedor de Identidades - IDP.
-
Use o seguinte ponto final REST: https://idcs-xxxx.identity.oraclecloud.com/admin/v1/MappedAttributes/{Mapped Attribute ID} (Operação PATCH) e PATCH o ponto final REST com o código da Tarefa 4 no Corpo.
-
Confirme se as alterações foram atualizadas executando a operação GET.
Tarefa 6: Testar o Provisionamento JIT
- Em uma nova sessão do browser, tente fazer log-in no IDCS da minha console.
- O IDCS exibirá a tela de login.
- Selecione o IDP configurado que agora está ativado com o Provisionamento JIT.
- O IDCS o roteará para a página de login do IDP para conexão.
- Informe as credenciais válidas do usuário que não existem no IDCS.
- Após o log-in bem-sucedido, você deverá rotear para o IDCS minha tela da console.
- Valide por meio da conta de administração que o usuário foi criado com sucesso no IDCS.
Links Relacionados
- Trabalhando com provedores de identidade
- Usando as APIs REST do Oracle Identity Cloud Service com Postman
Aquisições
Autor - Chetan Soni (Engenheiro de Soluções em Nuvem)
Mais Recursos de Aprendizagem
Explore outros laboratórios no site docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Configure Just-In-Time Provisioning for SAML based IDP in IDCS/Identity Domains
F76244-01
January 2023
Copyright © 2023, Oracle and/or its affiliates.