Amazon Web Services (AWS) es una plataforma en la nube que ofrece una amplia gama de servicios y herramientas para desarrolladores y empresas. Uno de los aspectos más importantes de AWS es la gestión de usuarios y permisos, que permite controlar el acceso a los recursos de la plataforma de acuerdo a las necesidades de cada proyecto.
En este artículo, explicaremos cómo configurar un usuario de AWS en un entorno de desarrollo local, utilizando las herramientas de línea de comandos de AWS (AWS CLI). Esto nos permitirá acceder a los recursos de AWS de manera segura y eficiente, sin necesidad de utilizar un navegador web.
En este artículo
Creando usuario de acceso programático
Para comenzar, crearemos el usuario que luego utilizaremos para configurar nuestro ambiente local, y con él poder acceder a los servicios de AWS. Accediendo a la consola de AWS, buscamos el servicio de IAM (Identity and Access Management):
Luego, da clic sobre “Users” en el menú lateral izquierdo, seguido de un clic sobre el botón “Add users” en la parte superior derecha.
En el siguiente formulario, se debe especificar el nombre del usuario, y el tipo de credenciales. Aquí es importante que el tipo de credencial sea de acceso programático.
En la sección de permiso, seleccionar la opción de políticas existentes, y seleccionar “AmazonS3FullAccess” en caso de querer un usuario que tenga permisos suficientes para administrar buckets y sus contenidos. En caso contrario, podrá explorar y encontrar la política más acorde a la necesidad.
Las etiquetas son de gran utilidad al momento de identificar y administrar usuario, por lo que su uso es recomendable de acuerdo a las políticas de uso del servicio que tenga la organización.
Finalmente, un resumen de la acción que se ejecutará: la creación de un usuario en AWS con permisos sobre S3.
Una vez creado el usuario, se nos mostrará su “Access key ID” y “Secret access key“. Es importante hacer uso de la opción de descarga de estos datos en formato CSV, pues en el siguiente paso, y posiblemente en un futuro, podrán ser requeridos para otras actividades.
Configurando usuario en entorno local
Instalación de AWSCLI
Haciendo uso del terminal de la máquina local, ejecutaremos “pip install awscli” para instalar la interfaz de línea de comandos de AWS. Como nota aclaratoria, PIP es el administrador de paquetes de Python, por lo que contar con Python instalado será necesario.
Creando archivos de configuración
Una vez instalado AWS CLI, ejecutaremos la línea “aws configure“, la cual nos pedirá los datos de acceso generados hace un momento: AWS access key ID y AWS secret access key, adicionalmente, nos pregunta sobre cuál será la región por defecto, así como el formato de salida predefinido de cada response.
Con esta acción estaremos creando dos archivos dentro de la ruta “~/.aws”, los cuales almacenan los datos ingresados a través de la consola. Estos archivos también podrás crearlos o actualizarlos de manera manual, sin hacer uso de AWSCLI.
Probando la conexión a S3
Finalmente, he escrito este corto trozo de código en Python, el cual se conecta a AWS S3 utilizando las credenciales previamente almacenadas en los archivos de configuración, y trae el listado de buckets existentes en la cuenta.
Nótese que el código importa la librería de boto3, por lo que para ejecutarlo, debe ejecutar “pip install boto3” en la terminal.
Notas finales
Es importante recordar que AWS CLI es una herramienta muy poderosa que nos permite interactuar con muchos servicios de AWS de manera programática. Por lo tanto, es importante ser cuidadosos al configurar los permisos del usuario y evitar otorgar accesos que no sean necesarios. En este ejercicio asignamos al usuario unos permisos bastante amplios, los cuales pueden no ser requeridos para el uso que se le piense dar a este; por lo que se recomienda revisar y asignar los estrictamente necesarios.
Este usuario podrá tener permisos para servicios distintos a S3, para ello se podrá modificar las políticas asignadas.
La librería boto3 cuenta con una documentación bastante amplia, que muestra como conectarse a otros servicios de AWS.
En resumen, la configuración de un usuario de AWS en un entorno de desarrollo local nos permite acceder a los recursos de la plataforma de manera segura y eficiente. AWS CLI es una herramienta clave para llevar a cabo esta configuración, y nos permite interactuar con AWS de manera programática.