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

Anunciamos el próximo fin del soporte para AWS SDK for JavaScript v2. Se recomienda que migre a AWS SDK for JavaScript v3. Para ver las fechas, los detalles adicionales y la información sobre cómo realizar la migración, consulte el anuncio enlazado.

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 de Node.js utilizan el SDK para JavaScript para crear, eliminar y actualizar usuarios mediante los métodos siguientes de la clase de cliente AWS.IAM:

Para obtener más información acerca de IAM, consulte Usuarios de IAM en la Guía del usuario de IAM.

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 obtener acceso a IAM, cree un objeto de servicio AWS.IAM. 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 ejemplo se puede encontrar aquí en GitHub.

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 obtener acceso a IAM, cree un objeto de servicio AWS.IAM. 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 ejemplo se puede encontrar aquí en GitHub.

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 obtener acceso a IAM, cree un objeto de servicio AWS.IAM. 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 ejemplo se puede encontrar aquí en GitHub.

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 obtener acceso a IAM, cree un objeto de servicio AWS.IAM. 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 ejemplo se puede encontrar aquí en GitHub.