AWS 공급자 구성

AWS 공급자 인증

iac describe를 사용하려면 AWS에 인증된 요청을 보내도록 자격 증명을 설정해야 합니다. AWS CLI와 마찬가지로 사용자 환경 변수 또는 로컬 AWS 구성 파일에 선언된 자격 증명 및 구성arrow-up-right 설정을 사용하십시오.

iac describe 명령은 명명된 프로필arrow-up-right을 지원합니다. 기본적으로 CLI는 default라는 프로필에서 발견된 설정을 사용합니다. AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_PROFILE 등과 같은 지원되는 환경 변수를 선언하여 개별 설정을 재정의할 수 있습니다.

권장되는 모범 사례인 IAM 역할arrow-up-right을 인증 도구로 사용하는 경우 ~/.aws/config 파일에 역할에 대한 프로필을 정의하여 iac describe를 계속 사용할 수 있습니다.

[profile snykrole]
role_arn = arn:aws:iam::123456789012:role/<NAMEOFTHEROLE>
source_profile = user # 역할을 가정할 프로필
region = eu-west-3

이제 프로필 설정을 재정의하여 iac describe를 사용할 수 있습니다.

$ AWS_PROFILE=snykrole snyk iac describe

S3 백엔드에서 상태를 읽기 위한 사용자 지정 자격 증명 arrow-up-right

S3에서 상태를 읽기 위해 다른 AWS 자격 증명 세트를 사용하려는 경우, 각 특정 AWS 환경 변수를 DCTL_S3_ 접두사로 재정의할 수 있습니다. 목적은 인프라와 다른 리전에서 상태를 읽을 수 있는 선택권을 갖기 위함입니다. 실제 인프라의 리소스를 읽기 위해 일반적인 AWS 자격 증명을 사용하는 것을 잊지 마십시오.

# S3 백엔드에서 상태를 읽기 위한 전용 AWS 명명된 프로필(또는 다른 AWS 환경 변수) 내보내기
$ export DCTL_S3_PROFILE="s3reader"
# 일반 AWS 명명된 프로필 내보내기
$ export AWS_PROFILE="snykrole"
$ snyk iac describe --from="tfstate+s3://mybucket/terraform.tfstate"

# S3 버킷에 인증하기 위해 특정 리전을 사용할 수도 있습니다.
$ DCTL_S3_REGION=us-east-1 snyk iac describe --from="tfstate+s3://mybucket/terraform.tfstate"

Terraform 사용자 지정 역할​

다음 코드는 HCL로 작성된 iac describe를 실행하기 위해 가정할 수 있는 사용자 지정 역할을 나타냅니다.

​CloudFormation 템플릿

이 CloudFormation 템플릿을 배포하여 이 페이지의 이전 섹션에 있는 인증 가이드에 따라 사용할 수 있는 제한된 권한 역할을 생성하십시오.

스택 시작arrow-up-right

스택이 배포되면 다음 정책을 IAM 사용자에게 연결하십시오. 이는 사용자가 지정된 역할만 가정할 수 있도록 허용합니다. 사용자가 역할을 가정할 수 있도록 권한을 부여하는 방법에 대한 자세한 내용은 AWS Identity and Access Management 사용자 가이드arrow-up-right를 참조하십시오.

Snyk 측에서 CloudFormation 템플릿을 업데이트하는 자동적인 방법은 없습니다. 이 템플릿은 AWS 계정에서 시작되었기 때문입니다. 따라서 최신 Snyk 역할을 사용하려면 템플릿을 직접 업데이트해야 합니다.

AWS 콘솔을 사용하여 CloudFormation 템플릿 업데이트

  • AWS CloudFormation 콘솔arrow-up-right에서 스택 목록에서 snyk 스택을 선택합니다.

  • 스택 세부 정보 창에서 **업데이트(Update)**를 선택합니다.

  • **현재 템플릿 바꾸기(Replace current template)**를 선택하고 Snyk Amazon S3 URL https://driftctl-cfn-templates.s3.eu-west-3.amazonaws.com/driftctl-role.yml을 지정한 다음 **다음(Next)**을 클릭합니다.

  • 스택 세부 정보 지정(Specify stack details)스택 옵션 구성(Configure stack options) 페이지에서 **다음(Next)**을 클릭합니다.

  • 변경 세트 미리 보기(Change set preview) 섹션에서 AWS CloudFormation이 변경 사항을 적용할 것임을 확인합니다.

  • Snyk 템플릿에 하나의 IAM 리소스가 포함되어 있으므로 **이 템플릿이 IAM 리소스를 생성할 수 있음을 인정합니다(I acknowledge that this template may create IAM resources)**를 선택합니다.

  • 마지막으로 **스택 업데이트(Update stack)**를 클릭합니다.

AWS CLI를 사용하여 CloudFormation 템플릿 업데이트

다음 명령을 사용하십시오:

최소 권한 정책​

iac describe 명령은 리소스를 나열할 수 있도록 클라우드 공급자 계정에 대한 액세스 권한이 필요합니다.

AWS 문서에서 권장하는 대로 다음 정책은 필요한 권한만 부여합니다.

Last updated