Administración de usuarios de IAM - AWS SDK for JavaScript

LaAWS SDK for JavaScript versión 3 (v3) es una reescritura de la versión 2 con algunas funciones nuevas y excelentes, incluida la arquitectura modular. Para obtener más información, consulte la Guía para desarrolladores de la versiónAWS SDK for JavaScript 3.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Administración de usuarios de IAM

JavaScript code example that applies to Node.js execution

Este ejemplo de código de Node.js muestra:

  • Cómo recuperar una lista de usuarios de IAM.

  • Cómo crear y eliminar usuarios.

  • Cómo actualizar un nombre de usuario.

El escenario

En este ejemplo se van a utilizar una serie de módulos de Node.js para crear y administrar usuarios en IAM. Los módulos Node.js utilizan el SDK paraJavaScriptpara crear, eliminar y actualizar usuarios mediante estos métodos delAWS.IAMclase del cliente:

Para obtener más información acerca de los usuarios de IAM, consulte.Usuarios de IAMen laIAM User Guide.

Tareas previas necesarias

Para configurar y ejecutar este ejemplo, primero debe completar estas tareas:

Crear un usuario

Cree un módulo de Node.js con el nombre de archivo iam_createuser.js. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para acceder a IAM, cree unAWS.IAMobjeto de servicio. Cree un objeto JSON que contenga los parámetros necesarios y que consista en el nombre de usuario que desea usar para el nuevo usuario como un parámetro de línea de comandos.

Llame al método getUser del objeto de servicio AWS.IAM para ver si el nombre de usuario ya existe. Si el nombre de usuario no existe, llame al método createUser para crearlo. Si el nombre ya existe, escriba un mensaje a tal efecto a la consola.

// Load the AWS SDK for Node.js var AWS = require('aws-sdk'); // Set the region AWS.config.update({region: 'REGION'}); // Create the IAM service object var iam = new AWS.IAM({apiVersion: '2010-05-08'}); var params = { UserName: process.argv[2] }; iam.getUser(params, function(err, data) { if (err && err.code === 'NoSuchEntity') { iam.createUser(params, function(err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } }); } else { console.log("User " + process.argv[2] + " already exists", data.User.UserId); } });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

node iam_createuser.js USER_NAME

Este código de muestra se puede encontraraquí enGitHub.

Generación de una lista de usuarios en su cuenta

Cree un módulo de Node.js con el nombre de archivo iam_listusers.js. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para acceder a IAM, cree unAWS.IAMobjeto de servicio. Cree un objeto JSON que contenga los parámetros necesarios para generar una lista de sus usuarios y limite el número de resultados devueltos estableciendo el parámetro MaxItems en 10. Llame al método listUsers del objeto de servicio de AWS.IAM. Escriba el primer nombre de usuario y la fecha de creación en la consola.

// Load the AWS SDK for Node.js var AWS = require('aws-sdk'); // Set the region AWS.config.update({region: 'REGION'}); // Create the IAM service object var iam = new AWS.IAM({apiVersion: '2010-05-08'}); var params = { MaxItems: 10 }; iam.listUsers(params, function(err, data) { if (err) { console.log("Error", err); } else { var users = data.Users || []; users.forEach(function(user) { console.log("User " + user.UserName + " created", user.CreateDate); }); } });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

node iam_listusers.js

Este código de muestra se puede encontraraquí enGitHub.

Actualización de un nombre de un usuario

Cree un módulo de Node.js con el nombre de archivo iam_updateuser.js. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para acceder a IAM, cree unAWS.IAMobjeto de servicio. Cree un objeto JSON que contenga los parámetros necesarios para generar una lista de sus usuarios y especifique los nombres de usuario actual y nuevo como parámetros de línea de comandos. Llame al método updateUser del objeto de servicio de AWS.IAM.

// Load the AWS SDK for Node.js var AWS = require('aws-sdk'); // Set the region AWS.config.update({region: 'REGION'}); // Create the IAM service object var iam = new AWS.IAM({apiVersion: '2010-05-08'}); var params = { UserName: process.argv[2], NewUserName: process.argv[3] }; iam.updateUser(params, function(err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos; especifique el nombre de usuario actual seguido del nuevo nombre de usuario.

node iam_updateuser.js ORIGINAL_USERNAME NEW_USERNAME

Este código de muestra se puede encontraraquí enGitHub.

Eliminar un usuario

Cree un módulo de Node.js con el nombre de archivo iam_deleteuser.js. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para acceder a IAM, cree unAWS.IAMobjeto de servicio. Cree un objeto JSON que contenga los parámetros necesarios y que consista en el nombre de usuario que desea eliminar como un parámetro de línea de comandos.

Llame al método getUser del objeto de servicio AWS.IAM para ver si el nombre de usuario ya existe. Si el nombre de usuario no existe, escriba un mensaje a tal efecto a la consola. Si el usuario existe, llame al método deleteUser para eliminarlo.

// Load the AWS SDK for Node.js var AWS = require('aws-sdk'); // Set the region AWS.config.update({region: 'REGION'}); // Create the IAM service object var iam = new AWS.IAM({apiVersion: '2010-05-08'}); var params = { UserName: process.argv[2] }; iam.getUser(params, function(err, data) { if (err && err.code === 'NoSuchEntity') { console.log("User " + process.argv[2] + " does not exist."); } else { iam.deleteUser(params, function(err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } }); } });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

node iam_deleteuser.js USER_NAME

Este código de muestra se puede encontraraquí enGitHub.