[SAA] 섹션 4: IAM & AWS CLI

천호영·2022년 5월 12일
0

aws

목록 보기
3/10
post-thumbnail
post-custom-banner

IAM은 Identity and Access Management의 약자이고, Global Service이다.

  • Root account가 default로 만들어지는데, 이건 account setup을 제외하고 절대 쓰이거나 공유되면 안된다.
  • User는 사람 1명에 대응되고, Groups는 User들로 구성된다.(다른 group으로 구성 불가능)
  • 어떤 User가 Group에 속하지 않아도 된다.

IAM: Permissions

Policy는 JSON document인데, 여기에서 Permission을 정의하고, 이걸 User나 Group에게 할당한다.

  • User에게 반드시 필요한 permission만 부여해야 하고, 그 이상 부여하면 안 된다.

IAM은 Global Service라 오른쪽 상단에서 Region이 안 뜨고 Global로 뜬다.

IAM Policy 구조

스크린샷 2022-05-13 오전 1 12 35

특정 사람 한명에게 inline으로 policy를 부여할 수도 있고, group에 부여할 수도 있다. 또한 Policy는 기존에 만들어져 있는걸 그대로 써도 되고, 직접 만들어도 된다.

Multi Factor Authentication - MFA

MFA는 password에 더해 security device를 로그인 프로세스에 추가하는 것이다. 이를 통해 password가 노출되었을 때 방어가 가능하다.

AWS 접근법

  • AWS Management Console: password + MFA
  • AWS Command Line Interface(CLI): access key
  • AWS Software Developer Kit(SDK): access key

access key는 password와 같이 보안에 주의해야 한다. 즉, 다음과 같은 느낌이다.

  • Access Key ID: username
  • Secret Access Key: password

AWS CLI는 터미널에서 명령어를 통해 AWS 서비스들을 이용하게 해준다. 이때, 모든 명령어는 aws로 시작한다. 콘솔창 대신 CLI만 사용할수도 있다.

AWS SDK는 language specific한 라이브러리 모음이다.

aws cli에서 credentials가 여러개이면 profile을 등록해서 명령어 끝에 --profile을 붙이면 된다.

aws iam list-users --profile bsupremo7

AWS CloudShell

  • 지원하는 Region이 아직 적어서 실습할때, 서울이 아닌 다른 Region에서 진행했다.
  • cloudshell에서는 콘솔창에서 로그인된 credentials가 쓰인다.
  • --region으로 다른 region에 대해 명령어를 쓸 수 있다.(default는 현재 선택된 Region)
  • cloudshell에는 full repository가 있다.

IAM Roles

  • IAM Role은 User와 비슷한데, 사람 1명에 대응되는 개념이 아닌 AWS Service에 사용되는 역할 개념이다.
    Ex) EC2 Instance Roles, Lambda Function Roles, Roles for CloudFormation
    스크린샷 2022-05-13 오전 2 14 39

IAM Security Tools

  • IAM Crerentials Report(account-level)
    account의 모든 user에 대한 리포트(account 1개에 user 여러개)
  • IAM Access Advisor(user-level)
    user에 부여된 permission들이 언제 마지막으로 이용됐는지 확인할 수 있다. 이를 보고 최소 권한을 가지도록 설정이 가능하다.

IAM Guidelines & Best Practices

  • root account는 aws account setup을 제외하고는 사용하지 않는다.
  • 1 실제 사람 = 1 aws user
  • user를 group에 할당하고 group 단위로 permission을 관리
  • 강한 비밀번호 정책과 MFA 강제하기
  • AWS Service들에 권한 부여가 필요할 때 Role을 이용
  • CLI/SDK에서 access key 사용
  • IAM Credentials Report를 통해 permission 관리,감독
  • 절대 IAM User와 Access Key 공유하지 않기

IAM Summary

스크린샷 2022-05-13 오전 2 52 19
profile
성장!
post-custom-banner

0개의 댓글