Anunciamos
Administración de usuarios de IAM
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:
Instale Node.js. Para obtener más información acerca de la instalación de Node.js consulte el sitio web de Node.js
. Cree un archivo de configuraciones compartidas con sus credenciales de usuario. Para obtener más información acerca de cómo crear un archivo de credenciales compartidas, consulte Carga de credenciales en Node.js desde el archivo de credenciales compartidas.
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