🤨 aws 서비스 사용시 IAM role 설정 사용하기

aws iam icon
aws iam icon

IAM

AWS IAM(Identity and Access Management)은 AWS 리소스에 대한 보안 및 접근 제어를 제공하는 서비스입니다. IAM을 사용하면 사용자, 그룹, 정책, 역할(Role)을 정의하여 AWS 계정 내 리소스에 대해 누가 어떤 작업을 수행할 수 있는지를 제어할 수 있습니다.

IAM - Role

역할(Role)은 특정 작업을 할 수 있는 “모자”와 같습니다. 이 모자는 사용자가 아닌 누군가(또는 서비스)가 필요할 때만 쓰고, 역할을 끝내면 다시 벗는다고 할 수 있습니다.

aws iam role icon
aws iam role icon

IAM - Policy

Policy는 AWS 리소스에 대한 권한을 정의하는 JSON 기반 문서입니다. 이 문서는 어떤 작업을 허용(Allow)하거나 거부(Deny)할지를 명시합니다. 정책은 사용자가 할 수 있는 작업과 접근할 수 있는 리소스를 제한하거나 허용하는 데 사용되며, IAM 사용자, 그룹, 역할(Role)에 연결됩니다.

다양한 조건을 제어할 수 있습니다. exampl-bucket 이라는 S3 예시를 통해 몇가지 정리하겠습니다.

특정 버킷에 대한 읽기 policy

{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Sid": "ExampleBucketRead",
			"Effect": "Allow",
			"Action": [
				"s3:GetObject",
				"s3:ListBucket"
			],
			"Resource": [
				"arn:aws:s3:::example-bucket",
				"arn:aws:s3:::example-bucket/*"
			]
		}
	]
}

특정 버킷에 대한 수정 Policy

{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Sid": "ExampleBucketUploadWithCondition",
			"Effect": "Allow",
			"Action": [
				"s3:PutObject"
			],
			"Resource": [
				"arn:aws:s3:::example-bucket/*"
			],
			"Condition": {
				"IpAddress": {
					"aws:SourceIp": "192.168.0.0/24"
				}
			}
		}
	]
}
← Go home