Saltar al contenido

Acceso a recursos protegidos de SAP Analytics Cloud con OAuth Two-Foot Flow

SAP Analytics Cloud (SAC) aprovecha el marco OAuth 2.0 para proporcionar acceso seguro a sus recursos divulgados a través de API REST, por ejemplo, API de escenario. SAC proporciona soporte para flujos OAuth de dos y tres pies.

Ambos flujos involucran los siguientes roles:

  • Propietario del recurso: usuario

    El propietario del recurso es el usuario que autoriza una solicitud para acceder a su cuenta. El acceso de la aplicación a la cuenta de usuario está limitado al “alcance” de la autorización otorgada, por ejemplo, acceso de lectura o escritura.

  • Solicitud de cliente

    El cliente es la aplicación que quiere acceder a la cuenta de usuario. Antes de que pueda hacerlo, el usuario debe autorizar el acceso y la API debe validar la autorización.

  • Recurso / servidor autorizado: API

    El servidor de recursos aloja las cuentas de usuario protegidas. El servidor autorizado verifica la identidad del usuario y luego emite tokens de acceso en la aplicación.

OAuth 2.0 fluye a tres patas frente a dos patas

En el flujo de tres patas, los tres tienen un papel activamente en cuestión. Por ejemplo, el usuario debe autorizar explícitamente a la aplicación cliente para acceder a los recursos que posee el usuario.

Por otro lado, el flujo de dos pies no tiene participación activa. En cambio, la señal de confirmación del operador de SAML recibida durante el inicio de sesión de la aplicación del cliente se intercambia con la señal de SAP Analytic Cloud OAuth detrás de escena.

Un factor importante a considerar al elegir entre los flujos de tres pies y dos pies es el panorama del cliente. Por lo general, encuentra un IDP central en un panorama empresarial. El objetivo central de IDP dentro de una empresa es administrar una federación de ID y proporcionar una experiencia de SSO para los usuarios finales en una variedad de aplicaciones. Con este panorama, debe aplicar el flujo de dos pies para garantizar una experiencia OEM perfecta.

Resumen de flujo de dos tramos

El flujo de dos pies requiere una configuración pesada, por lo que antes de comenzar, revise el siguiente diagrama y descripción para tener una idea de lo que está tratando de lograr:

  1. Obtenga el letrero de confirmación del operador SAML.
    1. El usuario intenta acceder a la aplicación web de muestra. La aplicación web (o proveedor de servicios) redirige al usuario al IDP (proveedor de ID).
    2. El IDP proporciona una página de inicio de sesión donde el usuario ingresa sus credenciales de acceso. Una vez que se validan las credenciales, el IDP genera un token de confirmación de operador SAML y lo envía al proveedor de servicios.
  2. Reemplace la señal de declaración de portadora SAML con la señal OAuth.
    1. El proveedor de servicios que integra los recursos de SAP Analytics Cloud a través de la API REST actúa como Cliente OAuth y envía la señal de confirmación del operador SAML para recibir la señal OAuth.
    2. La aplicación web solicita el recurso protegido de SAP Analytics Cloud presentando el token de acceso. El SAC valida el token de acceso y, si es válido, responde a la solicitud. El token de acceso se envía en el campo de encabezado de la solicitud de autorización mediante un esquema de autenticación de operador.

Paso 1: crea una aplicación web

Empiece creando una aplicación web de muestra y utilizándola en SAP Cloud Platform.

  1. Descarga la aplicación desde el siguiente repositorio de git:

    https://github.com/SAP/analytics-cloud-api-embedsac-oauth-saml/

  2. Para crear el archivo war, ejecute el siguiente comando: ‘maven clean install’.

  3. Implemente el archivo war en SAP Cloud Platform.

    Inicie sesión en su cuenta de SAP Cloud Platform y vaya a Aplicaciones> Aplicaciones Java. Hacer clic Solicitud de implementación.

    Solicitud de implementación

  4. Seleccione el archivo war de su carpeta local y tiempo de ejecución Java Web.

    Luego haga clic en Despliegue.

    Ubicación del archivo de guerra

Hecho

Inicie sesión para responder la pregunta

Paso 2: obtén la señal de confirmación del operador SAML

Con la aplicación web de muestra, ahora puede configurar la autenticación a través del proveedor de identidad.

A los efectos de este ejemplo, configura SAP Cloud Platform para que actúe como proveedor de servicios y un inquilino del autenticador de identidad de SAP Cloud Platform como proveedor de identidad.

Para obtener más información sobre esta configuración, consulte Configurar SSO SAML para SAP Cloud Platform mediante un proveedor de identificación personalizado.

  1. Inicie sesión en el cockpit de SAP Cloud Platform, vaya a Seguridad> Confianzay haga clic en Editar.

  2. Seleccione el tipo de configuración Personalizado.

    El es Nombre del proveedor local población automáticamente. De lo contrario, use URI como el nombre del proveedor local.

  3. Hacer clic Generar un par de claves y haga clic en Salvar.

    Generar un par de claves

  4. Para establecer la confianza entre el proveedor de servicios y el proveedor de identidad, intercambie sus respectivos archivos de metadatos.

    Hacer clic Obtener metadatos para descargar el archivo de metadatos del proveedor de servicios y guardarlo en una carpeta local.

  5. Inicie sesión en SAP Cloud Platform Identity Tenant Authentication, con su cuenta de administrador, y vaya a Aplicaciones y recursos> Aplicaciones.

    Navegación a aplicaciones

  6. Hacer clic Agregar agregue el proveedor de servicios según lo solicitado.

    Para configurar la confianza, seleccione la aplicación creada y vaya a Confianza> Configuración SAML 2.0.
    Agregar

  7. Cerca de Archivo de metadatos campo, haga clic en Navegar, seleccione el archivo de metadatos del proveedor de servicios para cargar y haga clic en Salvar.

    Navegar

  8. Vamos Atributos de identidad de nombre y seleccione Correo electrónico. Hacer clic Salvar.

    Esto guarda su configuración.

    Correo electrónico

  9. Para intercambiar los metadatos de IDP con el proveedor de servicios, debe descargar los metadatos en formato XML.

    En su navegador, ingrese la URL del IDP y agregue el sufijo:
    /saml2/metadata

    Agregar un sufijo

    Ejecute el enlace y guarde los metadatos en xml formato en la carpeta local.

    Guardar metadatos

  10. En SAP Cloud Platform Cockpit, vaya a Seguridad> Confianza y haga clic en el Proveedor de identificación de la aplicación pestaña.

    Luego haga clic en Agregue un proveedor de identidad confiable.

    Agregar un proveedor de identidad de confianza

  11. Cerca de Archivo de metadatos campo, haga clic en Navegar y seleccione los metadatos de IDP xml.

    Proveedor de identidad de confianza

    Cambiar el algoritmo de firma de SHA-1 a SHA-256.

  12. Seleccione el proveedor de identidad de confianza recién creado de forma predeterminada y haga clic en Salvar.

    Proveedor de identidad de confianza predeterminado

En este punto, puede verificar que todas las configuraciones se hayan realizado correctamente iniciando la aplicación web de muestra.

Si el navegador le redirige al IDP para ofrecer la página de inicio de sesión al usuario, entonces ha hecho todo bien.

Acceso

Esto completa la primera parte (Obtener token de aserción de portador SAML) de configurar un flujo OAuth de dos pies.

Hecho

Inicie sesión para responder la pregunta

Paso 3: Reemplace la señal de confirmación con la señal OAuth

La aplicación web de muestra que creó debe obtener el token de OAuth para acceder a los recursos protegidos en SAP Analytics Cloud, por lo que el administrador debe crear un cliente OAuth en el inquilino de SAP Analytics Cloud.

Para más información, ver Proveedores de identidad de confianza y administración de clientes OAuth.

Cree un nuevo cliente OAuth con un tipo de concesión

  1. Inicie sesión en SAP Analytics Cloud y, en el menú, seleccione Sistema> Administración.

    Escoger Integración de aplicaciones para administrar OAuth.

    Para crear un nuevo cliente OAuth, haga clic en Agregar nuevo cliente OAuth.

    Agregar nuevo cliente OAuth

  2. Ingrese el nombre de OAuth y el ID de cliente.

    I Subvención autorizada, Seleccione Credenciales de cliente.

    Ingrese el ciclo de vida y los detalles de las señales y haga clic en Salvar.

    Detalles del cliente OAuth

  3. Sobre el Integración de aplicaciones pestaña.

    Tenga en cuenta el punto final de la URL del token. Lo necesitarás más tarde.

    URL del token

Conserve la declaración de proveedor de identidad de confianza para SAML

También debe mantener el flujo de garantía de operador de proveedor de identidad de confianza para SAML para mantener la confianza entre SAP Cloud Platform y SAP Analytics Cloud para ejecutar la señal de garantía de operador de SAML.

  1. Inicie sesión en SAP Cloud Platform y vaya a Seguridad> Confianza.

    Copia la información de Certificado de firma campo para un proveedor de servicios local.

    Certificado de firma

  2. Inicie sesión en SAP Analytics Cloud y, en el menú, seleccione Sistema> Administración.

    Escoger Integración de aplicaciones para administrar OAuth.

    Para crear un nuevo proveedor de identidad de confianza, haga clic en Agregar un proveedor de identidad de confianza.

    Agregar un proveedor de identidad de confianza

  3. Ingrese el nombre, el nombre del proveedor y el certificado de firma.

    Ingrese el nombre del mismo proveedor que el especificado en SAP Cloud Platform y la información del certificado de firma que copió previamente.

    Guarde la configuración.

    Agregar un proveedor de identidad de confianza

  4. Proporcione una base confiable.

    Hacer clic Agregar una base confiable e ingrese el dominio de la aplicación web como Trusted Initiative.

    Fundación confiable

  5. Proporcione IDP personalizado dentro de SAP Analytics Cloud.

    Para obtener instrucciones sobre cómo hacer esto, consulte: Incruste la historia de SAP Analytics en la nube con URL API y SAML2 SSO basado en WSO2 Identity Server.

Cree un nuevo destino de conectividad en SAP Cloud Platform

Finalmente, debido a que la aplicación web de muestra consume API REST, debe crear un nuevo destino de conectividad en SAP Cloud Platform.

Puede utilizar el destino de conectividad para conectar la aplicación web de muestra a un servicio de Internet que, en este caso, será proporcionado por SAP Analytics Cloud.

  1. En SAP Cloud Platform Cockpit, vaya a Conectividad> Destinos.

    Hacer clic Nuevos destinos.

    Nuevos destinos

  2. Ingrese los siguientes detalles:

    • Método de autentificación: OAuth2SAMLBearerAssertion
    • URL: la URL de su inquilino de SAC
    • Clave de cliente: ID de cliente de OAuth creado anteriormente
    • URL del servicio de token: disponible en el sistema a través de Administración> Integración de aplicaciones pestaña.
    • Usuario del servicio de token: ID de cliente de OAuth
    • Contraseña del servicio de token: secreto de cliente OAuth

    Luego, para configurar algunas propiedades adicionales, haga clic en el Nueva propiedad botón. Es decir, agregue lo siguiente:

    • authnContextClassRef:urn:oasis:names:tc:SAML
    • TrustAll: verdadero

    Configuración de destino

  3. Hacer clic Salvar.

Verificar resultados

Antes de probar el flujo completo, recuerde configurar el navegador para que acepte cookies de SAP Analytics Cloud especificando la URL del inquilino en la sección Permitir cookies de la configuración del navegador.

  1. Se ha lanzado la aplicación.

  2. Una vez que la aplicación esté renderizada en el navegador, haga clic en Mis historias para mostrar SAP Analytics Cloud Story dentro del Iframe.

    Mis historias

El es Mis historias El mosaico de la interfaz de usuario envía un Data Master que contiene una lista de historias que el usuario está autorizado a ver. Una vez que se selecciona una historia de la lista, se puede hacer.

Resultados exitosos