곧 AWS SDK for JavaScript(v2)에 대한 지원이 종료될 예정임을 알려드립니다
IAM 액세스 키 관리
이 Node.js 코드 예제는 다음을 보여 줍니다.
사용자의 액세스 키를 관리하는 방법.
시나리오
사용자가 SDK for JavaScript에서 AWS를 프로그래밍 방식으로 호출하려면 사용자 고유의 액세스 키가 필요합니다. 이 요구를 충족하기 위해 IAM 사용자에 대한 액세스 키(액세스 키 ID 및 보안 액세스 키)를 생성, 수정, 확인 또는 교체할 수 있습니다. 기본적으로 액세스 키를 생성할 때 액세스 키의 상태는 Active
이므로 사용자는 액세스 키를 API 호출에 사용할 수 있습니다.
이 예제에서는 일련의 Node.js 모듈을 사용하여 IAM에서 액세스 키를 관리합니다. Node.js 모듈은 SDK for JavaScript로 AWS.IAM
클라이언트 클래스의 다음 메서드를 사용하여 IAM 액세스 키를 관리합니다.
IAM 액세스 키에 대한 자세한 내용은 IAM 사용 설명서의 액세스 키를 참조하세요.
사전 필수 작업
이 예제를 설정하고 실행하려면 먼저 이러한 작업들을 완료해야 합니다.
Node.js를 설치합니다. Node.js 설치에 대한 자세한 내용은 Node.js 웹 사이트
를 참조하세요. 사용자 자격 증명을 사용하여 공유 구성 파일을 생성합니다. 공유 자격 증명 파일 제공에 대한 자세한 내용은 공유 인증 자격 증명 파일에서 Node.js에 인증 자격 증명 로드 섹션을 참조하세요.
사용자를 위한 액세스 키 생성
파일 이름이 iam_createaccesskeys.js
인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. IAM에 액세스하려면 AWS.IAM
서비스 객체를 생성합니다. 새 액세스 키를 생성하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이 객체에는 IAM 사용자의 이름이 포함됩니다. AWS.IAM
서비스 객체의 createAccessKey
메서드를 호출합니다.
// 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" });
iam.createAccessKey({ UserName: "IAM_USER_NAME" }, function (err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data.AccessKey);
}
});
예제를 실행하려면 명령줄에서 다음을 입력합니다. 한 번만 제공할 수 있는 보안 키를 잃어버리지 않도록 반환된 데이터를 텍스트 파일에 파이프해야 합니다.
node iam_createaccesskeys.js >
newuserkeys.txt
이 샘플 코드는 GitHub
사용자의 액세스 키 목록 표시
파일 이름이 iam_listaccesskeys.js
인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. IAM에 액세스하려면 AWS.IAM
서비스 객체를 생성합니다. 사용자의 액세스 키를 검색하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이 객체에는 IAM 사용자의 이름과 목록에 표시할 액세스 키 페어의 최대 수(선택 사항)가 포함됩니다. AWS.IAM
서비스 객체의 listAccessKeys
메서드를 호출합니다.
// 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: 5,
UserName: "IAM_USER_NAME",
};
iam.listAccessKeys(params, function (err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data);
}
});
예제를 실행하려면 명령줄에서 다음을 입력합니다.
node iam_listaccesskeys.js
이 샘플 코드는 GitHub
액세스 키의 최종 사용 가져오기
파일 이름이 iam_accesskeylastused.js
인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. IAM에 액세스하려면 AWS.IAM
서비스 객체를 생성합니다. 새 액세스 키를 생성하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이 객체에는 최종 사용 정보가 필요한 액세스 키 ID가 포함됩니다. AWS.IAM
서비스 객체의 getAccessKeyLastUsed
메서드를 호출합니다.
// 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" });
iam.getAccessKeyLastUsed(
{ AccessKeyId: "ACCESS_KEY_ID" },
function (err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data.AccessKeyLastUsed);
}
}
);
예제를 실행하려면 명령줄에서 다음을 입력합니다.
node iam_accesskeylastused.js
이 샘플 코드는 GitHub
액세스 키 상태 업데이트
파일 이름이 iam_updateaccesskey.js
인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. IAM에 액세스하려면 AWS.IAM
서비스 객체를 생성합니다. 액세스 키의 상태를 업데이트하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이 객체에는 액세스 키 ID와 업데이트된 상태가 포함됩니다. 상태는 Active
또는 Inactive
일 수 있습니다. AWS.IAM
서비스 객체의 updateAccessKey
메서드를 호출합니다.
// 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 = {
AccessKeyId: "ACCESS_KEY_ID",
Status: "Active",
UserName: "USER_NAME",
};
iam.updateAccessKey(params, function (err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data);
}
});
예제를 실행하려면 명령줄에서 다음을 입력합니다.
node iam_updateaccesskey.js
이 샘플 코드는 GitHub
액세스 키 삭제
파일 이름이 iam_deleteaccesskey.js
인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. IAM에 액세스하려면 AWS.IAM
서비스 객체를 생성합니다. 액세스 키를 삭제하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이 객체에는 액세스 키 ID와 사용자의 이름이 포함됩니다. AWS.IAM
서비스 객체의 deleteAccessKey
메서드를 호출합니다.
// 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 = {
AccessKeyId: "ACCESS_KEY_ID",
UserName: "USER_NAME",
};
iam.deleteAccessKey(params, function (err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data);
}
});
예제를 실행하려면 명령줄에서 다음을 입력합니다.
node iam_deleteaccesskey.js
이 샘플 코드는 GitHub