存取控制(RAM)是阿里雲提供的系統管理使用者身份與資源存取權限的服務。使用 RAM 可以讓您避免與其他使用者共用阿里雲帳號密鑰,並可按需為使用者授予最小許可權。RAM 中使用權限原則描述授權的具體內容。
本文為您介紹 為 RAM 權限原則定義的操作(Action)、資源(Resource)和條件(Condition)。 的 RAM 代碼(RamCode)為 cs ,支援的授權粒度為 RESOURCE 。
權限原則通用結構
權限原則支援 JSON 格式,其通用結構如下:
{
"Version": "1",
"Statement": [
{
"Effect": "<Effect>",
"Action": "<Action>",
"Resource": "<Resource>",
"Condition": {
"<Condition_operator>": {
"<Condition_key>": [
"<Condition_value>"
]
}
}
}
]
} 各欄位含義如下:
Effect:權限原則效果。取值:Allow(允許)、Deny(拒絕)。
Action:授予允許或拒絕許可權的具體操作。具體資訊,請參見操作(Action)。
Resource:受操作影響的具體對象,您可以使用資源 ARN 來描述指定資源。具體資訊,請參見資源(Resource)。
Condition:指授權生效的條件。可選欄位。具體資訊,請參見條件(Condition)。
Condition_operator:條件運算子,不同類型的條件對應不同的條件運算子。具體資訊,請參見權限原則基本元素。
Condition_key:條件關鍵字。
Condition_value:條件關鍵字對應的值。
操作(Action)
下表是定義的操作,這些操作可以在 RAM 權限原則語句的Action元素中使用,用來授予執行該操作的許可權。下面對錶中的具體項提供說明:
操作:是指具體的許可權點。
API:是指操作對應的 API 介面。
存取層級:是指每個操作的存取層級,取值為寫入(Write)、讀取(Read)或列出(List)。
資源類型:是指操作中支援授權的資源類型。具體說明如下:
對於必選的資源類型,用前面加 * 表示。
對於不支援資源級授權的操作,用
全部資源表示。
條件關鍵字:是指雲產品自身定義的條件關鍵字。該列不體現適用於任何操作的通用條件關鍵字。
關聯操作:是指成功執行操作所需要的其他許可權。操作者必須同時具備關聯操作的許可權,操作才能成功。
|
操作 |
API |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
| cs:ScaleClusterNodePool | ScaleClusterNodePool | update |
*Cluster
|
無 | 無 |
| cs:ScanClusterVuls | ScanClusterVuls | update |
*Cluster
|
無 | 無 |
| cs:CreateAutoscalingConfig | CreateAutoscalingConfig | create |
*Cluster
|
無 | 無 |
| cs:DeleteKubernetesTrigger | DeleteKubernetesTrigger | delete |
*All Resource
|
無 | 無 |
| cs:DescribeClusterVuls | DescribeClusterVuls | get |
*Cluster
|
cs:ClusterType cs:ClusterSpec cs:ClusterProfile cs:EnableSecretEncryption cs:EnableApiServerEip cs:EnableAddonLogtailDs cs:EnableCoreControlPlaneComponentsLog cs:AddonNames cs:EnableSNAT cs:EnableNodePoolPublicIP |
無 |
| cs:ResumeComponentUpgrade | ResumeComponentUpgrade | update |
*Cluster
|
無 | 無 |
| cs:GetKubernetesTrigger | GetKubernetesTrigger | get |
*Cluster
|
無 | 無 |
| cs:CancelOperationPlan | CancelOperationPlan | delete |
*All Resource
|
無 | 無 |
| cs:DeleteClusterNodes | DeleteClusterNodes | delete |
*Cluster
|
無 | 無 |
| cs:ListClusterKubeconfigStates | ListClusterKubeconfigStates | none |
*Cluster
|
無 | 無 |
| cs:DescribeTemplateAttribute | DescribeTemplateAttribute | get |
*All Resource
|
無 | 無 |
| cs:DescribeSubaccountK8sClusterUserConfig | DescribeSubaccountK8sClusterUserConfig | get |
*Cluster
|
無 | 無 |
| cs:MigrateCluster | MigrateCluster | update |
*Cluster
|
無 | 無 |
| cs:DescribePolicyInstancesStatus | DescribePolicyInstancesStatus | get |
*Cluster
|
無 | 無 |
| cs:CheckServiceRole | CheckServiceRole | none |
*All Resource
|
無 | 無 |
| cs:ModifyClusterAddon | ModifyClusterAddon | update |
*Cluster
|
cs:AddonName |
無 |
| cs:GetClusters | DescribeClustersV1 | get |
*Cluster
|
無 | 無 |
| cs:CreateClusterDiagnosis | CreateClusterDiagnosis | create |
*Cluster
|
無 | 無 |
| cs:DescribeClusterV2UserKubeconfig | DescribeClusterV2UserKubeconfig | get |
*Cluster
|
無 | 無 |
| cs:GetClusterDiagnosisResult | GetClusterDiagnosisResult | get |
*Cluster
|
無 | 無 |
| cs:UpgradeCluster | UpgradeCluster | update |
*Cluster
|
無 | 無 |
| cs:UpdateClusterInspectConfig | UpdateClusterInspectConfig | update |
*Cluster
|
無 | 無 |
| cs:UpgradeClusterNodepool | UpgradeClusterNodepool | update |
*Cluster
|
無 | 無 |
| cs:ModifyNodePoolNodeConfig | ModifyNodePoolNodeConfig | update |
*Cluster
|
無 | 無 |
| cs:DescribeClusterNodePoolDetail | DescribeClusterNodePoolDetail | get |
*Cluster
|
無 | 無 |
| cs:DescribeClusterNodes | DescribeClusterNodes | get |
*Cluster
|
無 | 無 |
| cs:CreateTrigger | CreateTrigger | create |
*All Resource
|
無 | 無 |
| cs:OpenAckService | OpenAckService | update |
*All Resource
|
cs:AddonName cs:AddonNames |
無 |
| cs:UpgradeK8sComponents | UpgradeClusterAddons | update |
*Cluster
|
無 | 無 |
| cs:ListTagResources | ListTagResources | get |
*All Resource
|
無 | 無 |
| cs:DescribeTemplates | DescribeTemplates | get |
*All Resource
|
無 | 無 |
| cs:DescribeClusterAttachScripts | DescribeClusterAttachScripts | update |
*Cluster
|
無 | 無 |
| cs:PauseComponentUpgrade | PauseComponentUpgrade | none |
*Cluster
|
無 | 無 |
| cs:UpdateClusterAuditLogConfig | UpdateClusterAuditLogConfig | none |
*Cluster
|
無 | 無 |
| cs:DescribeClusterUserKubeconfig | DescribeClusterUserKubeconfig | get |
*Cluster
|
無 | 無 |
| cs:UpdateNodePoolComponent | UpdateNodePoolComponent | update |
*Cluster
|
無 | 無 |
| cs:DescribeEventsForRegion | DescribeEventsForRegion | list |
*All Resource
|
無 | 無 |
| cs:ModifyClusterNodePool | ModifyClusterNodePool | update |
*Cluster
|
無 | 無 |
| cs:DescribeUserQuota | DescribeUserQuota | get |
*All Resource
|
無 | 無 |
| cs:AttachInstances | AttachInstances | update |
*Cluster
|
無 | 無 |
| cs:GetClusters | DescribeClusters | get |
*Cluster
|
無 | 無 |
| cs:DeleteAlertContact | DeleteAlertContact | delete |
*All Resource
|
無 | 無 |
| cs:RunClusterCheck | RunClusterCheck | none |
*Cluster
|
無 | 無 |
| cs:GetUserPermissions | DescribeUserPermission | get |
*All Resource
|
無 | 無 |
| cs:GrantPermission | GrantPermissions | update |
*All Resource
|
無 | 無 |
| cs:CreateKubernetesTrigger | CreateKubernetesTrigger | create |
*All Resource
|
無 | 無 |
| cs:DeleteTrigger | DeleteTrigger | delete |
*Cluster
|
無 | 無 |
| cs:ModifyClusterTags | ModifyClusterTags | update |
*Cluster
|
無 | 無 |
| cs:ListClusterAddonInstanceResources | ListClusterAddonInstanceResources | list |
*Cluster
|
無 | 無 |
| cs:RepairClusterNodePool | RepairClusterNodePool | update |
*Cluster
|
無 | 無 |
| cs:DescribePolicies | DescribePolicies | get |
*All Resource
|
無 | 無 |
| cs:DescribePolicyGovernanceInCluster | DescribePolicyGovernanceInCluster | get |
*Cluster
|
無 | 無 |
| cs:ListAddons | ListAddons | list |
*All Resource
|
無 | 無 |
| cs:InstallNodePoolComponents | InstallNodePoolComponents | none |
*Cluster
|
無 | 無 |
| cs:ResumeUpgradeCluster | ResumeUpgradeCluster | update |
*Cluster
|
無 | 無 |
| cs:AttachInstancesToNodePool | AttachInstancesToNodePool | update |
*Cluster
|
無 | 無 |
| cs:DeletePolicyInstance | DeletePolicyInstance | delete |
*Cluster
|
無 | 無 |
| cs:DescribeClustersForRegion | DescribeClustersForRegion | list |
*All Resource
|
無 | 無 |
| cs:DescribeNodePoolVuls | DescribeNodePoolVuls | get |
*Cluster
|
無 | 無 |
| cs:CreateTemplate | CreateTemplate | create |
*All Resource
|
無 | 無 |
| cs:CreateClusterInspectConfig | CreateClusterInspectConfig | create |
*Cluster
|
無 | 無 |
| cs:DescribeClusterNodePools | DescribeClusterNodePools | get |
*Cluster
|
無 | 無 |
| cs:FixNodePoolVuls | FixNodePoolVuls | update |
*Cluster
|
無 | 無 |
| cs:ListClusterChecks | ListClusterChecks | list |
*Cluster
|
無 | 無 |
| cs:TagResources | TagResources | update |
*All Resource
|
無 | 無 |
| cs:DeleteClusterNodepool | DeleteClusterNodepool | delete |
*Cluster
|
無 | 無 |
| cs:ListOperationPlans | ListOperationPlans | list |
*All Resource
|
無 | 無 |
| cs:ListOperationPlansForRegion | ListOperationPlansForRegion | none |
*All Resource
|
無 | 無 |
| cs:DescribeTaskInfo | DescribeTaskInfo | get |
*All Resource
|
無 | 無 |
| cs:ListClusterInspectReports | ListClusterInspectReports | list |
*Cluster
|
無 | 無 |
| cs:CancelTask | CancelTask | update |
*All Resource
|
無 | 無 |
| cs:Queryk8sComponentsUpdateVersion | DescribeClusterAddonsVersion | get |
*Cluster
|
無 | 無 |
| cs:UpdateKMSEncryption | UpdateKMSEncryption | none |
*Cluster
|
cs:EnableAddonLogtailDs |
無 |
| cs:UpdateContactGroupForAlert | UpdateContactGroupForAlert | update |
*Cluster
|
無 | 無 |
| cs:DescribeUserClusterNamespaces | DescribeUserClusterNamespaces | get |
*Cluster
|
無 | 無 |
| cs:DescribeClusterLogs | DescribeClusterLogs | get |
*Cluster
|
無 | 無 |
| cs:StartAlert | StartAlert | update |
*Cluster
|
無 | 無 |
| cs:UpdateTemplate | UpdateTemplate | update |
*All Resource
|
cs:AddonNames |
無 |
| cs:ListUserKubeConfigStates | ListUserKubeConfigStates | none |
*All Resource
|
無 | 無 |
| cs:ResumeTask | ResumeTask | update |
*All Resource
|
無 | 無 |
| cs:PauseClusterUpgrade | PauseClusterUpgrade | update |
*Cluster
|
無 | 無 |
| cs:CreateAutoRepairPolicy | CreateAutoRepairPolicy | none |
*Cluster
|
無 | 無 |
| cs:DescribeExternalAgent | DescribeExternalAgent | get |
*Cluster
|
無 | 無 |
| cs:RevokeK8sClusterKubeConfig | RevokeK8sClusterKubeConfig | none |
*Cluster
|
無 | 無 |
| cs:GetClusterInspectConfig | GetClusterInspectConfig | get |
*Cluster
|
無 | 無 |
| cs:DescribeClusterResources | DescribeClusterResources | get |
*Cluster
|
無 | 無 |
| cs:ListClusterAddonInstances | ListClusterAddonInstances | list |
*Cluster
|
無 | 無 |
| cs:DescribeEvents | DescribeEvents | get |
*All Resource
|
無 | 無 |
| cs:UpdateK8sClusterUserConfigExpire | UpdateK8sClusterUserConfigExpire | update |
*Cluster
|
無 | 無 |
| cs:CheckControlPlaneLogEnable | CheckControlPlaneLogEnable | get |
*Cluster
|
無 | 無 |
| cs:DescribeClusterDetail | DescribeClusterDetail | get |
*Cluster
|
無 | 無 |
| cs:DescribeKubernetesVersionMetadata | DescribeKubernetesVersionMetadata | get |
*All Resource
|
無 | 無 |
| cs:DescribeResourcesDeleteProtection | DescribeResourcesDeleteProtection | get |
*Cluster
|
無 | 無 |
| cs:RunClusterInspect | RunClusterInspect | create |
*Cluster
|
無 | 無 |
| cs:UpdateUserPermissions | UpdateUserPermissions | none |
*All Resource
|
無 | 無 |
| cs:QueryK8sComponentUpgradeStatus | DescribeClusterAddonUpgradeStatus | get |
*Cluster
|
無 | 無 |
| cs:DescribeClusterEvents | DescribeClusterEvents | get |
*Cluster
|
無 | 無 |
| cs:DeployPolicyInstance | DeployPolicyInstance | get |
*Cluster
|
無 | 無 |
| cs:CancelClusterUpgrade | CancelClusterUpgrade | delete |
*Cluster
|
無 | 無 |
| cs:CancelComponentUpgrade | CancelComponentUpgrade | none |
*Cluster
|
cs:EnableApiServerEip cs:ApiServerEipId |
無 |
| cs:SyncClusterNodePool | SyncClusterNodePool | update |
*Cluster
|
無 | 無 |
| cs:GetUpgradeStatus | GetUpgradeStatus | get |
*Cluster
|
無 | 無 |
| cs:DescribeAutoRepairPolicy | DescribeAutoRepairPolicy | none |
*Cluster
|
無 | 無 |
| cs:ModifyAutoRepairPolicy | ModifyAutoRepairPolicy | none |
*Cluster
|
無 | 無 |
| cs:UntagResources | UntagResources | delete |
*All Resource
|
無 | 無 |
| cs:CreateClusterNodePool | CreateClusterNodePool | create |
*Cluster
|
無 | 無 |
| cs:StopAlert | StopAlert | update |
*Cluster
|
無 | 無 |
| cs:GetClusterAddonInstance | GetClusterAddonInstance | get |
*Cluster
|
cs:KubeConfigDurationMinutes |
無 |
| cs:UpdateControlPlaneLog | UpdateControlPlaneLog | update |
*Cluster
|
無 | 無 |
| cs:DescribePolicyInstances | DescribePolicyInstances | get |
*Cluster
|
無 | 無 |
| cs:DescribeAddon | DescribeAddon | get |
*All Resource
|
無 | 無 |
| cs:UnInstallClusterAddons | UnInstallClusterAddons | delete |
*Cluster
|
無 | 無 |
| cs:ModifyPolicyInstance | ModifyPolicyInstance | update |
*Cluster
|
無 | 無 |
| cs:DescribeClusterAddonsUpgradeStatus | DescribeClusterAddonsUpgradeStatus | get |
*Cluster
|
無 | 無 |
| cs:PauseTask | PauseTask | update |
*All Resource
|
無 | 無 |
| cs:DeleteCluster | DeleteCluster | delete |
*Cluster
|
無 | 無 |
| cs:GetClusterCheck | GetClusterCheck | list |
*Cluster
|
無 | 無 |
| cs:DescribeAddons | DescribeAddons | get |
*All Resource
|
無 | 無 |
| cs:RemoveNodePoolNodes | RemoveNodePoolNodes | update |
*Cluster
|
無 | 無 |
| cs:GetClusterDiagnosisCheckItems | GetClusterDiagnosisCheckItems | get |
*Cluster
|
無 | 無 |
| cs:DescribeClusterAddonMetadata | DescribeClusterAddonMetadata | get |
*Cluster
|
無 | 無 |
| cs:GetClusterInspectReportDetail | GetClusterInspectReportDetail | get |
*Cluster
|
無 | 無 |
| cs:DescribeTrigger | DescribeTrigger | get |
*Cluster
|
無 | 無 |
| cs:DeleteAlertContactGroup | DeleteAlertContactGroup | delete |
*All Resource
|
無 | 無 |
| cs:UpdateResourcesDeleteProtection | UpdateResourcesDeleteProtection | update |
*Cluster
|
無 | 無 |
| cs:InstallClusterAddons | InstallClusterAddons | create |
*Cluster
|
無 | 無 |
| cs:CleanUserPermissions | CleanUserPermissions | none |
*All Resource
|
無 | 無 |
| cs:CleanClusterUserPermissions | CleanClusterUserPermissions | none |
*Cluster
|
無 | 無 |
| cs:DescribeClusterTasks | DescribeClusterTasks | get |
*Cluster
|
無 | 無 |
| cs:ListAutoRepairPolicies | ListAutoRepairPolicies | none |
*Cluster
|
無 | 無 |
| cs:DeleteClusterInspectConfig | DeleteClusterInspectConfig | delete |
*Cluster
|
無 | 無 |
| cs:DescribeRegions | DescribeRegions | get |
*All Resource
|
無 | 無 |
| cs:CreateCluster | CreateCluster | create |
*Cluster
|
無 | 無 |
| cs:ModifyCluster | ModifyCluster | update |
*Cluster
|
無 | 無 |
| cs:DeleteAutoRepairPolicy | DeleteAutoRepairPolicy | none |
*Cluster
|
cs:EnableCoreControlPlaneComponentsLog |
無 |
| cs:GetClusterAuditProject | GetClusterAuditProject | get |
*Cluster
|
無 | 無 |
| cs:DescribePolicyDetails | DescribePolicyDetails | get |
*All Resource
|
無 | 無 |
| cs:DescribeClusterAddonInstance | DescribeClusterAddonInstance | get |
*Cluster
|
無 | 無 |
| cs:DeleteTemplate | DeleteTemplate | delete |
*All Resource
|
無 | 無 |
資源(Resource)
下表是定義的資源,這些資源可以在 RAM 權限原則語句的Resource元素中使用,用來授予對該資源執行具體操作的許可權。 其中,資源 ARN 是資源在阿里雲上的唯一標識。具體說明如下:
{#}為變數標識,需要您替換為實際值。例如:{#ramcode}需要您替換為實際的雲端服務RAM代碼。*表示全部。例如:{#resourceType}為*時:表示全部資源。{#regionId}為*時:表示全部地區。{#accountId}為*時:表示全部阿里雲帳號。
資源類型 |
資源 ARN |
| Cluster |
|
| Unrestricted |
|
條件(Condition)
下表是 定義的產品級條件關鍵字,這些條件關鍵字可以在 RAM 權限原則語句的Condition元素中使用,用來描述授予許可權的條件。以下僅列舉產品級的條件關鍵字,阿里雲定義的通用條件關鍵字也同樣適用。
其中,資料類型決定了您可以使用哪些條件運算子將請求中的值與權限原則語句中的值進行比較。您必須使用與資料類型匹配的條件運算子,否則無法匹配策略語句,授權行為無效。資料類型與條件運算子的對應關係,請參見條件操作類型。
條件關鍵字 |
描述 |
類型 |
| cs:EnableAddonLogtailDs | 叢集是否開啟日誌元件logtail-ds | Boolean |
| cs:EnableApiServerEip | 叢集是否開啟API Server公網訪問 | Boolean |
| cs:EnableSNAT | 是否允許為叢集專有網路配置 SNAT | Boolean |
| cs:AddonNames | 叢集元件操作的物件,示例值:[\\\\\\\\\\"metrics-server\\\\\\\\\\",\\\\\\\\\\"terway-eniip\\\\\\\\\\"] |
Array |
| cs:ClusterType | 叢集型別 | String |
| cs:ClusterSpec | 託管版叢集規格 | String |
| cs:AddonName | 叢集元件名稱,示例值:aliyun-acr-credential-helper,metrics-server | String |
| cs:EnableSecretEncryption | ACK叢集是否開啟Secret落盤加密 | Boolean |
| cs:ClusterProfile | 託管版叢集子型別標識 | String |
| cs:ApiServerEipId | 叢集API Server繫結的EIP例項ID,示例值:eip-2zep1n4o1ic48m3m**** | String |
| cs:EnableNodePoolPublicIP | 是否允許為叢集每個節點分配一個公網 IPv4 地址 | Boolean |
| cs:EnableCoreControlPlaneComponentsLog | 叢集是否開啟控制面核心元件日誌功能 | Boolean |
| cs:KubeConfigDurationMinutes | 叢集KubeConfig憑證的有效期(分鐘) | Numeric |
相關操作
您可以建立自訂權限原則,並將權限原則授予 RAM 使用者、RAM 使用者組或 RAM 角色。具體操作如下: