AWSCLI 설치 및 SSO 사용법

이재하·2024년 11월 11일
0
post-thumbnail

Welcome to Jaehai.Opslog


안녕하세요! 넓은 스펙트럼을 바탕으로 전체적인 그림을 보는 Ops Engineer 이재하입니다.

이번 글에서는 AWS Organization을 사용해야하는 이유와 AWSCLI SSO를 이용해서 접근하는 방법에 대해서 알려드리겠습니다.

1. AWS Organization이란?


AWS Organization이란 AWS 계정 n개를 중앙 관리할 수 있는 서비스입니다.

현업에서 사용할 때는 dev / prod / stage 등 역할마다 계정을 사용하기 때문에,
이를 중앙 관리 할 수 있도록 사용했습니다.

현업자이신 경우 크레딧 지원 등의 이유로 파트너 사와 계약을 하시게 되실 경우 Orgaization 주체가 파트너 사가 되기 때문에 사용하실 수 없습니다.

2. AWS IAM Identity Center란?


IAM Identity Center는 기존 AWS IAM과 비슷하지만 Organization을 기반으로 사용하는 것에 대해 차이점이 있습니다. 기존 IAM은 각 계정에 하위 유저를 만드는 것이라면 IAM Identity Center는 조직에 유저를 추가할 수 있고, 그룹과 정책을 매칭하여 사용할 수 있습니다.

!https://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/privacy-reference-architecture/images/aws-pra-org-structure.png

3. SSO를 왜 사용해야하는가?


여러분도 아시다시피 Access Key는 권한에 따라 해킹에 위험성이 매우 큽니다.

이를 방지하기 위해서는 엑세스 키를 만들었다 지웠다 해주어야하는데 이는 매우 쉽지 않습니다.

하지만 SSO를 사용하면 자동으로 임시 자격 증명을 생성하여 보안을 강화할 수 있습니다.

4. AWSCLI 설치


AWSCLI 설치는 OS에 따라 아래 링크에서 확인할 수 있습니다.

최신 버전의 AWS CLI설치 또는 업데이트 - AWS Command Line Interface

5. AWSCLI 사용법


본격적으로 AWSCLI를 통해 접근해보도록 하겠습니다.
아래 명령어는 SSO 접근을 위한 profile을 만드는 것입니다.

aws configure sso

AWS SSO 세션시간은 identity center에서 설정한 세션 시간과 같습니다.

SSO session name (Recommended): #sso_세션이름 (jaehai-admin)
SSO start URL [None]: #dobapps_url_입력(https://dobstudio.awsapps.com/start)
SSO region [None]: #리전 입력(ap-northeast-2)
SSO registration scopes [sso:account:access]: #기본값(엔터)
Attempting to automatically open the SSO authorization page in your default browser.
If the browser does not open or you wish to use a different device to authorize this request, open the following URL:

# 브라우저 창이 열린다면 브라우저에서 진행
## 만약 안뜬다면 아래 URL 들어가서 아래 코드 입력
https://device.sso.ap-northeast-2.amazonaws.com/

Then enter the code:
# 코드
XXXX-XXXX
There are 2 AWS accounts available to you.
Using the account ID #account-id_12자리
There are 3 roles available to you.
Using the role name #role_name_선택
CLI default client Region [None]: #리전 입력(ap-northeast-2)
CLI default output format [None]: json
CLI profile name [Rolename-account_id]: #프로필_이름

AWS SSO가 제대로 로그인 되었는지 확인해볼까요?

aws s3 ls --profile #프로필_이름

SSO 세션 시간이 만료되어 재로그인할 때는 아래와 같이 진행해주시면 됩니다.

aws sso login --profile 프로필 이름

마무리


이렇게 AWSCLI를 통해 SSO를 사용하는 방법에 대해서 알아봤습니다.

추후에 모든 기술 블로그는 jaehai.com/post에 업로드 될 예정입니다.

제 글이 도움이 되셨다면 ops-jaeha Github 팔로우 부탁드리겠습니다!

ops-jaeha - Overview

참고 자료


https://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/privacy-reference-architecture/organization-account-structure.html

profile
누군가는 해야만 하는 일을 하는사람

0개의 댓글