InfoGrab Docs

Teleport 및 AWS IAM Identity Center와 함께 AWS CLI 도구 사용

요약

이 가이드는 Teleport와 AWS Identity Center를 통해 부여된 접근을 사용하도록 aws 명령줄 도구를 설정하는 방법을 보여줍니다. Teleport가 AWS Identity Center 접근을 관리하는 방법에 대한 자세한 내용은 메인 AWS IAM Identity Center 가이드에서 확인할 수 있습니다.

이 가이드는 Teleport와 AWS Identity Center를 통해 부여된 접근을 사용하도록 aws 명령줄 도구를 설정하는 방법을 보여줍니다.

작동 방식#

Teleport가 AWS Identity Center 접근을 관리하는 방법에 대한 자세한 내용은 메인 AWS IAM Identity Center 가이드에서 확인할 수 있습니다. 이 가이드의 목적상, Teleport가 사용자의 계정 할당 부여(상시 Teleport 역할, 접근 목록 구성원 또는 승인된 접근 요청)를 기반으로 AWS 계정 할당의 생성 및 삭제를 관리한다는 것을 이해하면 충분합니다.

sso 로그인과 AWS 프로필을 사용하여 AWS CLI 도구로 이러한 Teleport 관리 계정 및 권한 세트 할당에 접근할 수 있습니다.

사전 요구사항#

시작하기 전에 다음이 필요합니다:

  • Teleport 관리 AWS Identity Center 조직. Identity Center 통합 설정을 위한 시작하기 가이드를 참조하십시오.
  • AWS 설치 가이드에 따라 설치된 AWS CLI 도구.
  • Identity Center 조직의 SSO 시작 URL 및 AWS 리전. AWS 관리자에게 적절한 값을 문의하십시오.

설정#

다음 설정 플로우 중 하나를 선택합니다. Teleport tsh 클라이언트 버전 18.8.x 이상을 사용하는 경우 tsh 플로우가 권장됩니다.

tsh aws-profile 명령은 AWS Identity Center 통합 데이터에서 ~/.aws/config에 네이티브 AWS SSO 프로필을 자동으로 생성합니다. Teleport가 아닌 기존 항목을 보존하고, Teleport 관리 AWS Identity Center 섹션을 업데이트하며, 현재 로그인한 클러스터에서 더 이상 사용할 수 없는 오래된 Teleport 관리 프로필 및 SSO 세션을 제거합니다.

Tip

tsh aws-profile --dry-run을 사용하여 AWS 설정 파일에 쓰기 전에 변경 사항을 미리 볼 수 있습니다.

  1. 다음 명령을 실행하여 프로필을 생성합니다:
$ tsh aws-profile
AWS configuration updated at: /Users/alice/.aws/config

Profile                    Account Account ID   Role   SSO Session
-------------------------- ------- ------------ ------ ----------------
teleport-awsic-dev-admin   dev     123456789012 Admin  teleport-d-12345
teleport-awsic-prod-reader prod    098765432109 Reader teleport-d-12345
  1. 프로필을 선택하고 AWS_PROFILE 환경 변수로 내보냅니다. 예:
$ export AWS_PROFILE=teleport-awsic-prod-reader
  1. AWS SSO로 인증합니다:
$ aws sso login

이렇게 하면 Teleport를 통해 인증 프로세스를 완료하는 브라우저 창이 열립니다.

  1. 다른 AWS_PROFILE 값을 내보내어 다른 프로필로 전환합니다:
$ export AWS_PROFILE=teleport-awsic-dev-admin

프로필이 동일한 SSO 세션을 사용하는 경우 aws sso login을 다시 실행할 필요가 없습니다.

가이드 설정을 선호하는 경우 AWS CLI 마법사를 사용합니다.

  1. 다음 명령을 실행하고 프롬프트에 답하여 SSO 세션을 생성합니다. 이 예제에서는 SSO 세션 이름으로 my-identity-center를 사용합니다.
$ aws configure sso-session
SSO session name: my-identity-center
SSO start URL [None]: https://d-12234567890.awsapps.com/start
SSO region [None]: us-east-1
SSO registration scopes [sso:account:access]:
  1. SSO를 통해 AWS에 로그인합니다:
$ aws sso login --sso-session my-identity-center

이렇게 하면 Teleport를 통해 AWS에 로그인하는 브라우저 기반 플로우가 시작됩니다.

  1. 다음을 실행하여 SSO 세션을 사용하는 프로필을 생성합니다:
Tip

원하는 만큼 많은 프로필을 생성할 수 있으므로 필요한 AWS 계정/권한 세트 쌍만큼 이 단계를 반복하십시오.

$ aws configure sso

마법사는 생성할 프로필에 대한 여러 질문을 하지만, 우리의 목적상 AWS 계정과 역할 선택만 중요합니다.

먼저, 이 프로필이 사용할 AWS 계정을 선택합니다. 마법사는 현재 계정 할당을 기반으로 사용 가능한 AWS 계정 목록을 제공합니다. 단일 AWS 계정만 사용할 수 있는 경우 마법사가 자동으로 선택하고 질문을 건너뜁니다.

There are 2 AWS accounts available to you.
> Staging, my.login@example.com (058264527036)
  Production, my.login@example.com (637423191929)

다음으로, 이 프로필이 활성화될 때 수임할 AWS 역할을 선택합니다. Identity Center 권한 세트는 AWS 계정에 역할로 프로비저닝되므로, 사용하려는 권한 세트와 동일한 이름의 역할을 선택합니다.

There are 3 roles available to you.
  SecurityAudit
> AdministratorAccess
  PowerUserAccess

하나의 옵션만 사용 가능한 경우 마법사가 자동으로 선택하고 질문을 건너뜁니다.

여러 일반적인 AWS 프로필 질문 후에 마법사는 프로필 이름을 묻습니다. 이 예제에서는 프로필이 Staging 계정에서 AdministratorAccess 역할을 사용하므로 admin-on-staging이라고 명명합니다.

완전한 수동 제어가 필요한 경우 ~/.aws/config에서 직접 SSO 세션과 프로필을 설정합니다.

  1. SSO 세션 설정을 추가합니다:
[sso-session my-identity-center]
sso_start_url = https://d-12234567890.awsapps.com/start
sso_region = us-east-1
sso_registration_scopes = sso:account:access
  1. SSO를 통해 AWS에 로그인합니다:
$ aws sso login --sso-session my-identity-center

이렇게 하면 Teleport를 통해 AWS에 로그인하는 브라우저 기반 플로우가 시작됩니다.

  1. SSO 세션을 참조하는 프로필을 추가합니다. 예를 들어, admin-on-staging 프로필은 다음과 같습니다:
Tip

원하는 만큼 많은 프로필을 생성할 수 있으므로 필요한 AWS 계정/권한 세트 쌍만큼 이 단계를 반복하십시오.

[profile admin-on-staging]
sso_session = my-identity-center
sso_account_id = 058264527036
sso_role_name = AdministratorAccess
region = us-east-1

프로필 테스트#

위의 설정 플로우 중 하나를 완료한 후 aws sts get-caller-identity를 실행하고 반환된 사용자 ID와 수임된 역할을 확인하여 프로필을 테스트합니다.

AWS_PROFILE을 이미 내보낸 경우 다음을 실행합니다:

$ aws sts get-caller-identity

또는 프로필을 명시적으로 전달합니다. 예:

$ aws sts get-caller-identity --profile admin-on-staging
{
    "UserId": "AROA123456789AEXAMPLE:my.login@example.com",
    "Account": "058264527036",
    "Arn": "arn:aws:sts::058264527036:assumed-role/AWSReservedSSO_AdministratorAccess_69450ffeac834ef7/my.login@example.com"
}

프로필이 올바르게 설정되었음을 확인한 후, 모든 aws 하위 명령에서 --profile 인수를 사용하여 선택하고 해당 작업에서 해당 Identity Center 계정 할당을 사용할 수 있습니다.

Info

표준 AWS 클라이언트 환경 변수를 지원하는 다른 도구와 함께 이 프로필을 사용할 수도 있습니다. AWS_PROFILE 환경 변수를 설정하여 프로필을 선택합니다. 예:

$ AWS_PROFILE=admin-on-staging ./some-aws-tool

문제 해결#

"Invalid Callback" 오류#

AWS에서 "invalid Callback URL" 오류 메시지가 표시되는 경우, 가장 가능성 있는 문제는 sso-session 설정에서 잘못된 AWS 리전입니다.

"Error loading SSO Token" 오류#

AWS 캐시 디렉터리가 삭제되었을 가능성이 높습니다. aws sso login --sso-session ${SSO_SESSION_NAME}으로 다시 로그인하십시오. 여기서 ${SSO_SESSION_NAME}은 설정된 SSO 세션의 이름입니다.

다음 단계#

추가 자료#

IAM Identity Center와 함께 AWS CLI를 사용하는 광범위한 소개는 AWS IAM Identity Center 인증을 AWS CLI와 함께 설정 가이드를 참조하십시오.

Teleport 및 AWS IAM Identity Center와 함께 AWS CLI 도구 사용

원문 보기
요약

이 가이드는 Teleport와 AWS Identity Center를 통해 부여된 접근을 사용하도록 aws 명령줄 도구를 설정하는 방법을 보여줍니다. Teleport가 AWS Identity Center 접근을 관리하는 방법에 대한 자세한 내용은 메인 AWS IAM Identity Center 가이드에서 확인할 수 있습니다.

이 가이드는 Teleport와 AWS Identity Center를 통해 부여된 접근을 사용하도록 aws 명령줄 도구를 설정하는 방법을 보여줍니다.

작동 방식#

Teleport가 AWS Identity Center 접근을 관리하는 방법에 대한 자세한 내용은 메인 AWS IAM Identity Center 가이드에서 확인할 수 있습니다. 이 가이드의 목적상, Teleport가 사용자의 계정 할당 부여(상시 Teleport 역할, 접근 목록 구성원 또는 승인된 접근 요청)를 기반으로 AWS 계정 할당의 생성 및 삭제를 관리한다는 것을 이해하면 충분합니다.

sso 로그인과 AWS 프로필을 사용하여 AWS CLI 도구로 이러한 Teleport 관리 계정 및 권한 세트 할당에 접근할 수 있습니다.

사전 요구사항#

시작하기 전에 다음이 필요합니다:

  • Teleport 관리 AWS Identity Center 조직. Identity Center 통합 설정을 위한 시작하기 가이드를 참조하십시오.
  • AWS 설치 가이드에 따라 설치된 AWS CLI 도구.
  • Identity Center 조직의 SSO 시작 URL 및 AWS 리전. AWS 관리자에게 적절한 값을 문의하십시오.

설정#

다음 설정 플로우 중 하나를 선택합니다. Teleport tsh 클라이언트 버전 18.8.x 이상을 사용하는 경우 tsh 플로우가 권장됩니다.

tsh aws-profile 명령은 AWS Identity Center 통합 데이터에서 ~/.aws/config에 네이티브 AWS SSO 프로필을 자동으로 생성합니다. Teleport가 아닌 기존 항목을 보존하고, Teleport 관리 AWS Identity Center 섹션을 업데이트하며, 현재 로그인한 클러스터에서 더 이상 사용할 수 없는 오래된 Teleport 관리 프로필 및 SSO 세션을 제거합니다.

Tip

tsh aws-profile --dry-run을 사용하여 AWS 설정 파일에 쓰기 전에 변경 사항을 미리 볼 수 있습니다.

  1. 다음 명령을 실행하여 프로필을 생성합니다:
$ tsh aws-profile
AWS configuration updated at: /Users/alice/.aws/config

Profile                    Account Account ID   Role   SSO Session
-------------------------- ------- ------------ ------ ----------------
teleport-awsic-dev-admin   dev     123456789012 Admin  teleport-d-12345
teleport-awsic-prod-reader prod    098765432109 Reader teleport-d-12345
  1. 프로필을 선택하고 AWS_PROFILE 환경 변수로 내보냅니다. 예:
$ export AWS_PROFILE=teleport-awsic-prod-reader
  1. AWS SSO로 인증합니다:
$ aws sso login

이렇게 하면 Teleport를 통해 인증 프로세스를 완료하는 브라우저 창이 열립니다.

  1. 다른 AWS_PROFILE 값을 내보내어 다른 프로필로 전환합니다:
$ export AWS_PROFILE=teleport-awsic-dev-admin

프로필이 동일한 SSO 세션을 사용하는 경우 aws sso login을 다시 실행할 필요가 없습니다.

가이드 설정을 선호하는 경우 AWS CLI 마법사를 사용합니다.

  1. 다음 명령을 실행하고 프롬프트에 답하여 SSO 세션을 생성합니다. 이 예제에서는 SSO 세션 이름으로 my-identity-center를 사용합니다.
$ aws configure sso-session
SSO session name: my-identity-center
SSO start URL [None]: https://d-12234567890.awsapps.com/start
SSO region [None]: us-east-1
SSO registration scopes [sso:account:access]:
  1. SSO를 통해 AWS에 로그인합니다:
$ aws sso login --sso-session my-identity-center

이렇게 하면 Teleport를 통해 AWS에 로그인하는 브라우저 기반 플로우가 시작됩니다.

  1. 다음을 실행하여 SSO 세션을 사용하는 프로필을 생성합니다:
Tip

원하는 만큼 많은 프로필을 생성할 수 있으므로 필요한 AWS 계정/권한 세트 쌍만큼 이 단계를 반복하십시오.

$ aws configure sso

마법사는 생성할 프로필에 대한 여러 질문을 하지만, 우리의 목적상 AWS 계정과 역할 선택만 중요합니다.

먼저, 이 프로필이 사용할 AWS 계정을 선택합니다. 마법사는 현재 계정 할당을 기반으로 사용 가능한 AWS 계정 목록을 제공합니다. 단일 AWS 계정만 사용할 수 있는 경우 마법사가 자동으로 선택하고 질문을 건너뜁니다.

There are 2 AWS accounts available to you.
> Staging, my.login@example.com (058264527036)
  Production, my.login@example.com (637423191929)

다음으로, 이 프로필이 활성화될 때 수임할 AWS 역할을 선택합니다. Identity Center 권한 세트는 AWS 계정에 역할로 프로비저닝되므로, 사용하려는 권한 세트와 동일한 이름의 역할을 선택합니다.

There are 3 roles available to you.
  SecurityAudit
> AdministratorAccess
  PowerUserAccess

하나의 옵션만 사용 가능한 경우 마법사가 자동으로 선택하고 질문을 건너뜁니다.

여러 일반적인 AWS 프로필 질문 후에 마법사는 프로필 이름을 묻습니다. 이 예제에서는 프로필이 Staging 계정에서 AdministratorAccess 역할을 사용하므로 admin-on-staging이라고 명명합니다.

완전한 수동 제어가 필요한 경우 ~/.aws/config에서 직접 SSO 세션과 프로필을 설정합니다.

  1. SSO 세션 설정을 추가합니다:
[sso-session my-identity-center]
sso_start_url = https://d-12234567890.awsapps.com/start
sso_region = us-east-1
sso_registration_scopes = sso:account:access
  1. SSO를 통해 AWS에 로그인합니다:
$ aws sso login --sso-session my-identity-center

이렇게 하면 Teleport를 통해 AWS에 로그인하는 브라우저 기반 플로우가 시작됩니다.

  1. SSO 세션을 참조하는 프로필을 추가합니다. 예를 들어, admin-on-staging 프로필은 다음과 같습니다:
Tip

원하는 만큼 많은 프로필을 생성할 수 있으므로 필요한 AWS 계정/권한 세트 쌍만큼 이 단계를 반복하십시오.

[profile admin-on-staging]
sso_session = my-identity-center
sso_account_id = 058264527036
sso_role_name = AdministratorAccess
region = us-east-1

프로필 테스트#

위의 설정 플로우 중 하나를 완료한 후 aws sts get-caller-identity를 실행하고 반환된 사용자 ID와 수임된 역할을 확인하여 프로필을 테스트합니다.

AWS_PROFILE을 이미 내보낸 경우 다음을 실행합니다:

$ aws sts get-caller-identity

또는 프로필을 명시적으로 전달합니다. 예:

$ aws sts get-caller-identity --profile admin-on-staging
{
    "UserId": "AROA123456789AEXAMPLE:my.login@example.com",
    "Account": "058264527036",
    "Arn": "arn:aws:sts::058264527036:assumed-role/AWSReservedSSO_AdministratorAccess_69450ffeac834ef7/my.login@example.com"
}

프로필이 올바르게 설정되었음을 확인한 후, 모든 aws 하위 명령에서 --profile 인수를 사용하여 선택하고 해당 작업에서 해당 Identity Center 계정 할당을 사용할 수 있습니다.

Info

표준 AWS 클라이언트 환경 변수를 지원하는 다른 도구와 함께 이 프로필을 사용할 수도 있습니다. AWS_PROFILE 환경 변수를 설정하여 프로필을 선택합니다. 예:

$ AWS_PROFILE=admin-on-staging ./some-aws-tool

문제 해결#

"Invalid Callback" 오류#

AWS에서 "invalid Callback URL" 오류 메시지가 표시되는 경우, 가장 가능성 있는 문제는 sso-session 설정에서 잘못된 AWS 리전입니다.

"Error loading SSO Token" 오류#

AWS 캐시 디렉터리가 삭제되었을 가능성이 높습니다. aws sso login --sso-session ${SSO_SESSION_NAME}으로 다시 로그인하십시오. 여기서 ${SSO_SESSION_NAME}은 설정된 SSO 세션의 이름입니다.

다음 단계#

추가 자료#

IAM Identity Center와 함께 AWS CLI를 사용하는 광범위한 소개는 AWS IAM Identity Center 인증을 AWS CLI와 함께 설정 가이드를 참조하십시오.