Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 볼륨추가
- 테라폼 자동완성
- docker -i -t
- Authenticator
- AWS
- 볼륨 연결
- ebs 재부팅
- 컨테이너 터미널 로그아웃
- MFA 분실
- Terrafrom
- /etc/fstab 설정
- 컨테이너 터미널
- ebs 마운트
- docker 상태
- 리눅스
- 리눅스 시간대
- 테라폼 맥
- EBS 최적화
- AWS EBS
- 텔레메트리란
- xfs_quota
- 디스크 성능테스트
- Mac Terraform
- MFA 인증
- 테라폼 설치
- 테라폼 캐시
- EC2
- /etc/fstab 뜻
- epxress-generator
- EBS
Archives
- Today
- Total
I got IT
AWS_IAM 정책문 작성 본문
IAM Policy default behavior
AWS IAM 정책의 허용 여부 결정 프로세스는 다음과 같습니다.
◾ 명시적 거부 : 요청에 대한 모든 정책 문서에서 Deny를 탐색하고 존재할 시 무조건 거부
◾ 명시적 허용 : 요청에 대해 Allow일 때 같은 요청에 대한 명시적 거부가 없다면 허용
◾ 묵시적 거부 : 명시되지 않은 항목에 대한 모든 요청은 기본적으로 거부
기본적으로 정책 적용의 우선순위는 위 순서를 따르며 서로 Allow-Deny로 상충되는 항목이 있다면 Deny가 우선됩니다.
IAM Policy 작성 방법
IAM Policy는 JSON 형식으로 작성합니다.
◾ 코드로 직접 작성
◾ 시각적 편집기
이는 AWS 콘솔에서도 확인 가능합니다.
그 외 AWS Policy Generator 라는 웹사이트를 사용해도 좋습니다.
https://awspolicygen.s3.amazonaws.com/policygen.html
구성 요소
IAM Policy 의 구성요소는 다음과 같습니다.
- Version : 최신 2012-10-17 버전 사용 권고합니다.
- Statement : 이 주요 정책 요소를 다음 요소의 컨테이너로 사용합니다. 정책에 설명문 둘 이상을 포함할 수 있습니다.
- Sid(선택 사항) : 선택 설명문 ID를 포함하여 설명문들을 구분합니다.
- Effect : Allow 또는 Deny를 사용하여 정책에서 액세스를 허용하는지 또는 거부하는지 여부를 설명합니다.
- Principal (일부 상황에서만 필요) : 리소스 기반 정책을 생성하는 경우 액세스를 허용하거나 거부할 계정, 사용자, 역할 또는 연동 사용자를 표시해야 합니다. 사용자 또는 역할에 연결할 IAM 권한 정책을 생성하면 이 요소를 포함할 수 없습니다. 보안 주체는 사용자 또는 역할을 의미합니다.
- Action : 정책이 허용하거나 거부하는 작업 목록을 포함합니다.
- Resource (일부 상황에서만 필요) : IAM 권한 정책을 생성하는 경우 작업이 적용되는 리소스 목록을 지정해야 합니다. 리소스 기반 정책을 생성하는 경우 이 요소는 선택 사항입니다. 이 요소를 포함하지 않으면 작업이 적용되는 리소스는 정책이 연결된 리소스입니다.
- Condition (선택 사항) : 정책에서 권한을 부여하는 상황을 지정합니다.
IAM Policy 예시
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "FirstStatement",
"Effect": "Allow",
"Action": ["iam:ChangePassword"],
"Resource": "*"
},
{
"Sid": "SecondStatement",
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "*"
},
{
"Sid": "ThirdStatement",
"Effect": "Allow",
"Action": [
"s3:List*",
"s3:Get*"
],
"Resource": [
"arn:aws:s3:::confidential-data",
"arn:aws:s3:::confidential-data/*"
],
"Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
}
]
}
위 정책은
1) 모든 IAM User에 대해 비밀번호를 변경할 수 있는 권한
2) 특정 계정의 Bucekt의 리스트를 조회할 수 있는 권한
3) confidential-data 버킷 및, 버킷 안의 객체들에 대해 List*, Get* 즉 조회 및 내려받기 관련한 모든 권한
을 부여하는 정책문입니다.
'AWS > IAM' 카테고리의 다른 글
AWS_IAM 모범사례 (0) | 2023.04.06 |
---|