AWS는 클라우드 공급자 업체로써, 사용자가 필요한 만큼의 IT 인프라를 제공하고 그 만큼의 비용을 부과하는 클라우드 컴퓨팅 서비스.
API Call ("EC2 하나 만들어 달라")
위로 갈수록 접근편의성이 쉽고, 제어범위가 좁고, 자동화 구성이 어렵다.
밑으로 갈수록 접근 편의성이 어렵고, 제어범위가 넓고, 자동화 구성이 쉽다.
-> 결국 이 세가지 모두 원시 API 형태로 변환되어 전달됨
1. 사용자를 정의하는 IAM User, IAM Group, IAM Role 영역
2. 각 사용자의 권한을 정의하는 IAM Policy(s) 영역
사용자 권한은 1:N 매핑. 각 단위 객체에 권한을 붙여 사용하게 됨.
즉 하나의 AWS 계정 내에는 모든 권한을 가진 하나의 루트계정과 다수의 IAM User, 다수의 IAM Policy가 존재.
IAM User의 인증 방식
IAM Group은 IAM User를 집합 단위로 묶어 권한 통합 관리하기 위한 것.
IAM Role
IAM User. Group, Role의 권한을 정의하는 객체
{
"Version": "2012-10-17", //Policy의 문법 버전
"ID" : "S3PolicyID1" // Policy ID(임의 작성 가능)
"Statement": [
{
"Sid" : "IPAllow", // 정책 설명(임의 작성 가능)
"Effect": "Allow", // Allow/Deny 설정으로API 허용/거부 정의
"Principal": "*", // API Access가 가능한 계정 또는 Amazon Resource Name
"Action": "s3:*", // 사용가능한 API(ex. s3:ListBucket, s3:GetBucket 등)
"Resource": "arn:aws:s3:::examplebucket/*" //타겟이 될 리소스로 ARN 형식 사용
"Condition":[ //세부 설정 조건으로 필수항목 X
"IpAddress": {"aws:SourceIP": "54.240.143.0/24"}
"NotIpAddress": {"aws:SourceIP": "54.240.143.188/32"}
}
}
]