Search
Duplicate
⛸️

Security Best Practices(feat. IAM)

1.Identity and Access Management.pdf
8195.0KB

자격 증명 및 액세스 관리

AWS IAM(Identify and Access Management)

ARN: Amazon Resource Name
arn:aws:s3:::my_coporate_bucket/*
—> S3 bucket은 Global하고 Unque해야하므로 region, account 정보가 없어도 접근 가능.
특정 사용자, 리소스에 안전하게 권한 부여
다른 계정의 사용자가 접근하게 하기 위해 IAM 역할 부여
Bob 사용자가 추가적으로 아래 정책을 가지고 있다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::ACCOUNT-NUMBER:role/AccessEC2" } ] }
JSON
복사
AssumeRole
STS를 통해 IAM 역활과 같은 힘을 일시적으로 얻음.
Actions, resources, and condition keys for AWS Security Token Service
IAM > Roles > {ROLE} > Trust relationships(서비스 신뢰)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
JSON
복사
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::ACCOUNT-NUMBER:role/ROLE-NAME" } ] }
JSON
복사
권한 부여는 Policy(정책) 문서를 통해서 부여한다.

인증(Authentication)

소프트웨어 MFA - Authy (https://authy.com/)
하나의 사용자가 최대 2개의 액세스 키 생성 가능.

승인(Authorization)

사용자 기반 정책 - 자격 증명 기반의 정책
Amazon S3
Buckets > Bucket > Permissions > Bucket Policy
Principal(주체) - 리소스 기반의 정책에서만 사용.
리소스 입장에서 자신에게 접근하는 주체(Pricipal)을 지정할 필요가 있다.!!
좌측 - “NotAction”: “iam:*” —> iam:*을 제외하고 모든것을 허용할거야..
우측 - 명시적 거부(Deny)를 설정했기 때문에 추후 허가(Allow)가 입력되더라도 거부. 우선순위가 Deny가 높다.
${aws:username} —> 모든 사용자에 대한 권한 부여 가능....
Actions, resources, and condition keys for Identity And Access Management
PassRole
PassRole은 AWS 서비스에 IAM 역할을 전달할 수 있는 권한을 나타냄.

교차 계정 액세스

AWS STS를 사용

서비스 제어 정책(AWS Organizations)

교집합만 허용. SCP에서 특정 Account에서 사용할 리소스 제어 가능