Utilizar credenciales de larga duración para autenticar el SDK y las herramientas de AWS
aviso
Para evitar riesgos de seguridad, no utilice a los usuarios de IAM para la autenticación cuando desarrolle software especialmente diseñado o trabaje con datos reales. En cambio, utilice la federación con un proveedor de identidades como AWS IAM Identity Center.
Si utilizas un usuario de IAM para ejecutar tu código, el SDK o la herramienta de tu entorno de desarrollo se autentican utilizando credenciales de usuario de IAM de larga duración en el archivo compartido credentials de AWS. Revise Prácticas recomendadas de seguridad en IAM y pase al IAM Identity Center o a otras credenciales temporales lo antes posible.
Advertencias y directrices importantes para las credenciales
Advertencias para las credenciales
-
NO use las credenciales raíz de la cuenta para obtener acceso a los recursos de AWS. Estas credenciales proporcionan acceso ilimitado a la cuenta y son difíciles de revocar.
-
NO incluya claves de acceso literales ni información sobre credenciales en sus archivos de aplicación. Si lo hace, puede crear un riesgo de exposición accidental de sus credenciales si, por ejemplo, carga el proyecto en un repositorio público.
-
NO incluya archivos que contengan credenciales en el área de su proyecto.
-
Tenga en cuenta que las credenciales almacenadas en el archivo compartido
credentialsde AWS se almacenan en texto no cifrado.
Guía adicional para administrar las credenciales de forma segura
Para obtener una descripción general de cómo administrar de forma segura las credenciales de AWS, consulte Prácticas recomendadas para administrar las claves de acceso de AWS en Referencia general de AWS. Además de esa conversación, tenga en cuenta lo siguiente:
-
Use roles de IAM para tareas para tareas de Amazon Elastic Container Service (Amazon ECS).
-
Use roles de IAM para aplicaciones que se ejecutan en instancias de Amazon EC2.
Requisitos previos: crear una cuenta de AWS
Para usar un usuario de IAM para acceder a servicios de AWS, necesita una cuenta de AWS y credenciales de AWS.
-
Cree una cuenta.
Para crear una cuenta de AWS, consulte Introducción: ¿es la primera vez que usa AWS? en la Guía de referencia de AWS Account Management.
-
Crear un usuario administrativo.
Evite usar la cuenta de usuario raíz (la cuenta inicial que cree) para acceder a la consola y los servicios de administración. En su lugar, cree una cuenta de usuario administrativo, como se explica en Crear un usuario administrativo en la Guía del usuario de IAM.
Después de crear la cuenta de usuario administrativo y registrar los detalles de inicio de sesión, asegúrese de desconectar la cuenta de usuario raíz y vuelva a iniciar sesión con la cuenta administrativa.
Ninguna de estas cuentas es adecuada para desarrollar aplicaciones en AWS o ejecutarlas en AWS. Como buena práctica, debe crear usuarios, conjuntos de permisos o roles de servicio que sean adecuados para estas tareas. Para obtener más información, consulte Aplicar permisos de privilegio mínimo en la Guía del usuario de IAM.
Paso 1: Crear el usuario de IAM
-
Siga el procedimiento Creación de usuarios de IAM (consola) de la Guía del usuario de IAM para crear su usuario de IAM. Al crear su usuario de IAM:
-
Le recomendamos que seleccione Proporcionar acceso de usuario a Consola de administración de AWS. Esto le permite ver Servicios de AWS relacionados con el código que está ejecutando en un entorno visual, como comprobar los registros de diagnóstico de AWS CloudTrail o cargar archivos en Amazon Simple Storage Service, lo que resulta útil a la hora de depurar el código.
-
Para Establecer permisos - Opciones de permiso, elija Adjuntar políticas directamente para indicar cómo desea asignar permisos a este usuario.
-
La mayoría de los tutoriales del SDK “Introducción” utilizan el servicio Amazon S3 como ejemplo. Para proporcionar a su aplicación acceso completo a Amazon S3, seleccione la política
AmazonS3FullAccessque desea asociar a este usuario.
-
-
Puede ignorar los pasos opcionales de ese procedimiento relacionados con la configuración de los límites de permisos o etiquetas.
-
Paso 2: Obtener las claves de acceso
-
En el panel de navegación de la consola de IAM, seleccione Usuarios y, a continuación, seleccione el
User namedel usuario que creó anteriormente. -
En la página del usuario, selecciona la página Credenciales de seguridad. A continuación, en Claves de acceso, seleccione Crear clave de acceso.
-
Para el Paso 1 Crear clave de acceso, elija Interfaz de línea de comandos (CLI) o Código local. Ambas opciones generan el mismo tipo de clave para utilizarla tanto con el AWS CLI SDK como con los SDK.
-
En el paso 2 de Crear clave de acceso, introduzca una etiqueta opcional y seleccione Siguiente.
-
En el paso 3 de Crear clave de acceso, seleccione Descargar archivo.csv para guardar un archivo
.csvcon la clave de acceso y la clave de acceso secreta de su usuario de IAM. Necesitará esta información más tarde.aviso
Utilice las medidas de seguridad adecuadas para mantener estas credenciales seguras.
-
Seleccione Done (Listo).
Paso 3: Actualice el archivo compartido credentials
-
Cree o abra el archivo
credentialsde AWS compartido. Este archivo es~/.aws/credentialsen sistemas Linux y macOS y%USERPROFILE%\.aws\credentialsen Windows. Para obtener más información, consulte la ubicación de los archivos de credenciales. -
Agregue el siguiente texto al archivo
credentialscompartido. Sustituya el valor de ID y el valor clave de ejemplo por los valores del archivo.csvque descargó anteriormente.[default] aws_access_key_id =AKIAIOSFODNN7EXAMPLEaws_secret_access_key =wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY -
Guarde el archivo.
El archivo compartido credentials es la forma más común de almacenar las credenciales. También se pueden configurar como variables de entorno; consulte los nombres de las variables de entorno Claves de acceso de AWS. Esta es una forma de empezar, pero le recomendamos que haga la transición al IAM Identity Center o a otras credenciales temporales lo antes posible. Cuando deje de usar credenciales de larga duración, recuerde eliminarlas del archivo compartido credentials.