CLI를 위한 Access key 만들기
// access key
// secret access key
aws iam list-users
IAM 권한에 따라 CLI도 동일한 권한을 가진다
Cloud shell
모든 리전에서 가능한 서비스는 아니며 aws 터미널을 통해 명령을 내리는 것 대신에 사용할 수 있는 대안이다.
한국 리전에서는 사용이 불가능해 도쿄 리전으로 바꿔서 사용했다.
aws --version
aws-cli/2.11.18 Python/3.11.3 Linux/5.10.178-162.673.amzn2.x86_64 exec-env/CloudShell exe/x86_64.amzn.2 prompt/off
명령어를 입력하면 api 호출 결과를 반환해준다. 반환 결과는 현재 클라우드를 사용중인 계정에 따라간다.
--region을 사용해 리전을 지정해 결과를 받을 수 있으며 지정하지 않을시 현재 사용중인 리전을 따라간다.
- Cloudshell 환경에선 전체 저장소가 있는데 파일을 만들고 저장시킨 뒤 재접속해도 파일이 그대로 남아있다.
- 터미널을 위한 설정도 가능 (글자크기 변경 등)
- 클라우드 쉘 환경의 파일 업/다운로드 또한 가능
cloud shell은 aws에서 만든 원격 ssh 터미널 + 다양한 GUI가 추가 된 것
IAM Role
- aws 서비스 몇 가지는 우리의 계정에서 실행해야 한다
- 이를 위해선 권한이 필요하고 aws 서비스에 권한을 부여 피료
- 그러기 위해선 IAM Role
- 실제 사람이 사용하도록 만들어진 것이 아니고 AWS에 의해 사용되도록 만들어지는 것
EX)
EC2 인스턴스를 만들었을 때 EC2는 AWS에서 어떤 작업을 수행하려고 할 수 있다.
그러기 위해선 EC2 인스턴스에 권한을 부여해야 한다. 이를 위해 IAM Role을 만들고 EC2와 묶어 하나의 개체로 만들 수 있다.
이렇게 하면 EC2 인스턴스가 AWS에 있는 어떤 정보에 접근하려고 할 때 IAM Role을 활용해 접근한다.
IAM Role 실습
- AWS 서비스에 대한 Role과 관련된 것만 알아볼 것
- Lambda함수와 EC2서비스에 관한 것이 가장 많이 사용됨
- EC2 관련된 것을 만져볼 것
- 다양한 Role이 있지만 지원하지 않는 서비스도 많다
- IAM read only access만 추가해보았고 이후 EC2에서 적용되는 것을 확인해볼 예정
IAM Security Tool
- IAM Credentials Report(account-level)
- 전체 유저에 관한 다양한 정보를 볼 수 있다
- IAM 자격 증명 보고서를 만들수 있고 계정 수준에서 사용가능
- 보고서는 계정에 있는 사용자와 다양한 자격 증명의 상태를 포함
- IAM Access Advisor(user-level)
- 엑세스 관리자는 사용자에게 부여된 서비스의 권한과 해당 서비스에 마지막으로 엑세스한 시간이 보인다
- 어떤 권한이 사용되지 않는지 확인할 수 있고 사용자의 권한을 줄여 최소 권한의 원칙을 지킬 수 있다
보안 도구 실습
- 자격 증명 보고서 만들기
- 언제 로그인했는지 액세스 키를 만들었는지 MFA를 사용중인지, 비밀번호를 바꾸지 않았는지 계정을 사용하는지 파악할 때 매우 유용하며 보안 측면에서 어떤 사용자를 주목해야한느지 발견하는데 도움을 줄 수 있다.
- Access Advisor
- 어떤 작업에 언제 접근했는지에 대해 알 수 있다.
- 접근하지 않는 서비스들을 삭제할 수 있다.
IAM 가이드라인과 모범사례
- 루트 계정은 AWS 계정을 설정할 때를 제외하고 사용하지 않는다.
- IAM 사용자를 추가한다.
- 루트 계정과 개인 계정을 구분해야 한다
- IAM 사용자를 추가한다.
- 하나의 AWS 유저는 한 명의 실제 사용자를 의미한다
- 협업시 루트 자격 증명(Root User Credential)을 주지말고 새로운 사용자를 만들어준다.
- 사용자를 그룹에 넣어 해당 그룹에 권한을 부여할 수 있다.
- 그룹 수준에서 보안 관리 가능
- 비밀번호 정책을 강력하게 만들어야한다
- MFA(다인증 요소)를 사용할 수 있다면 훨씬 안전하다
- AWS 서비스에 권한을 부여할 때 역할을 만들고 사용해야한다
- AWS CLI와 SDK를 사용할 경우 엑세스 키가 필요하다
- 계정의 권한을 검사할 때 IAM 자격증명보고서와 IAM 액세스 분석기를 사용할 수 있다.
IAM 요약
- 회사내 실제 사용자와 AWS 유저는 서로 대응된다
- 사용자는 콘솔에 대한 비밀번호를 가진다
- 모범 사례는 사용자를 그룹으로 둔다
- 그룹은 사용자만을 포함한다
- 사용자나 그룹에 권한 부여 IAM 정책문서 JSON으로 구성
- 사용자나 그룹이 할 수 있는 권한을 알려주는 문서
- aws 서비스가 다른 aws 서비스를 활용해 무언가를 하려고 할 때 Role을 설정할 수 있다
- IAM Role
- MFA, 강력한 패스워드 정책을 통해 보안성을 높일 수 있다
- CLI 또는 SDK를 활용해 aws 접근하려고할 때는 엑세스 키가 필요하다
- 자격 증명 보고서를 통해 사용자 관련 정보를 볼 수 있다
- IAM의 특정 사용자를 감시하고 싶으면 엑세스 관리자를 사용하여 최근 권한의 사용 내역을 확인할 수 있다.
IAM 퀴즈 오답
IAM 정책은 하나 이상의 문장으로 구성되는데 문장의 구성요소가 아닌 것은
- 효과
- 원칙
- 버전
- 조치
- 리소스
버전은 정책 정의 자체의 일부이지 문장의 일부가 아니다.
시드, 효과,원칙,조치(Action),리소스,조건으로 구성
'TIL > AWS' 카테고리의 다른 글
EC2 - SAA Level (1) | 2023.05.17 |
---|---|
AWS SAA를 위한 EC2 공부하기 (2) (0) | 2023.05.15 |
AWS SAA를 위한 EC2 공부하기 (1) (1) | 2023.05.15 |
AWS IAM이 무엇인지 공부하고 실습하기(1) (0) | 2023.05.11 |
AWS 시작하기 (0) | 2023.05.10 |