Acceso programático con credenciales de seguridad AWS
Cuando sea posible, recomendamos utilizar claves de acceso a corto plazo cuando sea posible para realizar llamadas programáticas a AWS o utilizar el AWS Command Line Interface o AWS Tools for PowerShell. Sin embargo, también puedes usar claves de acceso a largo plazo de AWS para estos fines.
Cuando crea una clave de acceso a largo plazo, crea el ID de clave de acceso (por ejemplo, AKIAIOSFODNN7EXAMPLE
) y la clave de acceso secreta (por ejemplo, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
) como un conjunto. La clave de acceso secreta solo está disponible para descarga en el momento en que se crea. Si no descarga su clave de acceso secreta o la pierde, tendrá que crear una nueva.
En muchos casos, no se requieren claves de acceso a largo plazo que nunca caducan (como cuando crea claves de acceso para un usuario de IAM). En su lugar, puede crear roles de IAM y generar credenciales de seguridad temporales. Las credenciales de seguridad temporales incluyen un ID de clave de acceso y una clave de acceso secreta, pero también incluyen un token de seguridad que indica cuándo caducan las credenciales. Después de caducar, ya no son válidas. Para obtener más información, consulte Alternativas para claves de acceso a largo plazo
Los ID de clave de acceso que comienzan por AKIA
son claves de acceso a largo plazo para un usuario de IAM o un usuario raíz de la Cuenta de AWS. Los ID de clave de acceso que comienzan por ASIA
son claves de acceso de credenciales temporales que se crean mediante operaciones de AWS STS.
Los usuarios necesitan acceso programático si desean interactuar con AWS fuera de la AWS Management Console. La forma de conceder el acceso programático depende del tipo de usuario que acceda a AWS.
Para conceder acceso programático a los usuarios, seleccione una de las siguientes opciones.
¿Qué usuario necesita acceso programático? | Para | Mediante |
---|---|---|
Identidad del personal (Usuarios administrados en el IAM Identity Center) |
Utilice credenciales temporales para firmar las solicitudes programáticas a la AWS CLI, los AWS SDK y las API de AWS. |
Siga las instrucciones de la interfaz que desea utilizar:
|
IAM | Utilice credenciales temporales para firmar las solicitudes programáticas a la AWS CLI, los AWS SDK y las API de AWS. | Siguiendo las instrucciones de Uso de credenciales temporales con recursos de AWS de la Guía del usuario de IAM. |
IAM | (No recomendado) Utilizar credenciales a largo plazo para firmar las solicitudes programáticas a la AWS CLI, los AWS SDK o las API de AWS. |
Siga las instrucciones de la interfaz que desea utilizar:
|
Alternativas para claves de acceso a largo plazo
Para muchos casos de uso comunes, existen alternativas a las claves de acceso a largo plazo. Para mejorar la seguridad de su cuenta, tenga en cuenta lo siguiente.
-
No inserte claves de acceso a largo plazo ni claves de acceso secretas en el código de la aplicación ni en un repositorio de códigos: en cambio, utilice AWS Secrets Manager u otra solución de administración de secretos para no tener que codificar las claves en texto sin formato. La aplicación o el cliente pueden entonces recuperar los secretos cuando sea necesario. Para obtener más información, consulte ¿Qué es AWS Secrets Manager? en la Guía del usuario de AWS Secrets Manager.
-
Utilice los roles de IAM para generar credenciales de seguridad temporales siempre que sea posible: utilice siempre mecanismos para emitir credenciales de seguridad temporales cuando sea posible, en lugar de claves de acceso a largo plazo. Las credenciales de seguridad temporales son más seguras porque no se almacenan con el usuario, sino que se generan de forma dinámica y se proporcionan al usuario cuando se solicitan. Las credenciales de seguridad temporales tienen una duración limitada, por lo que no es necesario administrarlas ni actualizarlas. Los mecanismos que proporcionan claves de acceso temporales incluyen los roles de IAM o la autenticación de un usuario del Centro de identidades de IAM. Para máquinas que se ejecuten fuera de AWS, puede utilizar AWS Identity and Access Management Roles Anywhere.
-
Utilice alternativas a las claves de acceso a largo plazo para la AWS Command Line Interface (AWS CLI) o
aws-shell
: las alternativas incluyen lo siguiente.-
AWS CloudShell es un intérprete de comandos previamente autenticado y basado en el navegador que puede lanzar directamente desde la AWS Management Console. Puede ejecutar comandos de la AWS CLI para los Servicios de AWS con su intérprete de comandos de preferencia (Bash, PowerShell o Z shell). Al hacerlo, no necesita descargar o instalar herramientas de línea de comandos. Para obtener más información, consulte ¿Qué es AWS CloudShell? en la Guía del usuario de AWS CloudShell.
-
Integración de AWS CLI versión 2 con AWS IAM Identity Center (Centro de identidades de IAM). Puede autenticar a los usuarios y proporcionar credenciales a corto plazo para ejecutar comandos de la AWS CLI. Para obtener más información, consulte Integración de la AWS CLI con el Centro de identidades de IAM en la Guía del usuario de AWS IAM Identity Center y Configuración de la AWS CLI para usar el Centro de identidades de IAM en la Guía del usuario de AWS Command Line Interface.
-
-
No cree claves de acceso a largo plazo para los usuarios humanos que necesiten acceder a las aplicaciones o a los Servicios de AWS: el Centro de identidades de IAM puede generar credenciales de acceso temporales para que los usuarios de proveedores de identidades externos accedan a los Servicios de AWS. De esta manera, no necesita crear y administrar credenciales a largo plazo en IAM. En el Centro de identidades de IAM, cree un conjunto de permisos del Centro de identidades de IAM que conceda acceso a los usuarios de proveedores de identidades externos. A continuación, asigne un grupo del Centro de identidades de IAM al conjunto de permisos de las Cuentas de AWS seleccionadas. Para obtener más información, consulte Qué es AWS IAM Identity Center, Conexión a un proveedor de identidad externo y Conjuntos de permisos en la Guía del usuario de AWS IAM Identity Center.
-
No almacene claves de acceso a largo plazo en un servicio de cómputos de AWS: en cambio, asigne un rol de IAM a los recursos de cómputo. Esto proporciona automáticamente credenciales temporales para conceder el acceso. Por ejemplo, al crear un perfil de instancia asociado a una instancia de Amazon EC2, puede asignar un rol de AWS a la instancia y ponerla a disposición de todas las aplicaciones. Un perfil de instancia contiene el rol y permite a los programas que se encuentran en ejecución en la instancia de Amazon EC2 obtener credenciales temporales. Para obtener más información, consulte Uso de un rol de IAM para conceder permisos a aplicaciones que se ejecutan en instancias de Amazon EC2.