Habilitación del acceso de agente de identidad personalizado con una delegación
Si el IdP de su empresa no es compatible con SAML o OpenID Connect, puede crear un agente de identidad personalizado para habilitar el acceso a Huawei Cloud. Puede escribir y ejecutar código para generar una URL de inicio de sesión. Los usuarios de su empresa pueden usar la URL para iniciar sesión en Huawei Cloud. Los usuarios serán autenticados por su IdP de empresa.
Si su IdP empresarial es compatible con SAML u OpenID Connect, configure autenticación de identidad federada para permitir que los usuarios de su empresa accedan a Huawei Cloud a través de SSO.
Prerrequisitos
- Su empresa tiene un sistema de gestión empresarial.
- Ha registrado una cuenta (por ejemplo, DomainA) en Huawei Cloud como administrador empresarial y ha creado un grupo de usuarios (por ejemplo, GroupC) y le ha asignado el rol de Agent Operator. (Para obtener más información, consulte Creación de un grupo de usuarios y asignación de permisos.)
Procedimiento
- Utilice la cuenta DomainA para crear un usuario de IAM (por ejemplo, UserB) y agregar el usuario a GroupC siguiendo las instrucciones de Agregar usuarios a un grupo de usuarios.
Asegúrese de que el usuario de IAM pueda programmatically access a los servicios de Huawei Cloud. Para obtener más información sobre cómo cambiar el tipo de acceso, consulte Consulta o modificación de información de usuario de IAM.
- Configure la clave de acceso (recomendada) o el nombre de usuario y la contraseña de UserB en el archivo de configuración de su IdP de empresa para que el usuario pueda obtener un token para invocar a las API. Para la seguridad de la cuenta, cifre la contraseña y la clave de acceso antes de almacenarlos.
- En el panel de navegación de la consola de IAM, seleccione Agencies. A continuación, haga clic en Create Agency en la esquina superior derecha.
- Establezca los parámetros de la agencia.
Por ejemplo, establezca el nombre de la agencia en testagency, el tipo de agencia en Account y la cuenta delegada en DomainA. Establezca el período de validez y haga clic en Next.
Figura 1 Creación de una delegación
- Establezca el ámbito de autorización y seleccione los permisos que desea conceder a la delegación.
- En el IdP de empresa, cree un grupo de usuarios llamado testagency (igual que el nombre de la agencia creada en 4), agregue usuarios de empresa al grupo y conceda a los usuarios permisos para iniciar sesión en Huawei Cloud a través de un agente de identidad personalizado. Para obtener más información, consulte la documentación del IdP empresarial.
- Después de que un usuario de empresa inicie sesión en el sistema de gestión de empresa, el usuario puede acceder al agente de identidad personalizado del IdP de empresa seleccionando una agencia de la lista de agencias. El usuario puede obtener la agencia del administrador de seguridad o del usuario root. Para obtener más información, consulte la documentación del sistema de gestión empresarial.
Las agencias del agente de identidad deben existir en Huawei Cloud y tener los mismos nombres que algunos grupos de usuarios creados en el IdP empresarial.
- El agente de identidad personalizado utiliza el token de userB para llamar a la API POST /v3.0/OS-CREDENTIAL/securitytokens usados para obtener un securityToken temporal. Para obtener más información, consulte Obtención de una clave de acceso temporal y SecurityToken a través de una delegación.
Cuando obtenga un securityToken con una agencia, establezca el parámetro session_user.name en el cuerpo de la solicitud.
- El agente de identidad personalizado utiliza la clave de acceso temporal, securityToken y el nombre de dominio global de IAM () para invocar a la API POST /v3.0/OS-AUTH/securitytoken/logintokens para obtener un loginToken. El valor de X-Subject-LoginToken en el encabezado de respuesta es un loginToken. Para obtener más información, consulte Obtención de un LoginToken.
- Para obtener un loginToken invocando a la API POST /v3.0/OS-AUTH/securitytoken/logintokens, utilice el nombre de dominio global () de IAM.
- Un loginToken se emite a un usuario para iniciar sesión a través de un agente de identidad personalizado y contiene información de identidad y sesión sobre el usuario. Un loginToken es válido durante 10 minutos por defecto. Las LoginTokens son necesarias para la autenticación cuando los usuarios inician sesión en una consola de servicio con el FederationProxyUrl.
- Puede establecer el período de validez de un loginToken mediante invocación a la API POST /v3.0/OS-AUTH/securitytoken/logintokens. El período de validez oscila entre 10 minutos y 12 horas. Si el valor especificado es mayor que el período de validez restante del SecurityToken temporal, se utiliza el período de validez restante del SecurityToken temporal.
- El agente de identidad personalizado genera un FederationProxyUrl y lo devuelve al navegador a través de Location. El FederationProxyUrl tendrá el siguiente formato:
https:///authui/federation/login?idp_login_url={enterprise_system_loginURL}&service={console_service_region_url}&logintoken={logintoken}
Ejemplo:
https:///authui/federation/login?idp_login_url=https%3A%2F%2Fexample.com&service=https%3a%2f%2f%2fapm%2f%3fregion%3dcn-north-4%23%2fapm%2fatps%2ftopology&logintoken=******
Tabla 1 Descripción del parámetro Parámetro
Descripción
idp_login_url
URL de inicio de sesión del sistema de gestión empresarial.
service
Dirección de acceso de un servicio Huawei Cloud.
logintoken
LoginToken del agente de identidad personalizado.
Para obtener más información sobre cómo crear un FederationProxyUrl consulte el ejemplo proporcionado en Creación de un FederationProxyUrl mediante una agencia.
El FederationProxyUrl contiene el loginToken que se ha obtenido de IAM, y está codificado por ciento.
- Si el loginToken se autentica correctamente, los usuarios federados serán redirigidos automáticamente a la dirección de servicio de Huawei Cloud especificada en el parámetro de service.
Si el loginToken no se autentica, los usuarios serán redirigidos a la dirección especificada en idp_login_url.