Resource Access Management (RAM) es un servicio de Alibaba Cloud para gestionar identidades de usuarios y permisos de acceso a recursos. Security Token Service (STS) le permite administrar credenciales temporales para sus recursos de Apsara Stack. RAM permite crear y gestionar las siguientes identidades para cuentas de Alibaba Cloud: usuario RAM y rol RAM. Un rol RAM no posee credenciales de identidad permanentes. Este rol solo se puede usar para acceder a recursos de Apsara Stack mediante un token de STS. Al emitir un token de STS, puede especificar un periodo de validez y permisos de acceso específicos para dicho token.
Para obtener más información sobre las funciones y ventajas de RAM y STS, consulte What is RAM? y What is STS?.
Contexto
RAM y STS permiten otorgar permisos sin exponer el par de AccessKey de su cuenta de Alibaba Cloud. La filtración del par de AccessKey representa altos riesgos de seguridad. Los usuarios que obtienen el par de AccessKey de una cuenta de Alibaba Cloud pueden gestionar todos los recursos de la cuenta y robar información importante.
RAM es un servicio de control de acceso para gestionar permisos a largo plazo. El propietario de una cuenta de Alibaba Cloud puede crear varios usuarios RAM y otorgar diferentes permisos a cada uno. Los pares de AccessKey de los usuarios RAM deben mantenerse confidenciales. No obstante, si se filtra el par de AccessKey de un usuario RAM, solo se expone potencialmente información limitada. Los usuarios RAM tienen validez durante un periodo prolongado.
STS permite otorgar permisos temporales. Puede usar STS para obtener pares de AccessKey y tokens temporales. Estos pares de AccessKey y tokens temporales se pueden enviar a usuarios temporales para que accedan a recursos específicos. Los permisos obtenidos mediante STS están estrictamente restringidos y tienen periodos de validez definidos. Por lo tanto, STS minimiza el impacto de la filtración de información.
Para obtener más información sobre cómo usar RAM y STS, consulte Examples.
Términos
Antes de usar RAM y STS, se recomienda conocer los términos relevantes. Para obtener más información, consulte Terms for access control.
La relación entre los usuarios RAM y los roles RAM es similar a la relación entre las personas y sus identidades. Una persona puede tener varias identidades específicas para diferentes escenarios. Por ejemplo, alguien es empleado en el trabajo pero padre en casa. Cuando una persona asume una identidad, adquiere los permisos asociados a dicha identidad. Un rol RAM no es una entidad física, sino una identidad. Un rol RAM por sí solo no puede realizar operaciones. Debe asignar el rol RAM a un usuario para ejecutar los permisos del rol. Un rol RAM se puede asignar a varios usuarios.
Ejemplos
Para prevenir los riesgos de seguridad causados por la filtración del par de AccessKey de una cuenta de Alibaba Cloud, el administrador de la cuenta crea dos usuarios RAM: Usuario A y Usuario B. Se genera un par de AccessKey independiente para cada usuario RAM. El Usuario A tiene permisos de lectura y el Usuario B tiene permisos de escritura. El administrador puede revocar los permisos de los usuarios RAM en cualquier momento desde la consola de RAM.
Para cumplir con los requisitos del negocio, desea otorgar a los usuarios permisos temporales para acceder a la API de IoT Platform. En este caso, en lugar de divulgar el par de AccessKey del Usuario A, se recomienda crear un rol RAM, Rol C, y otorgarle permisos para acceder a la API de IoT Platform. Tenga en cuenta que el Rol C no se puede usar directamente porque no dispone de un par de AccessKey. El Rol C es solo una entidad virtual que posee los permisos para acceder a la API de IoT Platform.
Debe llamar a la operación AssumeRole de STS para obtener las credenciales de identidad temporales necesarias para acceder a la API de IoT Platform. Al llamar a la operación AssumeRole, establezca el parámetro RoleArn con el nombre de recurso de Alibaba Cloud (ARN) del Rol C. Si la llamada es exitosa, STS devuelve el AccessKey ID temporal, el AccessKey secret y el token como credenciales de identidad temporales. El periodo de validez de estas credenciales se puede especificar al llamar a la operación AssumeRole. Después de entregar estas credenciales a los usuarios, ellos podrán obtener los permisos temporales para acceder a la API de IoT Platform.
¿Por qué es tan complejo el uso de RAM y STS?
Los términos y el uso de RAM y STS son ligeramente complejos, pero garantizan la seguridad de la cuenta y un control de acceso flexible.
RAM permite crear usuarios RAM y roles RAM para separar las entidades que realizan operaciones de las entidades virtuales que definen un conjunto de permisos. Un usuario que necesita varios permisos, como los de lectura y escritura, podría usar solo uno a la vez. En este caso, puede crear dos roles RAM y otorgar permisos de lectura a uno y permisos de escritura al otro. Luego, cree un usuario RAM y asígnele ambos roles. Cuando el usuario RAM necesita permisos de lectura, asume el rol RAM correspondiente. Cuando necesita permisos de escritura, asume el rol RAM con dichos permisos. Esto reduce los riesgos de permisos excesivos. Además, puede asignar un rol RAM a otras cuentas de Alibaba Cloud y a otros usuarios RAM para facilitar la colaboración.
Use STS para implementar el control de acceso de manera más flexible. Por ejemplo, configure el periodo de validez de las credenciales. Si se requieren credenciales a largo plazo, use únicamente usuarios RAM.
Los siguientes temas proporcionan directrices y ejemplos sobre cómo usar RAM y STS. Para obtener información sobre el código de RAM y STS, consulte RAM API y STS API.