Gerenciamento de Usuários com um Provedor de Identidades Externo

Este tópico descreve como configurar o IDCS como um provedor de identidades externo do OpenID Connect (OIDC) para o Oracle Blockchain Platform Enterprise Edition.

Pré-requisitos

Antes de criar uma instância no Oracle Blockchain Platform Enterprise Edition:

  • Crie uma conta de administrador no provedor de identidades selecionado.
  • Crie usuários e grupos necessários para a administração e o acesso ao blockchain do Oracle Blockchain Platform Enterprise Edition.
  • Registrar um aplicativo cliente OIDC confidencial.
  • Obtenha o ID do cliente, o segredo do cliente, o emissor, a autorização, o token, o JWKS e os pontos finais de revogação.
  • Determine os nomes de solicitação usados para o nome de usuário, o ID do cliente e as associações do grupo.

Configurar IDCS

Configurar o cliente confidencial

  1. Acesse o domínio de identidades do IDCS. Crie um domínio.
  2. Crie um aplicativo cliente confidencial para o plano de controle do Oracle Blockchain Platform Enterprise Edition.
    1. Navegue até Perfil , Domínio de Identidades e Aplicativos integrados.
    2. Selecione botão Adicionar aplicativo, Aplicativo Confidencial, Iniciar Workflow e forneça um nome antes de enviar para criar o aplicativo confidencial.
    3. Após a criação do aplicativo, selecione-o e navegue até a guia de configuração do OAuth. Selecione Editar configuração do OAuth.
    4. Selecione estas opções para a Configuração do Servidor de Recursos:
      • Configurar este aplicativo como servidor de recursos agora
      • Permitir atualização de token
      • Público-alvo Principal: obpee-cp
    5. Selecione estas opções para Configuração do Cliente:
      • Configurar este aplicativo como cliente agora
      • Para Tipos de concessão permitidos, selecione
        • Proprietário do recurso
        • Token de atualização
        • Código de autorização
      • Tipo de cliente: Confidencial
    6. Certificado:
      • Selecione Ignorar consentimento
      • Endereço IP do cliente: Em qualquer lugar
    7. Política de emissão de token:
      • Recursos autorizados: Todos
  3. Criar grupos e usuários no domínio. Navegue até Perfil, Domínio de Identidades e, em seguida, Gerenciamento de usuários.

    Consulte Grupos de Usuários e Atribuições para obter detalhes sobre os grupos e como eles são usados.

  4. Configure o URI de redirecionamento necessário para o plano de controle e a console de serviço do Oracle Blockchain Platform Enterprise Edition.
  5. Designe os usuários e grupos ao aplicativo cliente confidencial. Navegue até Aplicativo Confidencial, Usuários e Aplicativo Confidencial e, em seguida, Grupos para fazer isso.

Configurar reivindicações de grupo

Para incluir associações de grupo em tokens de acesso:

  1. Abra a configuração do OAuth para o cliente confidencial.
  2. Adicione a atribuição de aplicativo Administrador do Domínio de Identidades.
  3. Use uma conta de administrador para obter um token de acesso por meio do ponto final do token. O administrador deve pertencer aos grupos IDCS_Administrators e, quando aplicável, OCI_Administrators.
  4. Use o token de acesso para criar uma reivindicação de token de acesso personalizada.
curl -sS -X POST "https://<identity-domain-host>/admin/v1/CustomClaims" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary '{
    "schemas": ["urn:ietf:params:scim:schemas:oracle:idcs:CustomClaim"],
    "name": "group_roles",
    "value": "$user.groups.*.display",
    "expression": true,
    "mode": "always",
    "tokenType": "AT",
    "allScopes": true
  }'

Use group_roles como o Nome da Reivindicação de Grupos na configuração do Oracle Blockchain Platform Enterprise Edition.

Configurar o Oracle Blockchain Platform Enterprise Edition

Informe os valores do provedor de identidades na configuração do provedor de OIDC externo do Oracle Blockchain Platform Enterprise Edition.
  1. Abra o Blockchain Platform Manager em https://controlplane.domainname/console/index.html. Seu navegador pode avisá-lo sobre um certificado autoassinado.
  2. Faça log-in no Blockchain Platform Manager usando o nome de usuário obpadmin e a senha que você forneceu durante a instalação.
  3. Na página Configuração, selecione Servidores de Autenticação.
  4. Selecione Adicionar Provedor de Identidades
  5. Preencha os seguintes campos de configuração na página Adicionar Provedor de Identidades:
  6. Preencha os campos de nome de grupo conforme necessário. Podem ser encontrados aqui: Grupos
  7. Depois que todos os campos forem preenchidos, clique em Salvar e Definir Ativo.

Certifique-se de que as Configurações de Domínio tenham Configuração de Acesso do Cliente Ativada

Certifique-se de que as configurações de domínio tenham a opção Configurar acesso do cliente ativada. Para verificar ou ativar isso:
  1. Acesse a console do IDCS em:
    <Domain-URL>/ui/v1/adminconsole
  2. Acesse com um usuário que tenha a atribuição de Administrador do Domínio de Identidades (ou permissão de administrador de tenant/domínio equivalente).
  3. Navegue até a guia Definições e, em seguida, Definições de domínio - Certificado de assinatura de acesso e certifique-se de que Configurar acesso do cliente esteja ativado.
  4. Se ele estiver desativado, ative-o usando Editar definições de domínio.

Adicionar um URL de Redirecionamento para o Blockchain Platform Manager

Depois de fazer logout do Blockchain Platform Manager, quando você tentar fazer log-in novamente, ele passará pelo seu novo provedor de identidades. Isso requer que você adicione um URL de redirecionamento.

Por exemplo, se estiver usando o IDCS, siga as etapas abaixo:
  1. Faça log-in no OCI e vá para Identidade e Segurança.
  2. Selecione Aplicativos Integrados.
  3. Selecione o aplicativo confidencial criado.
  4. Selecione Configuração do OAuth e clique em Editar Configuração do OAuth.
  5. Adicione um URL de redirecionamento à lista com o URL do seu URL do Gerenciador do Blockchain Platform. Clique em Submeter.

Observação:

  • Depois de criar sua instância, você precisará adicionar outro redirecionamento para o URL da console do Blockchain Platform. É específico da instância e não pode ser adicionado até que a instância seja criada.
  • Se você implantar um aplicativo de amostra, precisará adicionar outro redirecionamento para o URL do aplicativo de amostra.