튜토리얼: AWS CLI에서 IAM Identity Center를 사용하여 Amazon S3 명령 실행
이 주제에서는 Amazon Simple Storage Service(Amazon S3)에 대한 AWS Command Line Interface(AWS CLI) 명령을 실행할 자격 증명을 검색하기 위해 현재 AWS IAM Identity Center(IAM Identity Center)로 사용자를 인증하도록 AWS CLI를 구성하는 방법에 대해 설명합니다.
주제
1단계: IAM Identity Center에서 인증
IAM Identity Center 내에서 SSO 인증에 대한 액세스 권한을 얻습니다. 사용자 AWS 보안 인증에 액세스 할 방법 하나를 다음 중에서 선택합니다.
AWS IAM Identity Center 사용 설명서의 시작하기에 나온 지침을 따릅니다. 이 프로세스는 IAM Identity Center를 활성화하고, 관리자 사용자를 생성하고, 적절한 최소 권한 세트를 추가합니다.
참고
최소 권한을 적용하는 권한 세트를 생성합니다. 고용주가 이러한 목적으로 사용자 지정 권한 집합을 만든 경우가 아니라면 사전 정의된 PowerUserAccess
권한 집합을 사용하는 것이 좋습니다.
포털을 종료하고 다시 로그인하면 AWS 계정, 프로그래밍 방식 액세스 세부 정보, Administrator
또는 PowerUserAccess
옵션을 확인할 수 있습니다. SDK로 작업할 때 PowerUserAccess
을 선택합니다.
ID 공급업체의 포털을 통해 AWS에 로그인합니다. 클라우드 관리자가 사용자 PowerUserAccess
(개발자)에게 권한을 부여한 경우 액세스 권한이 있는 AWS 계정와 권한 집합이 표시됩니다. 권한 집합 이름 옆에는 해당 권한 집합을 사용하여 수동으로 또는 프로그래밍 방식으로 계정에 액세스할 수 있는 옵션이 표시됩니다.
사용자 지정 구현으로 인해 사용 권한 집합 이름이 달라지는 등 다양한 경험이 발생할 수 있습니다. 어떤 권한 세트를 사용할지 확실하지 않은 경우 IT 팀에 문의하십시오.
AWS 액세스 포털을 통해 AWS에 로그인합니다. 클라우드 관리자가 사용자 PowerUserAccess
(개발자)에게 권한을 부여한 경우 액세스 권한이 있는 AWS 계정와 권한 집합이 표시됩니다. 권한 집합 이름 옆에는 해당 권한 집합을 사용하여 수동으로 또는 프로그래밍 방식으로 계정에 액세스할 수 있는 옵션이 표시됩니다.
IT 팀에 문의하십시오.
2단계: IAM Identity Center 정보 수집
AWS에 대한 액세스 권한을 얻은 후에는다음을 수행하여 IAM Identity Center 정보를 수집합니다.
-
AWS 액세스 포털에서 개발에 사용할 권한 세트를 선택하고 액세스 키 링크를 선택합니다.
-
자격 증명 가져오기 대화 상자에서 운영 체제와 일치하는 탭을 선택합니다.
-
IAM Identity Center 보안 인증 방법을 선택하여
aws configure sso
실행에 필요한SSO Start URL
및SSO Region
값을 가져옵니다. 등록할 범위 값에 대한 자세한 내용은 IAM Identity Center 사용 설명서의 OAuth 2.0 액세스 범위를 참조하세요.
3단계: Amazon S3 버킷 생성
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/
이 튜토리얼에서는 나중에 목록에서 검색할 버킷을 몇 개 만들어 봅니다.
4단계: AWS CLI 설치
운영 체제별 지침에 따라 CLI를 설치합니다. 자세한 내용은 최신 버전의 AWS CLI 설치 또는 업데이트 단원을 참조하십시오.
설치가 완료되면 원하는 터미널을 열고 다음 명령을 실행하여 설치를 확인할 수 있습니다. 설치된 AWS CLI 버전이 표시되어야 합니다.
$
aws --version
5단계: AWS CLI 프로파일 구성
다음 방법 중 하나를 사용하여 프로파일 구성
config
파일의 sso-session
섹션은 SSO 액세스 토큰을 획득하기 위한 구성 변수를 그룹화하는 데 사용되며, 이를 사용하여 AWS 보안 인증 정보를 얻을 수 있습니다. 다음 설정이 사용됩니다.
sso-session
섹션을 정의하고 프로파일에 연결합니다. sso_region
및 sso_start_url
설정은 sso-session
섹션 내에 설정해야 합니다. 일반적으로 SDK가 SSO 보안 인증 정보를 요청할 수 있도록 profile
섹션에서 sso_account_id
및 sso_role_name
을 설정해야 합니다.
다음 예제는 SSO 보안 인증 정보를 요청하도록 SDK를 구성하고 자동 토큰 새로 고침을 지원합니다.
[profile
dev
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole
[sso-sessionmy-sso
] sso_region =us-east-1
sso_start_url =https://my-sso-portal.awsapps.com/start
config
파일의 sso-session
섹션은 SSO 액세스 토큰을 획득하기 위한 구성 변수를 그룹화하는 데 사용되며, 이를 사용하여 AWS 보안 인증 정보를 얻을 수 있습니다. 다음 설정이 사용됩니다.
sso-session
섹션을 정의하고 프로파일에 연결합니다. sso-session
섹션 내에서 sso_region
및 sso_start_url
을 설정해야 합니다. 일반적으로 SDK가 SSO 보안 인증 정보를 요청할 수 있도록 profile
섹션에서 sso_account_id
및 sso_role_name
을 설정해야 합니다.
다음 예제는 SSO 보안 인증 정보를 요청하도록 SDK를 구성하고 자동 토큰 새로 고침을 지원합니다.
[profile
my-dev-profile
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole
[sso-sessionmy-sso
] sso_region =us-east-1
sso_start_url =https://my-sso-portal.awsapps.com/start
sso_registration_scopes =sso:account:access
인증 토큰은 세션 이름을 기반으로 하는 파일 이름을 사용하여 ~/.aws/sso/cache
디렉터리 아래의 디스크에 캐시됩니다.
6단계: IAM Identity Center에 로그인
참고
로그인 과정에서 데이터 AWS CLI 액세스를 허용하라는 메시지가 표시될 수 있습니다. AWS CLI는 Python용 SDK를 기반으로 구축되므로 권한 메시지에는 botocore
이름의 변형이 포함될 수 있습니다.
IAM Identity Center 자격 증명을 검색하고 캐시하려면 AWS CLI에서 다음 명령을 실행하여 기본 브라우저를 열고 IAM Identity Center 로그인을 확인합니다.
$
aws sso login --profile my-dev-profile
7단계: Amazon S3 명령 실행
이전에 생성한 버킷을 나열하려면 aws s3
ls
$
aws s3 ls
2018-12-11 17:08:50 my-bucket 2018-12-14 14:55:44 my-bucket2
8단계: IAM Identity Center에서 로그아웃
IAM Identity Center 프로파일 사용을 마쳤으면 다음 명령을 실행하여 캐시된 자격 증명을 삭제합니다.
$
aws sso logout
Successfully signed out of all SSO profiles.
9단계: 리소스 정리
이 튜토리얼을 완료한 후에는 Amazon S3 버킷을 포함하여 이 튜토리얼에서 만든 리소스 중 더 이상 필요하지 않은 리소스를 모두 정리합니다.
문제 해결
AWS CLI를 사용하는 데 문제가 발생할 경우 AWS CLI에 대한 오류 문제 해결에 나온 일반적인 문제 해결 단계를 참조하세요.
추가 리소스
추가 리소스는 다음과 같습니다.
-
AWS CLI 버전 2 참조의
aws configure sso
-
AWS CLI 버전 2 참조의
aws configure sso-session
-
AWS CLI 버전 2 참조의
aws sso login
-
AWS CLI 버전 2 참조의
aws sso logout
-
Amazon CodeCatalyst 사용 설명서의 Setting up to use the AWS CLI with CodeCatalyst
-
IAM Identity Center 사용 설명서의 OAuth 2.0 액세스 범위
-
IAM Identity Center 사용 설명서의 시작하기 튜토리얼