iT邦幫忙

2024 iThome 鐵人賽

DAY 3
1
DevOps

探索亞馬遜雨林30天系列 第 3

Day 3: S3權限管理

  • 分享至 

  • xImage
  •  

既然S3是存放資料的空間,那一定少不了資料的權限管理啦。設定S3權限的方式主要有以下幾種:

Block public access

針對bucket和底下的object,選取要依照哪種方式設定權限。

IAM

直接在AWS IAM寫policy設定指定的User或Role存取S3 Bucket的相關權限。

Bucket policy

在bucket底下寫policy指定有哪些AWS的user和role可以存取bucket。

Principal放允許存取bucket的AWS user和role,Action則是權限的範圍,像是Put、list和Get等…,Resource則是要設定權限的bucket。

{
"Version": "2012-10-17",
"Id": "PutObjPolicy",
"Statement": [{
  "Sid": "DenyObjectsThatAreNotSSEKMS",
  "Principal": "*",
  "Effect": "Deny",
  "Action": "s3:PutObject",
  "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*",
  "Condition": {
    "Null": {
      "s3:x-amz-server-side-encryption-aws-kms-key-id": "true"
    }
  }
}]
}

Access Points

有的時候如果都在Bucket底下寫policy,會隨著用這個bucket的應用程式越來越多,讓policy變得複雜不好管理,這時就可以使用access point讓不同應用程式有不同policy。而且在新增access point的時候,Network也可以選擇使用VPC,這樣用VPC去控制,哪個網路區域的resource才能存取這個bucket。

Access control list

ACL是一個比較直覺地控制權限的方式,提供一個選單讓你選擇是否要讓其他AWS帳戶、一般的end user或bucket的owner,有讀寫的權限。ACL的設定方式很簡單易懂,但限制也比較多,無法針對特定User或特定網路區域的resource去管控權限。


上一篇
Day 2: S3簡介與資料查詢
下一篇
Day 4: S3 Event notifications、檔案大小和type限制
系列文
探索亞馬遜雨林30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言