이전시간동안 우리는 AWS 계정을 관리하는 방법인 비밀번호 정책 +MFA에 대해 학습하였다. 이번시간은 AWS Access의 3가지 방법중 AWS Access Key관련 CLI,SDK에 대해 학습하려한다.
1. Access Key
"IAM 사용자 또는 AWS 계정 루트 사용자의 장기 자격 증명입니다. 액세스 키를 사용하여 AWS CLI 또는 AWS API에 대한 프로그래밍 요청에 서명할 수 있습니다(직접 또는 AWS SDK를 사용하여)" 라고 AWS는 말하고 있다. 간단하게 사용자를 증명해주는 키라고 생각하면 쉬울거 같다!
2.Access Key 발급받는 법
2-1. Command Line Interface(CLI)
"protected by access keys"즉 터미널에서의 AWS Access를 가능하도록 컴퓨터에서 설정하는 것
AWS CLI 사용이유
- AWS서비스를 공용 API로 직접 엑세스가능하게된다.
- 리소스를 관리하는 스크립트를 개발해 리소스(일부 작업)를 자동화할 수 있다.
- CLI는 오픈소스로 github에 공개되어 있다~
(물론 AWS CLI말고 사이트에서 관리할 수 있지만 한번 재대로 학습해두면 사용하기 편리하기 때문에 학습해보자!)
2-2.Software Developer Kit(SDK)
"for code: protected by access keys"즉 AWS 소프트웨어 키트(AWS SDK)를 어플리케이션 코드 내에 API를 호출할때 사용하는 방법이다.
AWS SDK
- 프로그래밍을 위한 Access를 가능하게 하주는 녀석
- 코딩을 통해 애플리케이션내에 심어두는 것
- 다양한 언어에서 사용가능하고 심지어 android,IOS와 같은 모바일에서도 사용가능하다!
(이번 가의에서는 Boto라는 Python용 AWS SDK 구축해보려한단다.. 참고로 직전 회사에서는 JS용 AWS SDK를 구축해봤는데 새로운거라 궁굼하다 ㅎㅎ)
관리방법
- 사요자들이 스스로 관리한다. 이때 Access Key는 사용자의 비밀번호와 같은 것이기 때문에 절대로 공유해서는 안된다.
Access Key ID : username , Secret Access Key = pwd
3. 실습
(나는 Mac을 사용하기 때문에 Window는 패스하는거루 ㅎㅎㅎ, AWS CLI 설치는 간단하다. 이유는 구글에 검색하면 다나와.. ㅎㅎ 나는 프로그램을 homebrew로 관리하고 있어 이거루 설치하겠다 코드 : brew install awscli)
3-1. 내컴퓨터에 IAM사용자 등록하기
1. 루트계정으로 IAM계정을 만들어주고 해당 계정으로 로그인한다(이건 저번 블로그에 내용이 있음!)
2.IAM/Users 페이지에서 create access key를 찾아 클릭 하고 CLI타입으로 Access Key를 생성하면 아래와 같이 만들어진다!
(이건 매우매우 중요하기 때문에 절대루 공개하지 않기!)
3. 내 컴퓨터에 cli를사용하기위해 계정등록
- 첫 로그인 "aws configure"로 발급받은 access key와 pwd, 그리고 연결할 리전 코드를 입력한다.
명령어
- aws configure : 내 컴퓨터에 사용자 정보를 입력한다.
- aws iam list-users : iam에 명시된 계정 리스트를 화인할 수 있는 코드 (만약 사용자에게 iam 권한이 없으면 사용할 수 없다)
tip CloudShell : 지역 가용성
만약 터미널에서 aws cli를 사용하지 않는다면 aws 자체 페이지에서 cli를 사용할 수 있다. (너무 쉬움 )
먼저 사용자 계정으로 로그인 후 cloudShell를 검색해서 실행시키면 끝!!
여기서 주의해야될점 ::::::>>> CloudShell은 모든 리전에서 사용되지 않고 특정 리전만 가능하니!! 꼭 확인하고 해당 리전으로 접속할도록!
(파일 업로드, 다운로드 등 기능들이 아주 많단다.. ㅎㅎㅎ)
4. IAM Roles for Services
마지막으로 사용자에게 서비스에 귄한을 부여하는 Roles을 만들어보자 --> 지금까지 우리는 유저에게 계정을 생성하고 권한을 부여하였지만 앞으로 EC2와 Lamda같은 서버스를 생성할 수 있도록 권한을 설정해줘야한다. 이때의 권한 설정을 Role를 생성해 유저에게 서비스 사용 권한을 결정해줄 수 있다. (ex> 우리가 EC2를 생성할때 IAM role과 하나의 게체로 만들어 사용한다!)
Role 생성 실습
1. IAM/Roles/Create Role클릭 하면 아래와같은 화면이 나온다.
2. 우리는 EC2에 사용할거기 때문에 EC2클릭하고 다음버튼(Next) 클릭
3. 해당 Role에서 사용할 권한을 고른다. 여기선 IAMReadOnlyAccess 권한을 선택하겠다.
4. 해당 Role의 name을 입력하면 최종적으로 사용자가 설정한 룰이 생성된다.
5.보안도구
마지막으로 IAM 보안도구들을 알려줄게요. ㅎㅎㅎ
정말 간단해요!
먼저 IAM Dashboard에서 좌측 목록에 "Credential report "를 클릭하면 파일을 다운로드 할 수 있다!
해당 파일을 열어보면 모든 IAM계정 정보를 확인할 수 있고 활성화된 것들, 최근 접속 날짜 등등... 모든 정보를 확인가능하다
다음으로 IAM/Users/특정 계정에 "Access Advisor"::> 요놈은 해당 계정이 어떤 서비스를 언제 이용했는지 또 사용하지 않는 서비스가 무엇이 있는지 확인 할 수 있는 페이지이다!!
추후에 이상한 놈이 있는지 확인할 수 있는 좋은 도구라구 한다!!!
끝!
'udamy > AWS Devleoper' 카테고리의 다른 글
3-1. EC2 인스턴스 유형 기본 사항 (AWS Certified Developer Associate) (0) | 2023.02.01 |
---|---|
3.EC2 기초 (AWS Certified Developer Associate) (0) | 2023.01.31 |
2-3. IAM MFA 개요 (AWS Certified Developer Associate) (0) | 2023.01.31 |
2-2. IAM 정책 (AWS Certified Developer Associate) (0) | 2023.01.30 |
2-1. IAM 및 AWS CLI 사용자로 로그인하기 (AWS Certified Developer Associate) (0) | 2023.01.30 |