Infra/AWS

[AWS] AWS CLI 설치 (Mac OS)

아윤_ 2024. 8. 25. 00:26

AWS CLI(Command Line Interface)

AWS CLI는 터미널에 명령을 사용해 AWS 서비스와 상호 작용할 수 있는 오픈 소스 도구이다. 여러 개의 AWS 서비스를 명령줄에서 제어하고 스크립트를 통해 자동화할 수 있다.

 

AWS CLI 설치

해당 글에서는 Mac OS를 기준으로 AWS CLI v2를 설치하는 방법에 대해 살펴보며, Homebrew가 이미 설치되어 있다고 가정하고 설명을 진행한다.

 

Mac OS에서는 Homebrew를 사용해 간단하게 AWS CLI를 설치할 수 있다.

brew install awscli // awscli 설치

which aws // 설치 경로 확인
-> /opt/homebrew/bin/aws

aws --version // 설치 버전 확인
-> aws-cli/2.17.32 Python/3.11.9 Darwin/23.3.0 source/arm64

 

AWS 자격 증명

  • AWS CLI를 사용하기 위해서는 프로그램 방식 엑세스 자격 증명이 필요하다.
  • 프로그램 방식 엑세스 자격 증명은 장기 자격 증명과 임시 자격 증명으로 구성된다.
  • 장기 자격 증명
    • IAM 유저로부터 생성되며, 유저 하나당 2개의 자격 증명 발급이 가능하다.
    • 삭제하지 않을 경우 계속 사용이 가능하다 → 누군가에게 계정을 탈취당하면 과금 피해를 받을 수도 있다. 
  • 임시 자격 증명 (권장)
    • 단기로 사용할 수 있는 자격 증명으로 자격이 만료된 이후에는 엑세스 불가능
    • 필요한 시점에 바로 생성해서 활용하고, 필요에 따라 재발급 가능
    • 동적으로 생성되어 요청한 사용자에게 제공됨
    • 보안이 매우 뛰어나 장기 자격 증명보다 권장되는 방법

 

IAM을 이용한 자격 증명이 간편하긴 하지만, 권장되는 방법인 임시 자격 증명을 부여해 보자.

 

임시 자격 증명 부여

 

IAM Identity Center 사용자 생성

 

1. 루트 사용자로 AWS에 로그인

 

2. IAM Identity Center 대시보드 접속 후 IAM Identity Center 활성화

 

3. 그룹 → 그룹 생성

 

4. 사용자 -> 사용자 추가

 

5. 기본 정보 입력

 

6. 그룹 추가

 

이전에 생성한 그룹을 선택하여 사용자를 해당 그룹에 추가한다. 

 

7. 입력 정보 확인 후 사용자 추가 클릭

 

정상적으로 사용자가 추가된 것을 확인할 수 있다.

 

권한 관리 추가

 

1. 다중 계정 권한 -> AWS 계정 -> 계정 선택

 

2. 사용자 또는 그룹 할당 → 생성한 그룹 선택

 

3. 권한 세트 할당 → 권한 세트 생성

 

4. 사전 정의된 권한 세트 선택 → AdministratorAccess 선택

 

5. 세부 정보 지정

 

6. 내용 검토 후 생성

 

권한 세트가 원하는 대로 설정된 것을 확인했다면 '생성' 버튼을 클릭하면 권한 세트가 최종적으로 생성된다.

 

사용자 엑세스 테스트

 

1. IAM Identity Center 사용자를 생성하였을 때 기본 정보로 입력한 메일로 접속해 인증 메일을 확인 후, 계정을 활성화한다.

 

2. 가입을 위해 암호를 입력하면 계정이 생성되고, 이후에는 메일로 발송된 access portal URL로 로그인을 진행하면 된다.

 

권한 부여

 

생성한 계정으로 로그인을 진행했다면, 해당 계정에 권한을 부여해주어야 한다.

 

1. IAM Identity Center → AWS Organizations: AWS 계정 → 사용자 또는 그룹 할당

 

2. 그룹에 할당

 

3. 권한 세트 할당 후 다음 클릭

 

4. 내용 확인 후 제출 클릭

 

5. 이후에는 생성한 사용자 계정으로 로그인 시 root 계정처럼 AWS 콘솔을 사용할 수 있다.

 

CLI 세션 활성화

 

1. AWS CLI 설정

  • AWS CLI를 SSO를 통해 접근할 수 있도록 설정하기 위해 터미널에 아래의 명령어 입력
aws configure sso
  • 다음과 같은 요청 정보를 입력
    • SSO session name: 사용할 세션 명
    • SSO Start URL: SSO 계정을 사용하는 URL
    • SSO Region
    • 계정 및 역할

 

2. 브라우저 인증

  • 리다이렉션 되는 페이지에서 로그인
  • 접속할 계정을 선택하면 임시 Key가 생성된다.

 

3. profile 설정

  • CLI default client Region : 리전 옵션을 넣지 않았을 때 작업 할 Region 정보
  • CLI default output format : 출력 포맷은 이 작업에선 설정하지 않아도 됨
  • CLI profile name : --profile 옵션 사용할 때 해당 계정의 profile을 원하는 이름으로 설정 가능

 

4. 이후 CLI 명령 사용 시  --profile [프로필 이름] 을 넣어 사용

 

5. aws sso login 명령을 사용하여 로그인

aws sso login --profile [프로필 이름]

 

6. 이후 AWS CLI가 자동으로 자격 증명을 관리하며, AWS CLI를 사용할 수 있다.

 

참고
기본 IAM Identity Center 디렉터리를 사용하여 사용자 액세스를 구성합니다. - AWS IAM Identity Center

[AWS] 📚 장기 자격 증명(Access Key) & 임시 자격 증명(AssumeRole) 사용법
AWS로 이사하기 - 2 - IAM Identity Center
AWS CLI에서 SSO를 사용한 접속