공유 인증 자격 증명 파일에서 Node.js에 인증 자격 증명 로드 - AWS SDK for JavaScript

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

공유 인증 자격 증명 파일에서 Node.js에 인증 자격 증명 로드

SDK 및 명령줄 인터페이스에서 사용하는 공유 파일에 AWS 자격 증명 데이터를 보관할 수 있습니다. SDK for JavaScript가 로드되면 "credentials"라는 공유 자격 증명 파일이 자동으로 검색됩니다. 공유 인증 자격 증명 파일을 보관하는 위치는 운영 체제에 따라 다릅니다.

  • Linux, Unix 및 macOS의 공유 자격 증명 파일: ~/.aws/credentials

  • Windows의 공유 자격 증명 파일: C:\Users\USER_NAME\.aws\credentials

공유된 자격 증명 파일이 아직 없는 경우 AWS를 사용한 SDK 인증를 참조하세요. 이 지침을 따르면 자격 증명 파일에 다음과 유사한 텍스트가 표시되어야 합니다. 이 텍스트에서 <YOUR_ACCESS_KEY_ID>는 액세스 키 ID이고 <YOUR_SECRET_ACCESS_KEY>는 보안 액세스 키입니다.

[default] aws_access_key_id = <YOUR_ACCESS_KEY_ID> aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY>

사용 중인 이 파일을 보여주는 예제는 Node.js에서 시작하기를 참조하세요.

[default] 섹션 머리글은 인증 자격 증명의 기본 프로필 및 관련 값을 지정합니다. 동일한 공유 구성 파일에 각각 고유한 인증 자격 증명 정보가 있는 추가 프로필을 만들 수 있습니다. 다음 예제에서는 기본 프로필과 추가 프로필 두 개가 있는 구성 파일을 보여 줍니다.

[default] ; default profile aws_access_key_id = <DEFAULT_ACCESS_KEY_ID> aws_secret_access_key = <DEFAULT_SECRET_ACCESS_KEY> [personal-account] ; personal account profile aws_access_key_id = <PERSONAL_ACCESS_KEY_ID> aws_secret_access_key = <PERSONAL_SECRET_ACCESS_KEY> [work-account] ; work account profile aws_access_key_id = <WORK_ACCESS_KEY_ID> aws_secret_access_key = <WORK_SECRET_ACCESS_KEY>

기본적으로 SDK는 AWS_PROFILE 환경 변수를 확인하여 사용할 프로필을 결정합니다. 환경에서 AWS_PROFILE 변수가 설정되지 않은 경우, SDK는 [default] 프로필의 인증 자격 증명을 사용합니다. 대체 프로필 중 하나를 사용하려면 AWS_PROFILE 환경 변수의 값을 설정하거나 변경합니다. 예를 들어 위에 표시된 구성 파일을 통해 작업 계정의 자격 증명을 사용하려면 AWS_PROFILE 환경 변수를 work-account(운영 체제에 적합한 경우)로 설정합니다.

참고

환경 변수를 설정할 경우에는 셸 또는 명령 환경에서 변수를 사용할 수 있도록 (운영 체제의 필요에 따라) 나중에 적절한 조치를 취해야 합니다.

환경 변수를 설정한 후(필요한 경우) SDK를 사용하는 JavaScript 파일(예: script.js 파일)을 실행할 수 있습니다.

$ node script.js

다음 예제와 같이 인증 자격 증명 공급자를 선택하거나 SDK를 로드하기 전에 process.env.AWS_PROFILE을 설정하여 SDK에서 사용하는 프로필을 명시적으로 선택할 수도 있습니다.

var credentials = new AWS.SharedIniFileCredentials({profile: 'work-account'}); AWS.config.credentials = credentials;