반응형
0. 들어가며
해당 글은 본인이 노션으로 작성해 공유한 AWS 보안 점검 및 설정 가이드의 내용을 티스토리에 옮긴 것입니다.
1. 개요
- 담당자별로 접근 가능한 S3 저장 공간을 할당하고, Access Key 등 중요 정보를 이곳에 저장ㆍ관리 필요
2. 취약점 판단 기준
- Access Key 등 중요 정보를 S3가 아닌 개인 PC에 저장해 관리하는 경우 취약
- Access Key 등 중요 정보를 담당자별 S3에 저장하여 관리하는 경우 취약하지 않음
3. 취약점 확인 방법
- 관리 콘솔에서 [S3] 검색 → [버킷] 메뉴 클릭
- 버킷 목록에서 담당자별 디렉터리 생성 여부 확인
4. 취약점 조치 방법
- [상황] Kim 과 Hong 두 개의 IAM 계정이 존재하는 상황에서 각각 S3 디렉터리를 할당하고자 하는 상황
- 관리 콘솔에서 [S3] 검색 → [버킷] 메뉴 → [버킷 만들기] 클릭
- 버킷 생성
- 생성한 버킷으로 이동 → [폴더 만들기] 클릭
- 폴더 생성
- IAM 계정별 디렉터리 생성
- 관리 콘솔에서 [IAM] 검색 → [정책] 메뉴 → [정책 생성] 클릭
- JSON(1)을 활용하여 다른 IAM 계정에서 자신의 S3 디렉터리로 접근을 방지하는 정책 생성
# [bucket_name]과 [directory_name]을 할당할 경로에 맞게 수정 필요
# 예시) bucket_name : tmp-indi-dics / directory_name : users
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowUserToSeeBucketListInTheConsole",
"Action": [
"s3:ListAllMyBuckets",
"s3:GetBucketLocation"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::*"
]
},
{
"Sid": "AllowRootAndHomeListingOfCompanyBucket",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::[bucket_name]"
],
"Condition": {
"StringEquals": {
"s3:prefix": [
"",
"[directory_name]/"
],
"s3:delimiter": [
"/"
]
}
}
},
{
"Sid": "AllowListingOfUserFolder",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::[bucket_name]"
],
"Condition": {
"StringLike": {
"s3:prefix": [
"[directory_name]/${aws:username}/*"
]
}
}
},
{
"Sid": "AllowAllS3ActionsInUserFolder",
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::[bucket_name]/[directory_name]/${aws:username}/*"
]
}
]
}
- JSON(1)을 활용해 생성한 정책을 IAM 계정에 연결
- IAM 계정으로 관리 콘솔 로그인 후 본인 소유의 디렉터리에만 접근 가능함을 확인
6. 참고
반응형
'AWS' 카테고리의 다른 글
AWS RDS 인스턴스 암호화 여부 확인 (0) | 2023.03.15 |
---|---|
AWS MFA Delete 활성화 (0) | 2023.03.15 |
AWS 버킷 퍼블릭 액세스 차단 여부 확인 (0) | 2023.03.15 |
AWS CloudFront OAI 설정 (0) | 2023.03.15 |
AWS 버킷 버전 관리 및 암호화 설정 (0) | 2023.03.15 |