IAM

Jong_cc·2026년 1월 7일

AWS

목록 보기
2/2
  1. IAM Policy (정책) 구조 분석
    IAM 정책은 JSON 형식으로 정의된다. 각 항목이 의미하는 바를 정확히 알아야 나중에 정책을 직접 짤 수 있다.

JSON

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::my-bucket",
            "Condition": {"IpAddress": {"aws:SourceIp": "1.2.3.4/32"}}
        }
    ]
}

Sid (Statement ID): 문장의 식별자. 어떤 역할을 하는 문장인지 적어둔다.

Effect: 허용(Allow)할지 거부(Deny)할지 결정. (가장 중요)

Principal: 특정 정책을 적용할 계정이나 유저를 지정한다.

Action: 어떤 API 호출을 허용/거부할지 목록을 적는다. (ex: S3 읽기, EC2 중지 등)

Resource: 액션이 적용될 구체적인 리소스 목록이다.

Condition: 정책이 언제 적용될지 결정하는 조건이다. (ex: 특정 IP에서만 접속 가능)

기억할 점: Effect, Principal, Action, Resource는 필수 요소다.

  1. 비밀번호 정책 및 MFA
    계정 보안을 위해 반드시 설정해야 하는 부분들이다.

Password Policy: 비밀번호 복잡도나 만료 기간을 설정한다.

MFA (다중 인증): 비밀번호 + 물리적 보안 장치 조합이다. 비밀번호가 털려도 물리 장치가 없으면 접속을 못 하니 보안성이 확 올라간다.

가상 MFA: Google Authenticator 같은 앱 사용. 폰 하나에 귀속됨.

U2F (물리적 보안 키): YubiKey 같은 전용 장치.

Hardware Key Fob: 하드웨어 보안 토큰 (TOTP 방식).

GovCloud용: 미국 정부용 클라우드 전용 장치.

  1. AWS 접근 방식 및 Access Key
    유저가 AWS에 접근하는 방법은 크게 3가지가 있다.

Management Console: 웹 브라우저 접속 (ID/PW + MFA 방식).

AWS CLI: 터미널에서 명령어로 제어. Access Key가 필요하다.

AWS SDK: 코드 내에서 API를 호출할 때 사용. 역시 Access Key가 필요하다.

Access Key 관리 주의사항:

Access Key ID는 유저네임, Secret Access Key는 비밀번호와 같다.

절대 공유하면 안 되고, 특히 코드에 하드코딩해서 깃허브 같은 곳에 올리면 큰일 난다.

  1. AWS CloudShell 활용
    웹 콘솔에서 바로 터미널을 쓸 수 있는 기능이다.

무료로 사용 가능한 터미널 개념이다.

내 계정의 자격 증명이 이미 적용되어 있어 aws iam list-users 같은 명령어가 바로 작동한다.

파일 저장소가 있어서 재시작해도 파일이 남아있는 게 큰 장점이다.

  1. IAM Role (역할)
    사람이 아니라 AWS 서비스에게 권한을 줄 때 사용한다.

EC2나 Lambda 같은 서비스가 다른 AWS 리소스(S3 등)에 접근해야 할 때 Role을 만들어 부여한다.

실제 사람이 쓰는 게 아니므로 장기적인 비밀번호(Access Key)가 필요 없고, 임시 자격 증명을 사용해서 훨씬 안전하다.

대표적 예시: EC2 Instance Role, Lambda Function Role.

  1. 보안 검토 도구 (Audit)
    내가 설정을 잘했는지, 안 쓰는 권한은 없는지 확인할 때 유용하다.

IAM Credentials Report: 계정 내 모든 유저의 자격 증명 상태(MFA 설정 여부 등)를 보고서로 뽑아준다. 계정 수준의 점검에 좋다.

IAM Access Advisor: 유저가 부여받은 권한 중 실제로 언제 마지막으로 사용했는지 보여준다. 안 쓰는 권한을 찾아내서 삭제하는 '최소 권한 원칙'을 지키기에 딱이다.

Root 계정은 초기 설정 후에는 절대 쓰지 말자.

한 사람당 하나의 IAM 유저를 만들자.

유저에게 직접 권한을 주기보다 그룹에 유저를 넣고 그룹에 권한을 주자.

MFA는 나뿐만 아니라 다른 유저들에게도 강제하자.

Access Key는 꼭 필요할 때만 만들고 정기적으로 교체하자.

profile
능동적인 삶을 위하여

0개의 댓글