為介面終端節點配置終端節點策略,可以精確限定特定使用者對阿里雲服務中特定資源的可執行操作。
工作原理
使用介面終端節點訪問阿里雲服務時,可以為介面終端節點配置終端節點策略。終端節點策略遵循RAM權限原則的基本元素和文法結構,以JSON格式定義。
支援使用介面終端節點訪問的阿里雲服務均支援配置預設終端節點策略,授予對介面終端節點的完整存取。
僅Object Storage Service、PAI - AI WorkSpace 支援配置自訂終端節點策略。
當建立終端節點訪問非阿里雲服務(夥伴服務、使用者自建服務)時,不支援配置自訂終端節點策略,終端節點預設允許所有訪問。
網關終端節點是一種特殊類型的終端節點,它不依賴於PrivateLink,僅支援訪問有限的阿里雲服務,支援配置自訂終端節點策略。
策略類型
終端節點策略分為兩種類型:
預設終端節點策略:允許 VPC 中使用任何阿里雲賬戶憑證的使用者或服務訪問對應服務中的任何資源。
{ // Effect:定義策略效果。 "Effect": "Allow", // Principal:定義策略授權的主體,即誰可以使用該終端節點。萬用字元*代表所有身份。 "Principal": "*", // Action:定義允許或拒絕的操作。 "Action": "*", // Resource:定義操作所對應的資源。 "Resource": "*" }自訂終端節點策略:根據安全需求,配置精細化的存取控制策略,限制特定使用者對服務指定資源可執行檔操作。
策略覆蓋關係
終端節點策略不取代或覆蓋基於身份的策略(Identity-based Policy)或基於資源的策略(Resource-based Policy,例如OSS 的 Bucket Policy)。一個請求的最終存取權限是所有相關策略共同作用的結果,可參考權限原則判定流程。
配置終端節點策略
控制台
前往終端節點 - 建立終端節點頁面,建立介面終端節點時配置終端節點策略。
建立完成後,在目標終端節點詳情頁的終端節點策略頁簽下,單擊編輯終端節點策略修改。
API
調用CreateVpcEndpoint時,傳入PolicyDocument,配置終端節點策略。
調用UpdateVpcEndpointAttribute修改終端節點策略。
終端節點策略配置樣本
樣本1:拒絕特定操作
本終端節點策略允許所有使用者執行除oss:PutObject(上傳檔案)之外的所有OSS操作。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:*"
],
"Principal": "*",
"Resource": [
"acs:oss:*:*:*"
]
},
{
"Effect": "Deny",
"Action": [
"oss:PutObject"
],
"Principal": "*",
"Resource": [
"acs:oss:*:*:*"
]
}
]
}樣本2:指定允許訪問的資源和動作
本終端節點策略僅允許對OSSpvl-policy-testBucket中的policy-test.txt檔案執行列出(List*)、上傳(PutObject)和下載(GetObject)操作。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:GetObject",
"oss:PutObject"
],
"Principal": "*",
"Resource": [
"acs:oss:*:*:pvl-policy-test/policy-test.txt"
]
},
{
"Effect": "Allow",
"Action": [
"oss:List*"
],
"Principal": "*",
"Resource": [
"acs:oss:*:*:pvl-policy-test"
],
"Condition": {
"StringLike": {
"oss:Prefix": "policy-test.txt*"
}
}
}
]
}樣本3:僅允許指定RAM使用者訪問
本終端節點策略僅允許主帳號ID為14199926XXXXXXXX下的RAM使用者pvl-policy-allow通過終端節點訪問服務,同時明確拒絕同一主帳號下的RAM使用者pvl-policy-deny的訪問請求。
確保修改為正確的 RAM 使用者名稱稱。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"*"
],
"Resource": [
"*"
],
"Principal": {
"RAM": [
"acs:ram::14199926XXXXXXXX:user/pvl-policy-allow"
]
}
},
{
"Effect": "Deny",
"Action": [
"*"
],
"Resource": [
"*"
],
"Principal": {
"RAM": [
"acs:ram::14199926XXXXXXXX:user/pvl-policy-deny"
]
}
}
]
}