IAM 사용자 자격 증명을 사용한 인증 - AWS Command Line Interface

IAM 사용자 자격 증명을 사용한 인증

주의

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

이 섹션에서는 IAM 사용자를 사용하여 기본 설정을 구성하는 방법을 설명합니다. 여기에는 configcredentials 파일을 사용한 보안 보안 인증이 포함됩니다. 대신 AWS IAM Identity Center에 대한 구성 지침을 보려면 AWS CLI를 사용하여 IAM Identity Center 인증 구성 섹션을 참조하세요.

1단계: IAM 사용자 생성

IAM 사용 설명서IAM 사용자 생성(콘솔) 절차에 따라 IAM 사용자를 생성합니다.

  • 권한 옵션에서 이 사용자에게 권한을 할당하려는 방법에 대한 정책 직접 연결을 선택합니다.

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

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

  1. AWS Management 콘솔에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

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

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

  4. 액세스 키 생성 1단계에서 명령줄 인터페이스(CLI)를 선택합니다.

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

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

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

3단계: AWS CLI 구성

일반적인 용도로는 AWS CLI에서 다음과 같은 정보가 필요합니다.

  • 액세스 키 ID

  • 비밀 액세스 키

  • AWS 리전

  • 출력 형식

AWS CLI는 이 정보를 default 파일에서 credentials라는 프로파일(설정 모음)에 저장합니다. 기본적으로 이 프로파일의 정보는 사용할 프로파일을 명시적으로 지정하지 않는 AWS CLI 명령이 실행될 때 사용됩니다. credentials 파일에 대한 자세한 내용은 AWS CLI의 구성 및 보안 인증 파일 설정 섹션을 참조하세요.

AWS CLI을 구성하려면 다음 절차 중 하나를 사용합니다.

aws configure 사용하기

일반적인 용도에서 aws configure 명령은 AWS CLI 설치를 설정할 수 있는 가장 빠른 방법입니다. 이 구성 마법사는 시작하는 데 필요한 각 정보를 입력하라는 메시지를 표시합니다. --profile 옵션을 사용하여 별도로 지정하지 않는 한 AWS CLI은 이 정보를 default 프로파일에 저장합니다.

다음 예에서는 샘플 값을 사용하여 default 프로필을 구성합니다. 다음 섹션에 설명된 대로 해당 값을 사용자 고유의 값으로 바꿉니다.

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

다음 예에서는 샘플 값을 사용하여 userprod로 이름이 지정된 프로필을 구성합니다. 다음 섹션에 설명된 대로 해당 값을 사용자 고유의 값으로 바꿉니다.

$ aws configure --profile userprod AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

.CSV 파일을 통해 액세스 키 가져오기

aws configure를 사용하여 액세스 키를 입력하는 대신 액세스 키를 생성한 후 다운로드한 일반 텍스트 .csv 파일을 가져올 수 있습니다.

.csv 파일에는 다음 헤더가 포함되어야 합니다.

  • 사용자 이름 - 이 열을 .csv에 추가해야 합니다. 가져올 때 configcredentials에 사용되는 프로필 이름을 만드는 데 사용됩니다.

  • 액세스 키 ID

  • 비밀 액세스 키

참고

초기 액세스 키 생성 중에 .csv 파일 다운로드 대화 상자를 닫으면 대화 상자를 닫은 후 비밀 액세스 키에 액세스할 수 없습니다. .csv 파일이 있어야 하는 경우 필요한 헤더와 저장된 액세스 키 정보를 사용하여 파일을 직접 만들어야 합니다. 액세스 키 정보에 액세스할 수 없는 경우 새 액세스 키를 생성해야 합니다.

.csv 파일을 가져오려면 다음과 같이 aws configure import 명령을 --csv 옵션과 함께 사용합니다.

$ aws configure import --csv file://credentials.csv

자세한 내용은 aws_configure_import 섹션을 참조하세요.

configcredentials 파일 직접 편집

configcredentials 파일을 직접 편집하려면 다음을 수행하세요.

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

  2. 다음 텍스트를 공유 credentials 파일에 추가합니다. 이전에 다운로드한 .csv 파일의 샘플 값을 바꾸고 파일을 저장합니다.

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

(선택 사항) IAM 사용자 자격 증명과 함께 다중 인증 사용

보안을 강화하기 위해, 사용자가 직접 호출을 수행하려고 할 때 다중 인증(MFA) 디바이스, U2F 디바이스 또는 모바일 앱에서 생성된 일회용 키를 사용할 수 있습니다.

MFA가 활성화된 IAM 사용자를 사용하여 aws configure mfa-login 명령을 실행하여 지정된 프로필에 대해 다중 인증(MFA)과 함께 사용할 새 프로필을 구성합니다. 프로필이 지정되지 않은 경우 MFA는 default 프로필을 기반으로 합니다. 기본 프로필이 구성되지 않은 경우 mfa-login 명령은 MFA 정보를 요청하기 전에 AWS 자격 증명을 묻는 메시지를 표시합니다. 다음 명령 예제에서는 기본 구성을 사용하고 MFA 프로필을 생성합니다.

$ aws configure mfa-login MFA serial number or ARN: arn:aws:iam::123456789012:mfa/MFADeviceName MFA token code: 123456 Profile to update [session-MFADeviceName]: Temporary credentials written to profile 'session-MFADeviceName' Credentials will expire at 2023-05-19 18:06:10 UTC To use these credentials, specify --profile session-MFADeviceName when running AWS CLI commands

기존 프로필을 업데이트하려면 --update-profile 파라미터를 사용합니다.

$ aws configure mfa-login --profile myprofile --update-profile mfaprofile MFA token code: 123456 Temporary credentials written to profile 'mfaprofile' Credentials will expire at 2023-05-19 18:06:10 UTC To use these credentials, specify --profile mfaprofile when running AWS CLI commands

이 명령은 현재 하드웨어 또는 소프트웨어 기반 일회용 암호(OTP) 인증자만 지원합니다. 패스키 및 U2F 디바이스는 현재 이 명령에서 지원되지 않습니다.

MFA 프로필을 사용하려면 명령과 함께 --profile 옵션을 사용합니다.

$ aws s3 ls --profile mfaprofile

IAM 사용자에게 MFA를 할당하는 방법을 포함하여 IAM에서 MFA를 사용하는 방법에 대한 자세한 내용은 AWS Identity and Access Management 사용 설명서AWS IAM의 멀티 팩터 인증을 참조하세요.