장기 자격 증명을 사용하여 AWS SDK 및 도구 인증 - AWS SDK 및 도구

장기 자격 증명을 사용하여 AWS SDK 및 도구 인증

주의

보안 위험을 방지하려면 목적별 소프트웨어를 개발하거나 실제 데이터로 작업할 때 IAM 사용자를 인증에 사용하지 마세요. 대신 AWS IAM Identity Center과 같은 보안 인증 공급자를 통한 페더레이션을 사용하십시오.

IAM 사용자를 사용하여 코드를 실행하면 개발 환경의 SDK 또는 도구가 공유 AWS credentials 파일의 장기 IAM 사용자 보안 인증을 사용하여 인증합니다. IAM의 보안 모범 사례 주제를 검토하고 가능한 한 빨리 IAM Identity Center 또는 기타 임시 보안 인증으로 전환하십시오.

보안 인증에 대한 중요 경고 및 지침

보안 인증에 대한 경고
  • 금지 사항.AWS 리소스에 액세스할 때는 계정의 루트 보안 인증을 사용해서는 안 됩니다. 이 보안 인증은 계정 액세스에 제한이 없고 취소하기 어렵습니다.

  • 금지 사항. 애플리케이션 파일에 리터럴 액세스 키나 보안 인증 정보를 넣지 않습니다. 이를 어기는 경우, 예를 들어 프로젝트를 퍼블릭 리포지토리에 업로드하면 뜻하지 않게 보안 인증이 노출될 위험이 있습니다.

  • 금지 사항. 프로젝트 영역에 보안 인증이 포함된 파일을 포함하지 마십시오.

  • 공유 AWS credentials 파일에 저장된 모든 보안 인증은 일반 텍스트로 저장된다는 점에 유의하십시오.

보안 인증 정보를 안전하게 관리하기 위한 추가 지침

AWS 보안 인증 정보를 안전하게 관리하는 방법에 대한 일반적인 설명은 AWS 일반 참조에서 AWS 액세스 키 관리를 위한 모범 사례를 참조하십시오. 해당 설명과 더불어 다음 사항을 고려하십시오.

  • Amazon Elastic Container Service(Amazon ECS) 작업에 작업용 IAM 역할을 사용하십시오.

  • Amazon EC2 인스턴스에서 실행 중인 애플리케이션에 IAM 역할을 사용하십시오.

사전 조건: AWS 계정 생성

IAM 사용자를 사용하여 AWS 서비스에 액세스하려면 AWS 계정과 AWS 자격 증명이 필요합니다.

  1. 계정을 생성합니다.

    AWS 계정을 만들려면 AWS Account Management 계정 관리 참조 가이드에서 시작하기: AWS를 처음 사용하시나요?를 참조하십시오.

  2. 관리 사용자를 생성합니다.

    관리 콘솔 및 서비스에 액세스하기 위해 루트 사용자 계정(사용자가 생성하는 초기 계정)을 사용하지 않습니다. 대신 IAM 사용 설명서의 관리 사용자 생성에 설명된 대로 관리 사용자 계정을 생성합니다.

    관리 사용자 계정을 만들고 로그인 세부 정보를 기록한 후 반드시 루트 사용자 계정에서 로그아웃하고 관리 계정을 사용하여 다시 로그인합니다.

이러한 계정 중 어느 것도 AWS에서 개발을 하거나 AWS에서 애플리케이션을 실행하는 데 적합하지 않습니다. 모범 사례로서 이러한 작업에 적합한 사용자, 권한 집합 및 서비스 역할을 만들어야 합니다. 자세한 정보는 IAM 사용 설명서최소 권한 적용을 참조하십시오.

1단계: IAM 사용자 생성

  • IAM 사용 설명서IAM 사용자 생성(콘솔)절차에 따라 IAM 사용자를 생성합니다. IAM 사용자를 생성하는 경우:

    • AWS Management 콘솔에 대한 사용자 액세스 권한 제공을 선택하는 것이 좋습니다. 이를 통해 실행 중인 코드와 관련된 AWS 서비스를 시각적 환경에서 확인할 수 있습니다. 예를 들어 AWS CloudTrail 진단 로그를 확인하거나 Amazon Simple Storage Service에 파일을 업로드하는 등의 작업을 수행할 수 있습니다. 이는 코드 디버깅에 도움이 됩니다.

    • 권한 설정 - 권한 옵션에서 이 사용자에게 권한을 부여하는 방식으로 정책 직접 연결을 선택합니다.

      • 대부분의 “시작하기” SDK 자습서에서는 Amazon S3 서비스를 예로 사용합니다. 애플리케이션에 Amazon S3에 대한 전체 액세스 권한을 제공하려면 이 사용자에게 연결할 AmazonS3FullAccess 정책을 선택하십시오.

    • 해당 절차에서 권한 경계나 태그를 설정하는 선택적 단계는 무시해도 됩니다.

2단계: 액세스 키 가져오기

  1. IAM 콘솔의 탐색 창에서 사용자를 선택한 다음 이전에 생성한 사용자의 User name을 선택합니다.

  2. 사용자 페이지에서 보안 보안 인증 페이지를 선택합니다. 그런 다음 액세스 키에서 액세스 키 생성을 선택합니다.

  3. 액세스 키 생성 1단계에서 명령줄 인터페이스(CLI)또는 로컬 코드를 선택합니다. 두 옵션 모두 AWS CLI 및 SDK와 함께 사용할 수 있는 동일한 유형의 키를 생성합니다.

  4. 액세스 키 만들기 2단계에서 선택적 태그를 입력하고 다음을 선택합니다.

  5. 액세스 키 생성 3단계에서 .csv 파일 다운로드를 선택하여 IAM 사용자의 액세스 키 및 보안 액세스 키와 함께 .csv 파일을 저장합니다. 나중에 이 정보가 필요합니다.

    주의

    적절한 보안 조치를 사용하여 이러한 보안 인증을 안전하게 유지합니다.

  6. 완료(Done)를 선택합니다.

3단계: credentials 파일 업데이트

  1. 공유 AWS credentials 보안 인증 파일을 생성하거나 엽니다. 이 파일은 Linux 및 macOS 시스템의 경우 ~/.aws/credentials이며, Windows의 경우 %USERPROFILE%\.aws\credentials입니다. 자세한 내용은 보안 인증 파일 위치를 참조하십시오.

  2. 다음 텍스트를 공유 credentials 파일에 추가합니다. 예제 ID 값 및 예제 키 값을 이전에 다운로드한 .csv 파일의 값으로 바꾸십시오.

    [default] aws_access_key_id = AKIAIOSFODNN7EXAMPLE aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

  3. 파일을 저장합니다.

공유 credentials 파일은 보안 인증을 저장하는 가장 일반적인 방법입니다. 환경 변수로 설정할 수도 있습니다. 환경 변수 이름은 AWS 액세스 키 섹션을 참조하십시오. 이 방법으로 시작할 수 있지만 가능한 한 빨리 IAM Identity Center 또는 기타 임시 보안 인증으로 전환하는 것이 좋습니다. 장기 보안 인증을 사용하지 않도록 전환한 후에는 공유 credentials 파일에서 해당 보안 인증을 삭제해야 합니다.