Restricting S3 Bucket Access to Specific IP Addresses

Sau mấy tuần vắng bóng không viết bài nào nay mình viết tiếp chủ đề DevOps hot nhất hiện nay . các bạn có thể theo dõi những bài trước lại đây

Problem : Hạn chế quyền truy cập vào bucket S3 như thế nào .

Solution : Điều này có thể được thực hiện bằng cách sử dụng các chính sách nhóm S3

S3 Bucket policies thuộc Chính sách tài nguyên (Resource Policies) là kiểm soát ai có quyền truy cập vào tài nguyên cụ thể nhất

Step1 :

Go to S3 console https://s3.console.aws.amazon.com/s3/home?region=us-west-2 → Specific Bucket → Permissions → Bucket Policy → Policy

Step 2 : Điền vào tất cả các chi tiết bên dưới .

* Effect: Allow
* Principal: *
* AWS Service: Amazon S3
* Action: Select GetObject and PutObject
* Amazon Resource Name(ARN): <arn of your S3 bucket>/*
<–Don’t forget to Put /* at the end
Add Conditions
* Condition: IpAddress
* Key: aws:SourceIp
* Value: 192.168.0.2/24 (Specify your IP Address)

và policy cuối cùng là như thế này .

{
“Id”: “Policy1550810272864”,
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “Stmt1550810271230”,
“Action”: [
“s3:GetObject”,
“s3:PutObject”
],
“Effect”: “Allow”,
“Resource”: “arn:aws:s3:::mytests3bucketforpermissionboundaries/*”,
“Condition”: {
“IpAddress”: {
“aws:SourceIp”: “67.164.4.229”
}
},
“Principal”: “*”
}
]
}

Step 3 : Copy vs Paste policy bucket này vào editor và lưu lại .

Step 4 : chúng ta thực hiện test

AWS CLI

`
* Create a json file bucketpolicy.json
* aws s3api put-bucket-policy --bucket my-test-bucket --policy file://bucketpolicy.json

Terraform

provider “aws” {
region = “us-west-2”
}
resource “aws_s3_bucket_policy” “b” {
bucket = “mytests3bucket”
policy = <<POLICY
{
“Version”: “2012-10-17”,
“Id”: “MYBUCKETPOLICY”,
“Statement”: [
{
“Sid”: “IPAllow”,
“Effect”: “Allow”,
“Principal”: “*”,
“Action”: [
“s3:GetObject”,
“s3:PutObject”
],
“Resource”: “arn:aws:s3:::mytests3bucket*”,
“Condition”: {
“IpAddress”: {“aws:SourceIp”: “192.168.0.2/24”}
}
}
]
}
POLICY
}

Như vậy chúng ta đã kết thúc phần giới hạn quyền truy cập vào Bucket S3 rồi đó , các bạn nhớ theo dõi tiếp nha .. cố gắng hoàn thành 100 ngày DevOps nhé .


Facebook : https://www.facebook.com/TechZones-100827487955954/

Trả lời

Email của bạn sẽ không được hiển thị công khai.