곧 AWS SDK for JavaScript(v2)에 대한 지원이 종료될 예정임을 알려드립니다
IAM 사용자 관리
이 Node.js 코드 예제는 다음을 보여 줍니다.
IAM 사용자 목록을 검색하는 방법
사용자를 생성하고 삭제하는 방법.
사용자 이름을 업데이트하는 방법.
시나리오
이 예제에서는 일련의 Node.js 모듈을 사용하여 IAM에서 사용자를 생성하고 관리합니다. Node.js 모듈은 SDK for JavaScript로 AWS.IAM
클라이언트 클래스의 다음 메서드를 사용하여 사용자를 생성, 삭제 및 업데이트합니다.
IAM 사용자에 대한 자세한 내용은 IAM 사용 설명서의 IAM 사용자 섹션을 참조하세요.
사전 필수 작업
이 예제를 설정하고 실행하려면 먼저 이러한 작업들을 완료해야 합니다.
Node.js를 설치합니다. Node.js 설치에 대한 자세한 내용은 Node.js 웹 사이트
를 참조하세요. 사용자 자격 증명을 사용하여 공유 구성 파일을 생성합니다. 공유 자격 증명 파일 제공에 대한 자세한 내용은 공유 인증 자격 증명 파일에서 Node.js에 인증 자격 증명 로드 섹션을 참조하세요.
사용자 생성
파일 이름이 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