Ssoon

AWS IAM Workshop - 리소스 기반 정책(Resource-based policies) 본문

AWS Hacking & Security Study

AWS IAM Workshop - 리소스 기반 정책(Resource-based policies)

구구달스 2023. 9. 6. 23:22
CloudNet@가시다님이 진행하는 "AWS Hacking & Security Study" 1기 스터디입니다.
# AWS IAM Workshop 를 참조하였습니다.

지정된 보안 주체해당 리소스에 대한 특정 작업을 수행할 수 있는 권한을 부여하고 이러한 권한이 적용되는 조건을 정의

  • 인라인 정책이며 관리형 리소스 기반 정책은 없습니다.
  1. 리소스 기반 정책의 구성: 리소스 기반 정책은 일반적으로 JSON 형식으로 작성됩니다. 이 정책은 AWS 리소스(예: S3 버킷, Lambda 함수, SNS 주제 등)와 관련하여 정의됩니다. 정책은 해당 리소스의 액세스 권한을 세부적으로 정의하며, 어떤 엔터티가 어떤 작업을 수행할 수 있는지를 정의합니다.
  2. 리소스와 정책의 연결: 리소스 기반 정책은 특정 리소스와 연결됩니다. 예를 들어, S3 버킷에 대한 리소스 기반 정책은 해당 버킷과 연관되며 해당 버킷에 대한 액세스 권한을 정의합니다.
  3. 액세스 권한 정의: 리소스 기반 정책은 다양한 액세스 권한을 정의할 수 있습니다. 예를 들어, S3 버킷 리소스 기반 정책은 읽기, 쓰기, 삭제 등의 작업에 대한 액세스 권한을 부여할 수 있습니다.
  4. 엔터티와 연결: 리소스 기반 정책은 다른 AWS 엔터티(계정, IAM 역할, IAM 그룹 등)에게 연결될 수 있습니다. 이를 통해 엔터티가 해당 리소스에 대한 액세스 권한을 얻을 수 있습니다.
  5. 액세스 제어: 리소스 기반 정책을 사용하여 엔터티가 리소스에 대한 액세스를 어떻게 할 수 있는지를 제어합니다. 엔터티가 해당 리소스에 대한 정책을 가지고 있다면 정책에 정의된 액세스 권한을 따를 것입니다.

 

Resource-based policies 설정

  • S3의 리소스 기반 정책을 추가하여, Dev-Intern의 요청은 모두 허용하도록 설정

 Super-Pro로 로그인 > S3 버킷명 선택 > Edit

버킷 정책 편집

{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Sid": "Statement1",
			"Principal": {"AWS":"arn:aws:iam::본인의AccountID:user/Dev-Intern"},
			"Effect": "Allow",
			"Action": "s3:*",
			"Resource": "버킷ARN/*"
		}
	]
}
  • Version: 정책의 버전을 지정.
  • Statement: 정책의 개별 권한을 지정. 이 경우 정책에는 하나의 권한만 있습니다.
  • Sid: 정책의 고유 ID를 지정합니다. 이 경우 ID는 Statement1입니다.
  • Principal: 액세스 권한을 부여할 보안 주체를 지정합니다. 이 경우 보안 주체는 사용자입니다. 사용자의 ARN은 arn:aws:iam::본인의AccountID:user/Dev-Intern입니다.
  • Effect액세스 권한을 부여하는 방법을 지정합니다. 이 경우 액세스가 허용됩니다.
  • Action: 액세스가 부여되는 작업을 지정합니다. 이 경우 모든 작업입니다.
  • Resource액세스가 부여되는 리소스를 지정합니다. 이 경우 버킷 ARN과 버킷 내의 모든 오브젝트입니다.

Dev-Intern 로그인 

S3 > Buckets > 버킷이름 > Objects > Upload

Add files > 파일 업로드

정상 업로드 확인

 

💠 리소스 기반 정책(Resource-based policies)과 자격증명 기반 정책(Identity-based policies)은 합집합 형태로 정책평가

Comments