AWS에서Authentication을 수행하여AWS 자원 / 서비스에 접근 시 보통AWS 웹콘솔/AWS CLI/AWS SDK방식이 존재.
AWS 웹 콘솔:
。AWS Console에 로그인하여패스워드 + MFA를 활용하여AWS 서비스에 접근
AWS CLI( Command Line Interface ) :
。사용자 터미널에서AWS CLI를 통한Access Key로AWS 자원 / 서비스의API에 접근 시 사용하는 기능
▶ 주로자동화구현 시 사용
。Access Key에 해당하는AWS IAM User에 부여된권한을로컬 터미널에서AWS CLI를 통해 수행
▶AWS 콘솔에 접속하지않아도AWS 서비스를 사용
- AWS CLI 설치
리눅스의 경우unzip을 따로 설치sudo apt update sudo apt install unzip -y。설치 후
aws --version을 통해 설치여부 확인
AWS Access Key생성
。IAM User의Access Key발급 및AWS CLI용도로 발급하기
aws configure 명령어를 통해AWS CLI에AWS Access Key등록
aws configure AccessKey입력 SecretAccessKey입력 리전명입력
- 등록한
AWS Access Key를 통해AWS CLI로AWS 서비스호출
。aws iam list-users를 통해AWS 계정내IAM User조회
AWS SDK( Software Development Kit ) :
。어플리케이션내 에서AWS SDK를 통해Access Key로AWS 자원 / 서비스의API에 접근 시 사용
▶JS, JAVA, ...등의 여러프로그래밍 언어에 대해 지원
Access Key
。AWS에서CLI또는SDK를 사용 시 필요한자격증명
▶터미널에서AWS 자원 / 서비스에 대한 접근을 허용
。Access Key ID와Secret Access Key를 포함하여Github Repository에 업로드하지않도록 주의
。단일IAM User당 2개의Access Key Pair(<Access Key ID, Secret Access Key>) 발급 가능
▶ 2개를 모두 사용하는게 아닌, 해당AccessKey를 교체하기위한Rotation용도
Access Key ID:IAM User ID에 해당하는Key
Secret Access Key:패스워드에 해당하는Key
Profile
。자격증명 단위
▶ 서로 다른자격증명에명칭(prod,dev, ... )을 부여하여 각각의IAM USER에 에 부여된 권한이 필요할때마다스위칭하는 기능
。Cloud Shell에aws configure --profile 프로필명을 입력 후 해당프로필에 설정할IAM User의AccessKey의<Access Key ID, Secret Access Key>와리전ID를 입력하여 생성
▶ 특정권한이 필요한 작업을 수행할때마다 해당권한을 가진IAM User의Profile로스위칭해서 활용
자격증명관리 방법
。IAM User를어플리케이션별로 생성 후Access Key를 전달
。별도 파일에자격증명을 저장 후런타임시자격증명을 인증하는 방식으로 사용
AccessKey발급
。IAM - 액세스 관리 - 사용자에서 생성된IAM User 계정을 클릭 후보안 자격 증명 - 액세스 키에서액세스키생성
▶ 해당IAM User 계정에 대해서 총 2개까지의액세스 키를 생성할 수 있음.
。 생성된AccessKey의Pair<Access Key ID, Secret Access Key>를 확인가능
▶Secret Access Key는Token처럼 다시 확인이 불가능하므로비활성화 - 삭제후Access Key를 재발급해야한다.
▶작업버튼을 눌러서 해당AccessKey의활성화 / 비활성화 / 삭제가 가능