AWS IAM Identity Center (successor to AWS Single Sign-On)에 대한 새로 고칠 수 없는 레거시 구성
이 주제에서는 레거시 방법을 사용하여 AWS CLI 명령을 실행하기 위한 보안 인증 정보를 얻기 위해 AWS IAM Identity Center (successor to AWS Single Sign-On)(IAM Identity Center)를 사용하여 사용자를 인증하도록 AWS CLI를 구성하는 방법에 대해 설명합니다. 새로 고칠 수 없는 기존 구성을 사용하는 경우 토큰이 주기적으로 만료되므로 토큰을 수동으로 새로 고쳐야 합니다.
IAM Identity Center을 사용하는 경우 Active Directory 또는 기본 제공 IAM Identity Center 디렉터리에 로그인하거나 IAM Identity Center에 연결된 다른 IdP에 로그인할 수 있습니다. 이러한 보안 인증 정보를 AWS CLI 명령을 실행할 수 있는 AWS Identity and Access Management(IAM) 역할에 매핑할 수 있습니다.
사용하는 IdP와 관계없이 IAM Identity Center는 이러한 구별을 추상화합니다. 예를 들어 The Next Evolution in IAM Identity Center
참고
계정 ID와 역할을 사용하지 않는 보유자 인증을 사용하는 방법에 대한 자세한 내용은 Amazon CodeCatalyst 사용 설명서의 CodeCatalyst와 함께 AWS CLI 사용하도록 설정하기를 참조하세요.
다음 방식으로 레거지 IAM Identity Center의 역할을 사용하도록 AWS CLI 명명된 프로파일 중 하나 이상을 구성할 수 있습니다.
필수 조건
-
AWS CLI를 설치합니다. 자세한 내용은 최신 버전의 AWS CLI 설치 또는 업데이트 섹션을 참조하세요.
-
먼저 IAM ID 센터 내에서 SSO 인증에 액세스해야 합니다. AWS 보안 인증에 액세스하려면 다음 방법 중 하나를 선택합니다.
AWS IAM Identity Center (successor to AWS Single Sign-On) 사용 설명서의 시작하기에 나온 지침을 따릅니다. 이 프로세스는 IAM Identity Center를 활성화하고, 관리자 사용자를 생성하고, 적절한 최소 권한 세트를 추가합니다.
참고
6단계의 경우 - 최소 권한 권한을 적용하는 권한 집합을 생성합니다. 고용주가 이러한 목적으로 사용자 지정 권한 집합을 만든 경우가 아니라면 사전 정의된 PowerUserAccess
권한 집합을 사용하는 것이 좋습니다.
포털을 종료하고 다시 로그인하여 Administrator
또는 PowerUserAccess
에 대한 AWS 계정 및 옵션을 확인하세요. SDK로 작업할 때 PowerUserAccess
을 선택합니다. 또한 프로그래밍 방식 액세스에 대한 세부 정보를 찾는 데도 도움이 됩니다.
ID 공급업체의 포털을 통해 AWS에 로그인합니다. 클라우드 관리자가 사용자 PowerUserAccess
(개발자)에게 권한을 부여한 경우 액세스 권한이 있는 AWS 계정와 권한 집합이 표시됩니다. 권한 집합 이름 옆에는 해당 권한 집합을 사용하여 수동으로 또는 프로그래밍 방식으로 계정에 액세스할 수 있는 옵션이 표시됩니다.
사용자 지정 구현으로 인해 사용 권한 집합 이름이 달라지는 등 다양한 경험이 발생할 수 있습니다. 어떤 권한 세트를 사용할지 확실하지 않은 경우 IT 팀에 문의하세요.
AWS 액세스 포털을 통해 AWS에 로그인합니다. 클라우드 관리자가 사용자 PowerUserAccess
(개발자)에게 권한을 부여한 경우 액세스 권한이 있는 AWS 계정와 권한 집합이 표시됩니다. 권한 집합 이름 옆에는 해당 권한 집합을 사용하여 수동으로 또는 프로그래밍 방식으로 계정에 액세스할 수 있는 옵션이 표시됩니다.
IT 팀에 문의하세요.
레거시 구성을 위한 자동 구성
IAM Identity Center 프로파일을 AWS CLI에 구성하려면
-
aws configure sso
명령을 실행해 IAM Identity Center 시작 URL과 IAM Identity Center 디렉터리를 호스트하는 AWS 리전을 제공합니다.$
aws configure sso
SSO session name (Recommended): SSO start URL [None]:
https://my-sso-portal.awsapps.com/start
SSO region [None]:
us-east-1
-
AWS CLI는 기본 브라우저를 열고 IAM Identity Center 계정에 대한 로그인 프로세스를 시작하려고 시도합니다.
SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request.
AWS CLI에서 브라우저를 열 수 없으면 로그인 프로세스를 수동으로 시작하는 방법에 대한 지침과 함께 다음 메시지가 나타납니다.
Using a browser, open the following URL:
https://device.sso.us-west-2.amazonaws.com/
and enter the following code:QCFK-N451
IAM Identity Center는 코드를 사용하여 IAM Identity Center 세션을 현재 AWS CLI 세션과 연결합니다. IAM Identity Center 브라우저 페이지에 IAM Identity Center 보안 인증 정보로 로그인하라는 메시지가 표시됩니다. 이를 통해 AWS CLI가 IAM Identity Center에 사용할 권한이 있는 AWS 계정 및 역할을 검색하고 표시할 수 있습니다.
-
AWS CLI에 사용 가능한 AWS 계정이 표시됩니다. 하나의 계정만 사용할 수 있는 경우 AWS CLI에서 자동으로 해당 계정을 선택하고 프롬프트를 건너뜁니다. 사용할 수 있는 AWS 계정은 IAM Identity Center의 사용자 구성에 따라 결정됩니다.
There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (
123456789011
) ProductionAccount, production-account-admin@example.com (123456789022
)화살표 키를 사용하여 이 프로파일에 사용할 계정을 선택합니다. 왼쪽의 ">" 문자는 현재 선택 항목을 가리킵니다. Enter 키를 눌러 선택합니다.
-
AWS CLI에서 계정 선택을 확인하고 선택한 계정에서 사용할 수 있는 IAM 역할을 표시합니다. 선택한 계정에 하나의 역할만 나열되는 경우 AWS CLI에서 자동으로 해당 역할을 선택하고 프롬프트를 건너뜁니다. 사용할 수 있는 역할은 IAM Identity Center의 사용자 구성에 따라 결정됩니다
Using the account ID
123456789011
There are 2 roles available to you. > ReadOnly FullAccess화살표 키를 사용하여 이 프로파일에 사용할 IAM 역할을 선택하고 <ENTER>를 누릅니다.
-
AWS CLI에서 역할 선택을 확인합니다.
Using the role name "ReadOnly"
-
기본 출력 형식, 명령을 보낼 기본 AWS 리전을 지정하고 프로파일 이름을 제공하여 로컬 컴퓨터에 정의된 모든 프로파일 중에서 이 프로파일을 참조할 수 있도록 프로파일 구성을 마칩니다. 다음 예제에서 사용자는 프로파일의 이름, 기본 리전 및 기본 출력 형식을 입력합니다. 또는
<ENTER>
키를 눌러 대괄호 사이에 표시되는 기본값을 선택할 수 있습니다. 제안된 프로파일 이름은 계정 ID 번호, 밑줄, 역할 이름 순으로 표시됩니다.CLI default client Region [None]:
us-west-2<ENTER>
CLI default output format [None]:
json<ENTER>
CLI profile name [123456789011_ReadOnly]:
my-dev-profile<ENTER>
참고
default
를 프로파일 이름으로 지정하면 이 프로파일은 AWS CLI 명령을 실행할 때마다 사용되는 프로파일이 되고 프로파일 이름을 지정하지 않습니다. -
최종 메시지는 완료된 프로파일 구성을 설명합니다.
이 프로파일을 사용하려면 다음과 같이 --profile을 사용하여 프로파일 이름을 지정합니다.
aws s3 ls --profile my-dev-profile
-
앞의 예제 항목은
~/.aws/config
에서 다음 예제와 같이 명명된 프로파일이 생성됩니다.[profile my-dev-profile] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 123456789011 sso_role_name = readOnly region = us-west-2 output = json
이 시점에서 임시 보안 인증을 요청하는 데 사용할 수 있는 프로파일이 있습니다.
aws sso login
명령을 사용하여 실제로 명령을 실행하는 데 필요한 임시 보안 인증을 요청하고 검색해야 합니다. 지침은 IAM Identity Center 명명된 프로파일 사용 단원을 참조하세요.
레거시 구성을 위한 수동 구성
새로 고칠 수 없는 기존 구성을 사용하는 자동 토큰 새로 고침은 지원되지 않습니다. SSO 토큰 구성을 사용하는 것이 좋습니다.
명명된 프로파일에 IAM Identity Center 지원을 수동으로 추가하려면 ~/.aws/config
파일(Linux 또는 macOS) 또는 %USERPROFILE%/.aws/config
파일(Windows)의 프로파일 정의에 다음 키와 값을 추가해야 합니다.
.aws/config, region 또는 output과 같이 s3
파일에 유효한 다른 키와 값을 포함할 수도 있습니다. 오류를 방지하려면 role_arn
또는 aws_secret_access_key
같은 보안 인증 정보 관련 값은 포함하지 마세요.
다음은 .aws/config
의 IAM ID 센터 프로필 예제입니다.
[profile
my-sso-profile
] sso_start_url =https://my-sso-portal.awsapps.com/start
sso_region =us-west-2
sso_account_id =111122223333
sso_role_name =SSOReadOnlyRole
region =us-west-2
output =json
임시 보안 인증 정보 프로필이 완성되었습니다.
명령을 실행하려면 먼저 aws sso login
명령을 사용하여 임시 보안 인증 정보를 요청하고 검색해야 합니다. 자세한 지침은 다음 IAM Identity Center 명명된 프로파일 사용 섹션을 참조하세요. 인증 토큰은 sso_start_url
을 기반으로 하는 파일 이름을 사용하여 ~/.aws/sso/cache
디렉터리 아래의 디스크에 캐시됩니다.