AWS 워크로드 아이덴티티 프로바이더 생성

AWS 워크로드 아이덴티티 프로바이더 생성 (hcp iam workload-identity-providers create-aws)

hcp iam workload-identity-providers create-aws 명령은 새로운 AWS 워크로드 아이덴티티 프로바이더를 생성하는 명령이에요.

생성된 뒤에는 지정한 AWS 계정에서 실행되는 워크로드가 자신의 AWS 아이덴티티를, 지정한 서비스 프린시펄의 아이덴티티에 매핑되는 HCP 액세스 토큰으로 교환할 수 있어요.

조건부 접근 구문은 어떤 AWS 역할이 자신의 아이덴티티를 HCP 액세스 토큰으로 교환할 수 있는지 제한할 수 있어요. 이 구문은 토큰 교환 시 평가되는 hashicorp/go-bexpr 문자열이에요. 다음 변수에 접근할 수 있어요:

  • aws.arn — 호출 엔티티와 연관된 AWS ARN이에요.
  • aws.account_id — 호출 엔티티를 소유하거나 포함하는 계정의 AWS 계정 ID 번호예요.
  • aws.user_id — 호출 엔티티의 고유 식별자예요.

특정 역할로 접근을 제한하는 조건부 접근 구문의 예로는 'aws.arn matches "arn:aws:iam::123456789012:role/example-role/*"'이 있어요.

조건부 접근 구문을 만들 때 도움을 얻으려면, AWS 워크로드에서 aws sts get-caller-identity를 실행해 조건부 접근 구문에 사용할 수 있는 값을 확인해 보세요.

출처: 문서

본문

사용법 (Usage)

$ hcp iam workload-identity-providers create-aws PROVIDER_NAME
  --account-id=AWS_ACCOUNT_ID --conditional-access=STATEMENT
  --service-principal=RESOURCE_NAME [Optional Flags]

예시 (Examples)

역할 "example-role"을 가진 AWS 워크로드의 아이덴티티 교환을 허용하는 프로바이더를 생성해요:

$ hcp iam workload-identity-providers create-aws aws-my-role \
  --service-principal=iam/project/PROJECT/service-principal/example-sp \
  --account-id=123456789012 \
  --conditional-access='aws.arn matches "arn:aws:iam::123456789012:role/example-role/*"' \
  --description="Allow exchanging AWS workloads that have role example-role"

위치 인자 (Positional arguments)

  • PROVIDER_NAME — 생성할 프로바이더의 이름이에요.

필수 플래그 (Required flags)

  • --account-id=AWS_ACCOUNT_ID — 아이덴티티 교환을 허용할 AWS 계정의 ID예요.
  • --conditional-access=STATEMENT — 조건부 접근 구문은 토큰 교환 시 평가되는 hashicorp/go-bexpr 문자열이에요. 서비스 프린시펄에 접근할 수 있는 업스트림 아이덴티티를 제한해요. 조건부 접근 구문은 다음 변수에 접근할 수 있어요. 각 변수의 값에 대한 자세한 내용은 AWS 문서를 참고하세요.
    • aws.arn — 호출 엔티티와 연관된 AWS ARN이에요.
    • aws.account_id — 호출 엔티티를 소유하거나 포함하는 계정의 AWS 계정 ID 번호예요.
    • aws.user_id — 호출 엔티티의 고유 식별자예요.
  • --service-principal=RESOURCE_NAME — 프로바이더를 생성할 서비스 프린시펄의 리소스 이름이에요.

선택 플래그 (Optional flags)

  • --description=TEXT — 프로바이더에 대한 설명이에요.

더 알아보기 (Learn more)