Configuración de la gestión de acceso e identidad de IBM Cloud Pak foundational services como proveedor de identidades OAuth de OpenShift

La función de gestión de acceso e identidad (IAM, por sus siglas en inglés) de IBM Cloud Pak foundational services proporciona una capacidad de inicio de sesión único para la autenticación de Red Hat® OpenShift® . Para configurar el IAM para que gestione la autenticación de Red Hat OpenShift , primero registre un cliente de OpenID Connect y, a continuación, cree un proveedor de identificación de OpenID Connect utilizando el IAM para la autenticación.

Antes de empezar

Debe tener una versión compatible de Red Hat OpenShift Container Platform con IBM Cloud Pak foundational services instalado, y tener la siguiente información disponible en Red Hat OpenShift y IBM Cloud Pak foundational services:

  1. El usuario administrador CS_DEFAULT_ADMIN_USERNAME y la contraseña administrador CS_DEFAULT_ADMIN_PASSWORD de la instalación IBM Cloud Pak foundational services .
    Consejo : Si olvida estos valores, puede recuperarlos con los siguientes comandos de oc get secret .
    oc -n ibmplatform-service get secret admin-credential -o jsonpath='{.data.defaultAdminUser}' | base64 --decode
    
    oc -n ibmplatform-service get secret admin-credential -o jsonpath='{.data.defaultAdminPassword}' | base64 --decode

    CS_DEFAULT_ADMIN_USERNAME » es el usuario administrador predeterminado para el proveedor de identidad « OpenID Connect» para « IBM -IAM» y debe ser único para no entrar en conflicto con un nombre de usuario duplicado para otro proveedor de identidad.

  2. El panel de control de IBM Cloud Pak foundational services URL.
    Consejo : Si olvida el valor, puede recuperar el URL con el siguiente comando oc get route .
    oc -n kube-system get route icp-console -o=jsonpath={.spec.host}
  3. La consola Red Hat OpenShift URL.
    Consejo : Si olvida el valor, puede recuperar el URL con el siguiente comando oc get route .
    oc -n openshift-console get route console -o=jsonpath={.spec.host}
  4. El certificado raíz de la autoridad de certificación emisora icp-console.pem desde el panel de control de IBM Cloud Pak foundational services URL.
    Consejo : Si olvida el valor, certifíquelo con el siguiente comando oc get secret .
    oc -n kube-system get secret icp-management-ingress-tls-secret -o=jsonpath='{.data.tls\.crt}' | base64 --decode | tee -a icp-console.pem

Registrar el cliente de OpenID Connect

Para registrar un cliente de OpenID Connect, primero cree un recurso personalizado (CR) que especifique la información del cliente y añádalo al clúster.

  1. Para registrar el recurso personalizado del Cliente, cree un archivo llamado ocpclient.yaml.
    apiVersion: oidc.security.ibm.com/v1
    kind: Client
    metadata:
     namespace: default
     name: ocpclient
    spec:
     secret: ocpclientsecret
     oidcLibertyClient:
       post_logout_redirect_uris:
       - https://console-openshift-console.apps.example.com:443
       trusted_uri_prefixes:
       - https://console-openshift-console.apps.example.com:443
       redirect_uris:
       - https://oauth-openshift.apps.example.com/oauth2callback/IBM-IAM
  2. Modifique el contenido de ocpclient.yaml para que coincida con el entorno de su clúster de Red Hat OpenShift .
    • Establezca los valores de los parámetros post_logout_redirect_uris y trusted_uri_prefixes en su consola Red Hat OpenShift URL con el puerto 443. Por ejemplo: https://console-openshift-console.apps.example.com:443
    • Establezca el valor del parámetro redirect_uris en https://oauth-openshift.apps.example.com/oauth2callback/IBM-IAM (donde example.com coincide con su entorno).
    Nota : IBM-IAM es el nombre del proveedor de identidad de Connect ( OpenID ) que se crea en la sección Crear el proveedor de identidad de Connect ( OpenID ) para la autenticación de IAM.
  3. Para crear el recurso personalizado del cliente, ejecute el siguiente comando oc create .
    oc create -f ocpclient.yaml

    Debería ver elclient.oidc.security.ibm.com/ocpclient created.

    Nota : Esto genera el secreto de cliente ( ocpclientsecret ), que almacena el ID de cliente y el secreto de cliente.
  4. Para verificar que el registro del cliente se ha realizado correctamente, ejecute el siguiente comando oc get .
    oc get Client ocpclient -n default
    
    NAME        SECRET            READY   AGE
    ocpclient   ocpclientsecret   True    7s
    

    Debería ver el estado del cliente de READY igual aTrue.

  5. Para obtener el CLIENT_ID y el CLIENT_SECRET del secreto ocpclientsecret que se utilizará al crear el proveedor de identidad, ejecute los siguientes comandos:
    oc -n default get secret ocpclientsecret -o jsonpath='{.data.CLIENT_ID}' | base64 --decode
    oc -n default get secret ocpclientsecret -o jsonpath='{.data.CLIENT_SECRET}' | base64 --decode

Crear el proveedor de identidad de OpenID Connect para la autenticación IAM

Para crear un proveedor de identidad, primero cree un recurso personalizado (CR) que especifique el proveedor de identidad y añádalo al clúster.

Para configurar el proveedor de identidad de OpenID Connect desde la consola de Red Hat OpenShift :

  1. Seleccione Administración > Configuración del clúster.
  2. En Configuración de clúster, seleccione la pestaña Configuración global y el Recurso de configuración de OAuth.
  3. En Detalles de OAuth, desplácese hacia abajo hasta la sección Proveedores de identidad.
  4. Haga clic en Añadir y seleccione Conectar a Internet ( OpenID ).
  5. Especifique los valores siguientes para el proveedor de identidad de OpenID Connect para IAM:
    • Nombre : IBM -IAM
    • ID de cliente : CLIENT_ID que recuperó anteriormente.
    • Secreto del cliente : CLIENT_SECRET que recuperó anteriormente.
    • Emisor URL : <IBM_Cloud_Pak_foundational_services_dashboard_URL>/oidc/endpoint/OP`. Por ejemplo: https://icp-console.apps.example.com/oidc/endpoint/OP
    • En Más opciones :
      • Archivo CA : navegue para importar el archivo de autoridad de certificación del emisor ( icp-console.pem ) que recuperó en la sección Antes de comenzar.
      • Ámbitos adicionales : perfil
  6. Pulse Add (Añadir) para crear el proveedor de identidad de OpenID Connect para IAM.

Inicie sesión en la consola de Red Hat OpenShift utilizando IAM

La próxima vez que se presente la página de inicio de sesión de la consola Red Hat OpenShift , permitirá al usuario seleccionar IBM-IAM como proveedor de identidad y se mostrará la página de inicio de sesión IBM Cloud Pak para solicitar al usuario su nombre de usuario y contraseña. Los valores de los parámetros CS_DEFAULT_ADMIN_USERNAME y CS_DEFAULT_ADMIN_PASSWORD pueden utilizarse para iniciar sesión como usuario administrativo predeterminado.