IAM 사용자 관리 - AWS SDK for JavaScript

곧 AWS SDK for JavaScript(v2)에 대한 지원이 종료될 예정임을 알려드립니다. AWS SDK for JavaScript v3로 마이그레이션하실 것을 권장합니다. 마이그레이션 날짜, 추가 세부 정보 및 방법에 대한 자세한 내용은 링크된 공지 사항을 참조하세요.

IAM 사용자 관리

JavaScript code example that applies to Node.js execution

이 Node.js 코드 예제는 다음을 보여 줍니다.

  • IAM 사용자 목록을 검색하는 방법

  • 사용자를 생성하고 삭제하는 방법.

  • 사용자 이름을 업데이트하는 방법.

시나리오

이 예제에서는 일련의 Node.js 모듈을 사용하여 IAM에서 사용자를 생성하고 관리합니다. Node.js 모듈은 SDK for JavaScript로 AWS.IAM 클라이언트 클래스의 다음 메서드를 사용하여 사용자를 생성, 삭제 및 업데이트합니다.

IAM 사용자에 대한 자세한 내용은 IAM 사용 설명서IAM 사용자 섹션을 참조하세요.

사전 필수 작업

이 예제를 설정하고 실행하려면 먼저 이러한 작업들을 완료해야 합니다.

사용자 생성

파일 이름이 iam_createuser.js인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. IAM에 액세스하려면 AWS.IAM 서비스 객체를 생성합니다. 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이 객체에는 새 사용자에 사용하려는 사용자 이름이 명령줄 파라미터로 포함됩니다.

사용자 이름이 이미 있는 경우 AWS.IAM 서비스 객체의 getUser메서드를 호출합니다. 사용자 이름이 현재 없는 경우 createUser 메서드를 호출하여 사용자 이름을 생성합니다. 이름이 이미 있는 경우에는 그런 취지의 메시지를 콘솔에 표시합니다.

// 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 ); } });

예제를 실행하려면 명령줄에서 다음을 입력합니다.

node iam_createuser.js USER_NAME

이 샘플 코드는 GitHub에서 찾을 수 있습니다.

계정의 사용자 목록 표시

파일 이름이 iam_listusers.js인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. IAM에 액세스하려면 AWS.IAM 서비스 객체를 생성합니다. 사용자 목록을 표시하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이 예제에서는 MaxItems 파라미터를 10으로 설정하여 반환되는 수를 제한합니다. AWS.IAM 서비스 객체의 listUsers 메서드를 호출합니다. 첫 번째 사용자의 이름과 생성 날짜를 콘솔에 씁니다.

// 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); }); } });

예제를 실행하려면 명령줄에서 다음을 입력합니다.

node iam_listusers.js

이 샘플 코드는 GitHub에서 찾을 수 있습니다.

사용자 이름 업데이트

파일 이름이 iam_updateuser.js인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. IAM에 액세스하려면 AWS.IAM 서비스 객체를 생성합니다. 사용자 목룍을 표시하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성하고, 현재 및 새 사용자 이름을 모두 명령줄 파라미터로 지정합니다. AWS.IAM 서비스 객체의 updateUser 메서드를 호출합니다.

// 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); } });

예제를 실행하려면 사용자의 현재 이름을 지정한 다음 새 사용자 이름을 지정하여 명령줄에 다음을 입력합니다.

node iam_updateuser.js ORIGINAL_USERNAME NEW_USERNAME

이 샘플 코드는 GitHub에서 찾을 수 있습니다.

사용자 삭제

파일 이름이 iam_deleteuser.js인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. IAM에 액세스하려면 AWS.IAM 서비스 객체를 생성합니다. 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이 객체에는 삭제하려는 사용자 이름이 명령줄 파라미터로 포함됩니다.

사용자 이름이 이미 있는 경우 AWS.IAM 서비스 객체의 getUser메서드를 호출합니다. 사용자 이름이 없는 경우 이를 알리는 메시지를 콘솔에 씁니다. 사용자가 있는 경우 deleteUser 메서드를 호출하여 사용자를 삭제합니다.

// 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); } }); } });

예제를 실행하려면 명령줄에서 다음을 입력합니다.

node iam_deleteuser.js USER_NAME

이 샘플 코드는 GitHub에서 찾을 수 있습니다.