Generar credenciales de servicio

La generación de credenciales del servicio se divide en dos pasos:

  1. Una creación de cuenta técnica única por parte de un administrador de organización de IMS de Adobe
  2. La descarga y el uso de las credenciales de servicio JSON de la cuenta técnica

Crear una cuenta técnica

Las credenciales del servicio, a diferencia de los tokens de acceso de desarrollo local, requieren que un administrador de IMS de organización de Adobe cree una cuenta técnica para poder descargarlas. Se deben crear cuentas técnicas discretas para cada cliente que requiera acceso programático a AEM.

Crear una cuenta técnica

Las cuentas técnicas se crean una vez, pero las claves privadas que se utilizan para administrar las credenciales de servicio asociadas con la cuenta técnica se pueden administrar a lo largo del tiempo. Por ejemplo, se deben generar nuevas credenciales de clave privada/servicio antes de la caducidad de la clave privada actual para permitir el acceso ininterrumpido de un usuario de las credenciales de servicio.

  1. Asegúrese de haber iniciado sesión como:

    • Administrador del sistema de la organización IMS de Adobe
    • Miembro del perfil de producto Administradores de AEM IMS en Autor de AEM
  2. Inicie sesión en Adobe Cloud Manager

  3. Abra el programa que contiene el entorno de AEM as a Cloud Service para integrar y configurar las credenciales de servicio de

  4. Pulse los puntos suspensivos junto al entorno en la sección Entornos y seleccione Developer Console

  5. Pulse en la ficha Integraciones

  6. Pulse la pestaña Cuentas técnicas

  7. Pulse Crear nueva cuenta técnica botón

  8. Las credenciales de servicio de la cuenta técnica se inicializan y se muestran como JSON

AEM Developer Console - Integraciones - Obtener credenciales de servicio

Una vez inicializadas las credenciales de servicio del entorno de AEM as a Cloud Service, otros desarrolladores de AEM de su organización de IMS de Adobe pueden descargarlas.

Descargar credenciales del servicio

Descargar credenciales de servicio

La descarga de las credenciales del servicio sigue los pasos similares a los de la inicialización.

  1. Asegúrese de haber iniciado sesión como:

    • Administrador de organización de Adobe IMS
    • Miembro del perfil de producto Administradores de AEM IMS en Autor de AEM
  2. Inicie sesión en Adobe Cloud Manager

  3. Abra el programa que contiene el entorno de AEM as a Cloud Service con el que desea integrarse

  4. Pulse los puntos suspensivos junto al entorno en la sección Entornos y seleccione Developer Console

  5. Pulse en la ficha Integraciones

  6. Pulse la pestaña Cuentas técnicas

  7. Expanda Cuenta técnica para usar

  8. Expanda la clave privada cuyas credenciales de servicio se descargarán y compruebe que el estado es Activo

  9. Pulse > Ver asociado con la clave privada, que muestra el JSON de credenciales de servicio

  10. Pulse el botón de descarga en la esquina superior izquierda para descargar el archivo JSON que contiene el valor de credenciales de servicio y guarde el archivo en una ubicación segura

Instalar las credenciales del servicio

Las credenciales del servicio proporcionan los detalles necesarios para generar un JWT, que se intercambia por un token de acceso utilizado para autenticarse con AEM as a Cloud Service. Las credenciales del servicio deben almacenarse en una ubicación segura a la que puedan acceder las aplicaciones, los sistemas o los servicios externos que la utilizan para acceder a AEM. El modo y el lugar en que se administran las credenciales del servicio son únicos para cada cliente.

Para simplificar, este tutorial pasa las credenciales de servicio en a través de la línea de comandos. Sin embargo, trabaje con su equipo de seguridad de TI para comprender cómo almacenar y acceder a estas credenciales de acuerdo con las directrices de seguridad de su organización.

  1. Copie descargó las credenciales de servicio JSON en un archivo de nombre service_token.json en la raíz del proyecto
    • Recuerde, ¡nunca confirme ninguna credencial a Git!

Usar credenciales de servicio

Las credenciales del servicio, un objeto JSON completamente formado, no son las mismas que el JWT ni el token de acceso. En su lugar, las credenciales del servicio (que contienen una clave privada) se utilizan para generar un JWT, que se intercambia con las API de IMS de Adobe por un token de acceso.

Credenciales de servicio - Aplicación externa

  1. Descargue las credenciales del servicio de AEM Developer Console en una ubicación segura
  2. La aplicación externa debe interactuar mediante programación con el entorno de AEM as a Cloud Service
  3. La aplicación externa lee las credenciales del servicio desde una ubicación segura
  4. La aplicación externa utiliza la información de las credenciales del servicio para construir un token JWT
  5. El token JWT se envía a Adobe IMS a cambio de un token de acceso
  6. Adobe IMS devuelve un token de acceso que puede utilizarse para acceder a AEM as a Cloud Service
    • Los tokens de acceso no pueden cambiar una hora de caducidad.
  7. La aplicación externa realiza solicitudes HTTP a AEM as a Cloud Service y agrega el token de acceso como token de portador al encabezado de autorización de las solicitudes HTTP
  8. AEM as a Cloud Service recibe la solicitud HTTP, autentica la solicitud, realiza el trabajo solicitado por la solicitud HTTP y devuelve una respuesta HTTP de nuevo a la aplicación externa

Actualizaciones de la aplicación externa

Para acceder a AEM as a Cloud Service mediante las credenciales del servicio, la aplicación externa debe actualizarse de tres formas:

  1. Leer en las credenciales del servicio
  • Para simplificar, las credenciales del servicio se leen desde el archivo JSON descargado; sin embargo, en situaciones de uso real, las credenciales del servicio deben almacenarse de forma segura de acuerdo con las directrices de seguridad de su organización
  1. Generar un JWT a partir de las credenciales de servicio
  2. Intercambio del JWT por un token de acceso
  • Cuando hay credenciales de servicio, la aplicación externa utiliza este token de acceso en lugar del token de acceso de desarrollo local al acceder a AEM as a Cloud Service

En este tutorial, se utiliza el módulo npm de @adobe/jwt-auth de Adobe para: (1) generar el JWT a partir de las credenciales del servicio y (2) cambiarlo por un token de acceso, en una sola llamada de función. Si su aplicación no está basada en JavaScript, revise el código de ejemplo en otros idiomas para ver cómo crear un JWT a partir de las credenciales del servicio y cámbielo por un token de acceso con Adobe IMS.

Leer las credenciales del servicio

Revise getCommandLineParams() para ver cómo se lee el archivo JSON de credenciales de servicio utilizando el mismo código utilizado para leer en el JSON del token de acceso de desarrollo local.

function getCommandLineParams() {
    ...

    // Read in the credentials from the provided JSON file
    // Since both the Local Development Access Token and Service Credentials files are JSON, this same approach can be re-used
    if (parameters.file) {
        parameters.developerConsoleCredentials = JSON.parse(fs.readFileSync(parameters.file));
    }

    ...
    return parameters;
}