AWS s3访问权限
生活随笔
收集整理的這篇文章主要介紹了
AWS s3访问权限
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
AWS s3訪問權限
1.1基礎策略字段
通過json來控制S3桶的訪問權限,以下示例策略用于訪問存儲桶。該策略允許用戶僅對 MY-BUCKET 執行 s3:ListBucket、s3:PutObject 和 s3:GetObject 操作:
(下面我將對下面策略的字段進行解釋)
{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":["s3:ListBucket"],"Resource":"arn:aws:s3:::MY-BUCKET"},{"Effect":"Allow","Action":["s3:PutObject","s3:GetObject"],"Resource":"arn:aws:s3:::MY-BUCKET/*"}] }- Version 策略版本號(一般為時間戳)
- Statement 策略的聲明(列表的形式,里面定義了訪問策略對象)
- Effect 策略的效果(權限的拒絕或者允許,Deny,Allow)
- Action 操作(定義操作,可以為字符串數組,也可以是字符串,如果為"s3:*" ,那么為全部操作)
- Resource 策略附加到的資源(可以為字符串數組,也可以是字符串,AWS中每個資源都有對應的arn)
其他例子
{"Version":"2012-10-17","Statement": [{"Sid":"GrantAnonymousReadPermissions","Effect":"Allow","Principal": "*","Action":["s3:GetObject"],"Resource":["arn:aws:s3:::awsexamplebucket1/*"]}] }- Sid 策略的ID標識(一般為描述信息)
- Principal 用于指定被允許或拒絕訪問資源的用戶、賬戶、服務或其他實體(“Principal”:"*"匿名訪問,及授予每個人權限)
1.2 S3的條件鍵Condition
{ "Version": "2012-10-17","Statement": [{"Sid": "statement1","Effect": "Allow","Action": "s3:PutObject","Resource": ["arn:aws:s3:::awsexamplebucket1/*"],"Condition": {"StringEquals": {"s3:x-amz-acl": "public-read"}}}] }- Condition 指定策略生效時的條件
可以指定以下這些條件,如:
指定IP訪問范圍
"Condition" : {"IpAddress" : {"aws:SourceIp": "192.0.2.0/24" },"NotIpAddress" : {"aws:SourceIp": "192.0.2.188/32" } }要求用戶上傳對象時需具有特定訪問權限
"Condition": {"StringEquals": {"s3:x-amz-grant-full-control": "id=AccountA-CanonicalUserID"} }更多條件字段請查閱官方文檔:https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/dev/list_amazons3.html.
2.將亞馬遜 AWS S3 存儲桶的訪問權限到一個特定 IAM 角色
其中111111111111為賬戶號,ROLENAME為角色名。
//使用Principal指定111111111111賬戶中的ROLENAME //擁有對MyExampleBucket桶的ListBucket權限 {"Effect": "Allow","Principal": {"AWS": "arn:aws:iam::111111111111:role/ROLENAME"},"Action": "s3:ListBucket","Resource": "arn:aws:s3:::MyExampleBucket" }//通過Condition指定角色 {"Effect": "Deny","Principal": "*","Action": "s3:*","Resource": ["arn:aws:s3:::MyExampleBucket","arn:aws:s3:::MyExampleBucket/*"],"Condition": {"StringNotLike": {"aws:userId": ["AROAEXAMPLEID:*","111111111111"]}} }//通過Principal給role/ROLENAME和user/USERNAME權限 {"Effect": "Allow","Principal": [{"AWS": ["arn:aws:iam::222222222222:role/ROLENAME","arn:aws:iam::222222222222:user/USERNAME"]}],"Action": "s3:ListBucket","Resource": "arn:aws:s3:::MyExampleBucket" }演練:使用用戶策略控制對存儲桶的訪問的官方文檔------------
https://aws.amazon.com/cn/blogs/china/securityhow-to-restrict-amazon-s3-bucket-access-to-a-specific-iam-role/.
總結
以上是生活随笔為你收集整理的AWS s3访问权限的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中秋节的来源(中秋节的由来故事简短)
- 下一篇: 天葵的功效与作用、禁忌和食用方法