[AWS] IAM을 알아보자

구동현·2024년 5월 30일

저희 팀에는 CICD 팀과 개발 팀이 존재했습니다.
각자가 사용하고자하는 AWS의 서비스와 리소스가 달라서 2개의 Group을 생성하고, 팀원 한명당 하나의 user를 부여했습니다. 그 과정에서 policy를 group에 할당하기도 하는 과정을 가졌습니다.
이번 글에서는 이 과정에 대한 좀 더 자세히 알아보도록 하겠습니다.


IAM

AWS 리소스에 엑세스 할 수 있는 권한을 관리하는 글로벌 서비스

AWS 서비스를 잘 사용하는 방법
1. service에 엑세스 할때는 root 말고 user 생성
2. 실제 인물 당 user 하나씩
3. group도 할당
4. MFA 사용하자
다음과 같은 방법을 어떻게 하는지 배워보자

Root Account

AWS 계정을 생성하면 1개의 Root Account를 가지게 된다.

Root Account로 AWS리소스에 엑세스 하는 것보다, User를 생성하는 용으로 사용해야 한다.

User

2개 이상의 Group에 속할 수 있다.

Group

user들을 포함한다.

Policy

json 타입으로 정의된다.

최소한의 권한만 주어져야 한다.

user이나 group에게 할당 가능하다.

Group에 할당된 policy는 group에 속한 유저에게 상속된다.

  • Version
  • Id
  • Statement
    • sid
    • effect : allow or deny
    • principal : user나 role 어디에 적용되었는지
    • actions : 어떤 행동
    • resource : 어떤 자원에 시도
    • condition(선택) : Ip, region, tag, mfa 유무 등으로 설정가능 S3:ListBucket을 선언한 뒤 GetObject 등을 해야한다. AWS : PrincipalOrgID 설정하면 그 조직이 아닐경우 접근이 불가능 하다.

AWS Service에 엑세스 하는 방법

  1. management consol : 사이트에서 가능
  2. Command Lind Interface : terminal에 하는 것
  3. Software Developer Kit : application 안에 존재
  4. CloudShell

IAM Role

서비스에게 할당함

Security

  • IAM Credential Report - account level
  • IAM Access Advisor - user level

Organization

이것도 글로벌 서비스

AWS Accounts의 그룹화를 할 수 있다.

비용은 총괄적으로 관리하고 지불한다.

root organization unit (OU)

1개의 management account, 나머지는 member account

하위의 OU 생성 가능

SCP의 원칙을 사용해서 보안을 관리할 수 있다.

IAM Permission Boundaries

policy로 allow하는 것에 경계를 세워줄 수 있다.

IAM Identity Center

== single sign on

여러개의 계정을 한번에 로그인이 가능하다.

profile
개발합시다

0개의 댓글