Cloud/AWS

IAM Policy

uuuhhh 2022. 11. 11. 20:10

▪︎ IAM Policy


💡 Policy : 정책

 

  • Group A Policy
    • User a
    • User b
    • User c
  • Group B Policy
    • 다수의 Group에 포함된 User는 다수의 Policy 영향
    • User c
    • User d
  • Group C Policy
    • User d
    • User e
  • Inline Policy
    • User f

 

 

▪︎ IAM Policy JSON Example


{
	"Version": "2012-10-17"
	"Id": "S3-Account-Permissions",
	"Statement":[
		{
			"Sid": "1",
			"Effect": "Allow",
			"Principal": {
				"AWS": ["arn:aws:iam::123456789012:root"]
			},
			"Action": [
				"s3:GetObject",
				"s3:PutObject",
			],
			"Resource": ["arn:aws:s3:::mybucket/*"]
		}
	]
}
  • Version : 정책 언어 버전
    • 보통 2012-10-17
  • Id : 정책을 식별하는 ID
    • *optional
  • Statement : 구성 요소
    • 하나 또는 여러 개로 구성
    • *required
  • Sid : 문장 ID로 문장의 식별자
    • *optional
  • Effect : 문장이 특정 API에 접근하는 걸 허용할지 거부할지 결정
    • “Allow” / “Deny”
  • Principal : 특정 정책이 적용될 사용자, 계정 또는 역할
  • Action : Effect에 기반해 허용 및 거부되는 API 호출의 목록
  • Resource : 적용될 Action의 리소스 목록
  • Condition : Statement가 언제 적용될지를 결정
    • *optional

 

 

▪︎ User에 정책 부여하기


  1. 권한을 새로 생성하여 부여 하거나 기존의 정책 이용하기
  2. 인라인 정책을 추가하여 권한을 직접 사용자에게 부여하기

 

 

 

▪︎ AWS 관리형 정책


  • --AdministratorAccess
    • AWS의 모든 서비스 및 리소스에 대한 모든 액세스 권한 및 작업 권한을 위임
    • 이 정책은 계정 관리자에게만 사용하는 것이 좋음
  • --PowerUserAccess
    • IAM 및 조직에 대해서는 제한적인 액세스 권한
    • 그 밖의 모든 서비스에 대해 모든 액세스 권한이 필요한 고급 사용자의 경우
  • --(Read/Write)OnlyAccess
    • 모든 AWS 서비스 및 리소스에 대한 읽기 전용 액세스 권한을 제공
    • 부분 액세스 AWS 관리형 정책

 

 

▪︎  고객 관리형 정책


  • 사용자 자신의 AWS 계정에서 관리하도록 생성한 독립적인 정책
  • 생성한 정책은 AWS 계정에 속한 다수의 자격 증명에 연결 가능

 

 

▪︎ 인라인 정책


  • IAM 자격 증명(사용자, 그룹 또는 역할)에 포함되는 정책
  • 정책과 자격 증명을 정확히 1 대 1 관계로 유지
  • 자격 증명을 생성하거나 이후에 생성할 때 정책을 생성하여 자격 증명에 삽입

 

▪︎ 요약


  • 버전은 IAM 정책 자체의 일부이지, 문장의 일부가 아닙니다.
  • IAM 정책의 문장은 시드(Sid), 효과(Effect), 원칙(Principal), 조치(Action), 리소스(Resource), 그리고 조건(Condition)으로 구성됩니다.

 

 

ref.


https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/access_policies_managed-vs-inline.html