【AWS CLI】 역할을 전환하여 다른 계정의 Docker 이미지를 가져옵니다.
배경
AWS를 사용하여 다른 계정의 ECR에 있는 Docker 이미지를 얻고 싶었기 때문에
AWS CLI를 통한 롤 전환에 대해 여러가지 조사한 결과를 정리했습니다.
전제 조건
1. 계정 A에 원하는 Docker 이미지가 있습니다.
2. 계정 B에 존재하는 EC2에 계정 A의 Docker 이미지 PULL
작업 흐름
1. 계정 A의 IAM에서 계정 B에서 사용할 수 있는 역할 만들기
1-1. 신뢰할 수 있는 엔티티 선택
※계정 ID는 계정 B의 ID 12자리를 입력합니다.
1-2.Attach 액세스 제한 정책
아래를 부여한다
· AmazonEC2ContainerRegistryFullAccess
・AmazonEC2FullAccess
· AmazonEC2RoleforSSM (EC2에 세션 관리자로 연결하는 데 사용)
1-3. 역할 만들기
태그 이름은 입력하지 않아도 좋다.
롤 이름은 switch-role 등 알기 쉬운 이름이 좋을까.
· 작성 후 작성된 역할의 ARN 복사
2. 계정 B에서 실제로 역할 전환을 위한 준비
2-1. 계정 B로 로그인하여 EC2의 IAM 역할 설정
EC2에 부착된 IAM 역할을 열고 신뢰 관계 탭에서 신뢰 관계 편집 버튼을 누릅니다.
파란색 테두리에 만든 역할의 ARN 붙여넣기
2-2.EC2에 로그인하여 awscli 설정하기
EC2에 로그인(이번에는 세션 관리자 사용)
로그인 후 관리자 권한(su)으로 전환
2-2-1. 전환 후 프로파일 등록
[root@ip-10-10-10-131 ~]# aws configure --profile dev
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]: ap-northeast-1
Default output format [None]: json
여기서는 전환 후 이름을 dev로 정의합니다.
설정 후 configure 파일을 직접 엽니다.
[root@ip-10-10-10-131 ~]# vi .aws/config
'role_arn'과 'source_profile' 추가
2-2-2. 자격 증명 등록
[root@ip-10-10-10-131 ~]# vi .aws/credentials
credentials 파일 새로 만들기
[default]
aws_access_key_id = xxxxxxxx
aws_secret_access_key = xxxxxx
액세스 키와 비밀 액세스 키는 계정 B에서 사용할 수 있는 사용자를 등록합니다.
3. 실제로 시도해보십시오
3-1. 롤을 전환하지 않는 경우
ECR(Amazon Elastic Container Registry)에 로그인
[root@ip-10-10-10-185 ~]aws ecr get-login --region ap-northeast-1 --no-include-email > dlogin.sh
[root@ip-10-10-10-185 ~]chmod +x dlogin.sh
[root@ip-10-10-10-185 ~]./dlogin.sh
리포지토리 가져오기
[root@ip-10-10-10-185 ~]docker pull 'リポジトリのURI'
Error response from daemon: Get 'リポジトリのURI' no basic auth credentials
라는 바람에 인증 관계로 에러가 된다
3-2. 롤을 전환한 경우
ECR(Amazon Elastic Container Registry)에 로그인
[root@ip-10-10-10-185 ~]aws ecr get-login --region ap-northeast-1 --no-include-email --profile dev > dlogin_dev.sh
[root@ip-10-10-10-185 ~]chmod +x dlogin_dev.sh
[root@ip-10-10-10-185 ~]./dlogin_dev.sh
리포지토리 가져오기
[root@ip-10-10-10-185 ~]docker pull 'リポジトリのURI'
ダウンロード中..
・
・
・
・
Digest: sha256:0xx
Status: Downloaded newer image for 'リポジトリのURI'
획득한 이미지 확인
[root@ip-10-10-10-185 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
リポジトリ名 latest xxxxxxxxxxxx 13 months ago 5.37GB
마지막으로
이번은 Docker 이미지의 취득에 특화했지만, 롤의 전환은 CodeCommit로부터 문서의 취득 등에도 사용할 수 있으므로
비망록으로서 aws cli의 전환의 순서를 정리했습니다.
참고
AWS CLI 프로파일 간의 간편한 전환
AWS CLI에서 역할 전환 및 작업
Reference
이 문제에 관하여(【AWS CLI】 역할을 전환하여 다른 계정의 Docker 이미지를 가져옵니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/buru/items/9c53778f8a8a8e0e898d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
1. 계정 A에 원하는 Docker 이미지가 있습니다.
2. 계정 B에 존재하는 EC2에 계정 A의 Docker 이미지 PULL
작업 흐름
1. 계정 A의 IAM에서 계정 B에서 사용할 수 있는 역할 만들기
1-1. 신뢰할 수 있는 엔티티 선택
※계정 ID는 계정 B의 ID 12자리를 입력합니다.
1-2.Attach 액세스 제한 정책
아래를 부여한다
· AmazonEC2ContainerRegistryFullAccess
・AmazonEC2FullAccess
· AmazonEC2RoleforSSM (EC2에 세션 관리자로 연결하는 데 사용)
1-3. 역할 만들기
태그 이름은 입력하지 않아도 좋다.
롤 이름은 switch-role 등 알기 쉬운 이름이 좋을까.
· 작성 후 작성된 역할의 ARN 복사
2. 계정 B에서 실제로 역할 전환을 위한 준비
2-1. 계정 B로 로그인하여 EC2의 IAM 역할 설정
EC2에 부착된 IAM 역할을 열고 신뢰 관계 탭에서 신뢰 관계 편집 버튼을 누릅니다.
파란색 테두리에 만든 역할의 ARN 붙여넣기
2-2.EC2에 로그인하여 awscli 설정하기
EC2에 로그인(이번에는 세션 관리자 사용)
로그인 후 관리자 권한(su)으로 전환
2-2-1. 전환 후 프로파일 등록
[root@ip-10-10-10-131 ~]# aws configure --profile dev
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]: ap-northeast-1
Default output format [None]: json
여기서는 전환 후 이름을 dev로 정의합니다.
설정 후 configure 파일을 직접 엽니다.
[root@ip-10-10-10-131 ~]# vi .aws/config
'role_arn'과 'source_profile' 추가
2-2-2. 자격 증명 등록
[root@ip-10-10-10-131 ~]# vi .aws/credentials
credentials 파일 새로 만들기
[default]
aws_access_key_id = xxxxxxxx
aws_secret_access_key = xxxxxx
액세스 키와 비밀 액세스 키는 계정 B에서 사용할 수 있는 사용자를 등록합니다.
3. 실제로 시도해보십시오
3-1. 롤을 전환하지 않는 경우
ECR(Amazon Elastic Container Registry)에 로그인
[root@ip-10-10-10-185 ~]aws ecr get-login --region ap-northeast-1 --no-include-email > dlogin.sh
[root@ip-10-10-10-185 ~]chmod +x dlogin.sh
[root@ip-10-10-10-185 ~]./dlogin.sh
리포지토리 가져오기
[root@ip-10-10-10-185 ~]docker pull 'リポジトリのURI'
Error response from daemon: Get 'リポジトリのURI' no basic auth credentials
라는 바람에 인증 관계로 에러가 된다
3-2. 롤을 전환한 경우
ECR(Amazon Elastic Container Registry)에 로그인
[root@ip-10-10-10-185 ~]aws ecr get-login --region ap-northeast-1 --no-include-email --profile dev > dlogin_dev.sh
[root@ip-10-10-10-185 ~]chmod +x dlogin_dev.sh
[root@ip-10-10-10-185 ~]./dlogin_dev.sh
리포지토리 가져오기
[root@ip-10-10-10-185 ~]docker pull 'リポジトリのURI'
ダウンロード中..
・
・
・
・
Digest: sha256:0xx
Status: Downloaded newer image for 'リポジトリのURI'
획득한 이미지 확인
[root@ip-10-10-10-185 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
リポジトリ名 latest xxxxxxxxxxxx 13 months ago 5.37GB
마지막으로
이번은 Docker 이미지의 취득에 특화했지만, 롤의 전환은 CodeCommit로부터 문서의 취득 등에도 사용할 수 있으므로
비망록으로서 aws cli의 전환의 순서를 정리했습니다.
참고
AWS CLI 프로파일 간의 간편한 전환
AWS CLI에서 역할 전환 및 작업
Reference
이 문제에 관하여(【AWS CLI】 역할을 전환하여 다른 계정의 Docker 이미지를 가져옵니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/buru/items/9c53778f8a8a8e0e898d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
[root@ip-10-10-10-131 ~]# aws configure --profile dev
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]: ap-northeast-1
Default output format [None]: json
[root@ip-10-10-10-131 ~]# vi .aws/config
[root@ip-10-10-10-131 ~]# vi .aws/credentials
[default]
aws_access_key_id = xxxxxxxx
aws_secret_access_key = xxxxxx
[root@ip-10-10-10-185 ~]aws ecr get-login --region ap-northeast-1 --no-include-email > dlogin.sh
[root@ip-10-10-10-185 ~]chmod +x dlogin.sh
[root@ip-10-10-10-185 ~]./dlogin.sh
[root@ip-10-10-10-185 ~]docker pull 'リポジトリのURI'
Error response from daemon: Get 'リポジトリのURI' no basic auth credentials
[root@ip-10-10-10-185 ~]aws ecr get-login --region ap-northeast-1 --no-include-email --profile dev > dlogin_dev.sh
[root@ip-10-10-10-185 ~]chmod +x dlogin_dev.sh
[root@ip-10-10-10-185 ~]./dlogin_dev.sh
[root@ip-10-10-10-185 ~]docker pull 'リポジトリのURI'
ダウンロード中..
・
・
・
・
Digest: sha256:0xx
Status: Downloaded newer image for 'リポジトリのURI'
[root@ip-10-10-10-185 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
リポジトリ名 latest xxxxxxxxxxxx 13 months ago 5.37GB
이번은 Docker 이미지의 취득에 특화했지만, 롤의 전환은 CodeCommit로부터 문서의 취득 등에도 사용할 수 있으므로
비망록으로서 aws cli의 전환의 순서를 정리했습니다.
참고
AWS CLI 프로파일 간의 간편한 전환
AWS CLI에서 역할 전환 및 작업
Reference
이 문제에 관하여(【AWS CLI】 역할을 전환하여 다른 계정의 Docker 이미지를 가져옵니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/buru/items/9c53778f8a8a8e0e898d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(【AWS CLI】 역할을 전환하여 다른 계정의 Docker 이미지를 가져옵니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/buru/items/9c53778f8a8a8e0e898d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)