Gestión de usuarios con un proveedor de identidad externo

En este tema se describe cómo configurar IDCS como proveedor de identidad de OpenID Connect (OIDC) externo para Oracle Blockchain Platform Enterprise Edition.

Requisitos previos

Antes de crear una instancia en Oracle Blockchain Platform Enterprise Edition:

  • Cree una cuenta de administrador en el proveedor de identidad seleccionado.
  • Cree los usuarios y grupos necesarios para la administración de Oracle Blockchain Platform Enterprise Edition y el acceso a blockchain.
  • Registre una aplicación cliente de OIDC confidencial.
  • Obtenga el ID de cliente, el secreto de cliente, el emisor, la autorización, el token, JWKS y los puntos finales de revocación.
  • Determine los nombres de reclamación utilizados para el nombre de usuario, la ID. de cliente y las afiliaciones a grupos.

Configuración de IDCS

Configurar el cliente confidencial

  1. Conéctese al dominio de identidad de IDCS. Crear un dominio.
  2. Cree una aplicación cliente confidencial para el plano de control de Oracle Blockchain Platform Enterprise Edition.
    1. Vaya a Perfil, Dominio de identidad y, a continuación, Aplicaciones integradas.
    2. Seleccione Botón Agregar aplicación, Aplicación confidencial y, a continuación, Iniciar flujo de trabajo y proporcione un nombre antes de enviarlo para crear la aplicación confidencial.
    3. Después de crear la aplicación, seleccione la aplicación y vaya al separador de configuración de OAuth. Seleccione Editar configuración de OAuth.
    4. Seleccione estas opciones para la configuración del servidor de recursos:
      • Configurar esta aplicación como un servidor de recursos ahora
      • Permitir refrescamiento de token
      • Público principal: obpee-cp
    5. Seleccione estas opciones para Configuración de cliente:
      • Configurar esta aplicación como un cliente ahora
      • En Tipos de permisos permitidos, seleccione
        • Propietario de recurso
        • Token de refrescamiento
        • Código de autorización
      • Tipo de cliente: Confidencial
    6. Certificado:
      • Seleccione Omitir consentimiento.
      • Dirección IP del cliente: en cualquier lugar
    7. Política de emisión de tokens:
      • Recursos autorizados: Todos
  3. Cree grupos y usuarios en el dominio. Vaya a Perfil, Dominio de identidad y, a continuación, a Gestión de usuarios.

    Consulte Grupos de usuarios y roles para obtener más información sobre los grupos y cómo se utilizan.

  4. Configure el URI de redirección necesario para el plano de control y la consola de servicio de Oracle Blockchain Platform Enterprise Edition.
  5. Asigne los usuarios y grupos a la aplicación cliente confidencial. Vaya a Aplicación confidencial y, a continuación, a Usuarios y Aplicación confidencial y, por último, a Grupos para hacerlo.

Configuración de reclamaciones de grupo

Para incluir afiliaciones a grupos en tokens de acceso:

  1. Abra la configuración de OAuth para el cliente confidencial.
  2. Agregue el rol de aplicación Administrador de dominio de identidad.
  3. Utilice una cuenta de administrador para obtener un token de acceso a través del punto final del token. El administrador debe pertenecer a los grupos IDCS_Administrators y, cuando corresponda, OCI_Administrators.
  4. Utilice el token de acceso para crear una reclamación de token de acceso 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
  }'

Utilice group_roles como el nombre de reclamación de grupos en la configuración de Oracle Blockchain Platform Enterprise Edition.

Configuración de Oracle Blockchain Platform Enterprise Edition

Introduzca los valores del proveedor de identidad en la configuración del proveedor de OIDC externo de Oracle Blockchain Platform Enterprise Edition.
  1. Abra Blockchain Platform Manager en https://controlplane.domainname/console/index.html. Es posible que el explorador le advierta sobre un certificado autofirmado.
  2. Inicie sesión en Blockchain Platform Manager con el nombre de usuario obpadmin y la contraseña que proporcionó durante la instalación.
  3. En la página Configuración, seleccione Servidores de Autenticación.
  4. Seleccione Agregar proveedor de identidad.
  5. Complete los siguientes campos de configuración en la página Agregar proveedor de identidad:
  6. Complete los campos de nombre de grupo según sea necesario. Estos se pueden encontrar aquí: Grupos
  7. Una vez que se hayan rellenado todos los campos, haga clic en Guardar y definir activo.

Asegúrese de que los valores de dominio tienen la opción Configurar acceso de cliente activada

Asegúrese de que los valores de dominio tengan la opción Configure Client Access activada. Para verificar o activar esto:
  1. Acceda a la consola de IDCS en:
    <Domain-URL>/ui/v1/adminconsole
  2. Conéctese con un usuario que tenga el rol de administrador de dominio de identidad (o el permiso de administrador de inquilino/dominio equivalente).
  3. Navegue hasta el separador Configuración y, a continuación, hasta Configuración de dominio: certificado de firma de acceso y asegúrese de que Configurar acceso de cliente esté activado.
  4. Si está desactivado, actívelo mediante Editar configuración de dominio.

Agregar una URL de redirección para Blockchain Platform Manager

Después de cerrar sesión en Blockchain Platform Manager, cuando intente volver a iniciar sesión, pasará por su nuevo proveedor de identidad. Esto requiere que agregue una URL de redirección.

Por ejemplo, si utiliza IDCS, complete los pasos siguientes:
  1. Conéctese a OCI y vaya a Identity and Security.
  2. Seleccione Aplicaciones integradas.
  3. Seleccione la aplicación confidencial que ha creado.
  4. Seleccione Configuración de OAuth y haga clic en Editar configuración de OAuth.
  5. Agregue una URL de redirección a la lista con la URL de su URL de Blockchain Platform Manager. Haga clic en Ejecutar.

Nota:

  • Después de crear la instancia, deberá agregar otro redireccionamiento para la URL de la consola de Blockchain Platform. Es específico de la instancia y no se puede agregar hasta que se cree la instancia.
  • Si despliega una aplicación de ejemplo, tendrá que agregar otra redirección para la URL de la aplicación de ejemplo.