Utilización de credenciales de servicio para autenticar aplicaciones cliente

Las aplicaciones cliente pueden utilizar la autenticación básica para acceder al entorno de nube. Para este tipo de autenticación, las aplicaciones cliente utilizan credenciales de servicio para autenticar el acceso.

Antes de empezar:
  • La aplicación cliente requiere credenciales de servicio (ID funcional y contraseña) para autenticarse con las API de operaciones en la nube y las API proporcionadas por las prestaciones, por ejemplo, las API de Business Automation Workflow . El administrador de cuentas es responsable de proporcionarle las credenciales de servicio que necesita para la aplicación cliente.
  • La política de renovación de contraseñas de la empresa determina la frecuencia con la que el administrador de la cuenta cambia las contraseñas de las cuentas. Para asegurarse de que las aplicaciones aún pueden acceder al entorno de nube tras cambiar las credenciales de servicio, considere la posibilidad de aplicar un esquema de rotación de credenciales para asegurarse de durante un tiempo son válidas tanto las viejas como las nuevas. En un esquema de este tipo, el tiempo de ejecución de cliente influye en la longitud del período de solapamiento. Por ejemplo, si el cliente regularmente lee las credenciales de servicio del entorno de nube, el tiempo entre cada lectura debe ser inferior al período de solapamiento. Y a la inversa, si el cliente lee las credenciales sólo cuando se inicia el servidor, el período de solapamiento debe ser mayor que el tiempo de ejecución de cliente. Póngase de acuerdo con el administrador de cuentas para determinar un valor para el período de solapamiento que sea adecuado para su aplicación cliente.
Para obtener más información sobre las credenciales de servicio, consulte Creación y gestión de cuentas de servicio.
Siga los procedimientos recomendados siguientes para autenticar la aplicación cliente.
Leer las credenciales de servicio.
No incluya las credenciales de servicio en el código de la aplicación. En vez de eso, léalas, por ejemplo, de un archivo de configuración o una caja fuerte de credenciales y utilícelas para construir la cabecera de autorización para la autenticación básica de las llamadas de API.
Importante: Cuando las aplicaciones cliente interactúan con IBM® Cloud Pak for Business Automation as a Service, es posible que reciban un conjunto de cookies. Para evitar la degradación del tiempo de respuesta, incluya cookies válidas en las llamadas posteriores además de la cabecera de autorización para la autenticación básica.
Detectar los accesos denegados a la suscripción en la nube debidos a la ausencia de credenciales de inicio de sesión o unas credenciales no válidas.
El acceso de la aplicación cliente a la suscripción en la nube se rechaza cuando el ID funcional, la contraseña o ambas cosas no son válidas. Además, si una aplicación intenta iniciar sesión repetidamente en la suscripción con una contraseña incorrecta, es posible que el sistema bloquee la cuenta.
Para detectar el acceso rechazado, añada una comprobación en su aplicación para el código de estado HTTP 302, que IBM Cloud Pak for Business Automation as a Service para redirigir a la página de inicio de sesión y enviar un mensaje de error. Si cree que la cuenta está bloqueada, espere a que venza el tiempo de bloqueo y reinicie el acceso de la aplicación cliente a la suscripción en la nube. Si cree que se ha rechazado el acceso debido a un ID funcional incorrecto, una contraseña incorrecta o ambas cosas, consulte al administrador de cuentas si las credenciales de servicio que está utilizando son válidas.
Importante: Si su aplicación utiliza una biblioteca de aplicaciones cliente HTTP, asegúrese de que la biblioteca no está configurada para seguir automáticamente las redirecciones de página.
Detectar una solicitud de API rechazada debido a que no se dispone de autorización para la llamada.
Su aplicación cliente puede contener tanto llamadas a API de operaciones en la nube como llamadas a IBM Cloud Pak for Business Automation as a Service. Cada tipo de API requiere su propia autorización.
Llamadas de API de operaciones en la nube
La cuenta de servicio utilizada por el cliente debe tener autorización para los entornos de nube en los que se ejecuta la aplicación. Es posible que la cuenta de servicio también necesite el rol Administrador de cuentas u Operador. Consulte al administrador de cuentas los permisos de que dispone la cuenta de servicio.
Llamadas a la API de IBM Cloud Pak for Business Automation as a Service
Es posible que la cuenta de servicio necesite permisos de grupo específicos de la prestación. Si su solicitud de API requiere privilegios de IBM Cloud Pak for Business Automation as a Service, compruebe con el administrador de su cuenta que la cuenta de servicio tiene el rol que necesita. E.g. Para autorizaciones de flujo de trabajo más precisas, como por ejemplo la autorización para asignaciones de tareas, consulte al administrador de flujo de trabajo cuál es la autorización necesaria y utilice las llamadas de API correspondientes en la aplicación. Para obtener más información sobre estas llamadas, consulte Control de autorización para llamadas de la API REST en tiempo de ejecución.
Para ambos tipos de solicitudes, añada una comprobación en el código de la aplicación cliente para el código de estado HTTP 401 Unauthorized.
Comparta credenciales de servicio entre suscripciones.
Si dispone de más de una suscripción a IBM Cloud Pak for Business Automation as a Service, las aplicaciones cliente pueden compartir credenciales de servicio entre suscripciones. Para compartir credenciales de servicio, utilice las credenciales de servicio y las operaciones de señal de importación que proporciona la API de Credentials. Todas las llamadas de API requieren que el emisor de llamada tenga el rol Administrador de cuentas. Para obtener más información, consulte las IBM Cloud Pak for Business Automation as a Service aPI de servicios de instancia en la referencia de API de operaciones en la nube.
  1. En una de sus suscripciones, cree un conjunto de credenciales de servicio utilizando la página Gestión de accesos del portal de nube o la API de Credentials.
  2. En la misma suscripción, utilice la API para crear una señal de importación de credenciales de servicio para autorizar la importación de credenciales de servicio en otras suscripciones.
  3. En las otras suscripciones ponga las credenciales de servicio a disposición de las aplicaciones cliente en esas suscripciones mediante la API para importar las credenciales en cada suscripción.
  4. En las otras suscripciones asigne los roles y los permisos que las credenciales de servicio necesitan para los escenarios de aplicación cliente mediante la página Gestión de acceso.
Si un conjunto de credenciales de servicio ya no necesita acceso a una suscripción, puede suprimirlas de la suscripción utilizando la página Gestión de accesos o la API de Credentials.