阿里雲子帳號Policy受權規則明細

官網地址html

Policy結構

基本元素

1. 效力(Effect)
受權效力包括兩種:容許(Allow)和拒絕(Deny)。
2. 資源(Resource)
資源是指被受權的具體對象。
3. 操做(Action)
操做是指對具體資源的操做。
4. 限制條件(Condition)
限制條件是指受權生效的限制條件。安全

Policy 元素使用規則

1. Effect(效力)
Effect 取值 爲 Allow 或 Deny。好比,阿里雲

"Effect": "Allow"

2. Action(操做列表)
Action 支持多值,取值爲雲服務所定義的 API 操做名稱,其格式定義以下:code

<service-name>:<action-name>

格式說明htm

  • service-name: 阿里雲產品名稱,如 ecs, rds, slb, oss, ots 等。
  • action-name: service 相關的 API 操做接口名稱。

描述樣例對象

"Action": ["oss:ListBuckets", "ecs:Describe*", "rds:Describe*"]

3. Resource(資源列表)
Resource 一般指資源,即操做對象,好比 ECS 虛擬機實例,OSS存儲桶。咱們使用以下格式來命名阿里雲服務的資源命名。blog

acs:<service-name>:<region>:<account-id>:<relative-id>

格式說明:接口

  • acs: Alibaba Cloud Service 的首字母縮寫,表示阿里雲的公有云平臺。
  • service-name: 阿里雲提供的服務名字,如 ecs, oss, ots 等。
  • region: 地域信息。若是不支持該項,可使用通配符「*」號來代替。
  • account-id: 帳號 ID,好比 1234567890123456,也能夠用「*」代替。
  • relative-id: 與服務相關的資源描述部分,其語義由具體服務指定。這部分的格式描述支持相似於一個文件路徑的樹狀結構。以 oss 爲例,relative-id = 「mybucket/dir1/object1.jpg」 表示一個 OSS 對象。

描述樣例資源

"Resource": ["acs:ecs:*:*:instance/inst-001", "acs:ecs:*:*:instance/inst-002", "acs:oss:*:*:mybucket", "acs:oss:*:*:mybucket/*"]

條件限制(Condition)
條件塊(Condition Block)由一個或多個條件子句構成。一個條件子句由條件操做類型、條件關鍵字和條件值組成。條件操做類型和條件關鍵字在下文中會有詳細描述。
條件塊判斷邏輯
是否知足條件的判斷原則以下圖所示:
圖 2. 是否知足條件的判斷原則
圖2
具體規則以下:字符串

  • 一個條件關鍵字能夠指定一個或多個值,在條件檢查時,若是條件關鍵字的值與指定值中的某一個相等,便可斷定條件知足。
  • 同一種條件操做類型的條件子句下的多個條件關鍵字同時知足的狀況下,才能斷定該條件子句知足。
  • 條件塊下的全部條件子句同時知足的狀況下,才能斷定該條件塊知足。

條件操做類型
支持以下條件操做類型:字符串類型(String)、數字類型(Numeric)、日期類型(Date and time)、布爾類型(Boolean)和 IP 地址類型(IP address)。
每種條件操做類型分別支持以下的方法:

string Numeric Date and time Boolean IP address
StringEquals NumericEquals DateEquals Bool IpAddress
StringNotEquals NumericNotEquals DateNotEquals - NotIpAddress
StringEqualsIgnoreCase NumericLessThan DateLessThan - -
StringNotEqualsIgnoreCase NumericLessThanEquals DateLessThanEquals - -
StringLike NumericGreaterThan DateGreaterThan - -
StringNotLike NumericGreaterThanEquals DateGreaterThanEquals - -

條件關鍵字(Condition-key
阿里雲服務保留的條件關鍵字命名格式爲:

acs:<condition-key>

阿里雲服務保留的通用條件關鍵字以下:
通用條件關鍵字 |類型 |說明
--|--|--
acs:CurrentTime |Date and time |Web Server 接收到請求的時間,以 ISO 8601 格式表示,如 2012-11-11T23:59:59Z
acs:SecureTransport |Boolean |發送請求是否使用了安全信道,如 HTTPS
acs:SourceIp |IP address |發送請求時的客戶端 IP 地址
acs:MFAPresent |Boolean |用戶登陸時是否使用了多因素認證(二步認證)

雲產品能夠定義產品級別的條件關鍵字,格式以下:

<service-name>:<condition-key>

部分雲產品定義的條件關鍵字以下:

產品名稱 條件關鍵字 類型 說明
ECS ecs:tag/ String ECS資源的標籤關鍵字,可由用戶自定義
RDS rds:ResourceTag/ String RDS資源的標籤關鍵字,可由用戶自定義
OSS oss:Delimiter String OSS對Object名字進行分組的分隔符
OSS oss:Prefix String OSS Object名稱的前綴

Policy 樣例
以下所示的 Policy 樣例中,包含兩條受權語句(Statement):

  • 第 1 條受權語句是容許對華東 1(杭州)地域的全部 ecs 資源有查看權限(ecs:Describe*);
  • 第 2 條受權語句是容許對 oss 的 mybucket 存儲桶中的對象具備只讀訪問權限(oss:ListObjects,
{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ecs:Describe*",
            "Resource": "acs:ecs:cn-hangzhou:*:*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "oss:ListObjects",
                "oss:GetObject"
            ],
            "Resource": [
                "acs:oss:*:*:mybucket",
                "acs:oss:*:*:mybucket/*"
            ],
            "Condition":{
                "IpAddress": {
                    "acs:SourceIp": ["42.120.88.10", "42.120.66.0/24"]
                }
            }
        }
    ]
}
相關文章
相關標籤/搜索