日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用RBAC授予集群內(nèi)資源操作權(quán)限

更新時(shí)間:

RBAC(Role-Based Access Control)是基于角色的訪(fǎng)問(wèn)控制。您可以通過(guò)Role和ClusterRole定義可操作的資源對(duì)象,通過(guò)RoleBinding和ClusterRoleBinding將角色綁定到特定的用戶(hù),從而實(shí)現(xiàn)RBAC權(quán)限配置,讓不同用戶(hù)擁有不同的Kubernetes資源操作權(quán)限。RAM用戶(hù)或RAM角色進(jìn)行集群RAM授權(quán)之后,您還需要對(duì)其進(jìn)行集群內(nèi)部資源的RBAC授權(quán),才能對(duì)集群內(nèi)Kubernetes資源進(jìn)行操作,例如創(chuàng)建Deployment、Service。

RBAC工作原理

Kubernetes RBAC支持以下類(lèi)型的角色和綁定,通過(guò)角色定義資源的訪(fǎng)問(wèn)權(quán)限時(shí),僅支持允許訪(fǎng)問(wèn)資源,不支持拒絕訪(fǎng)問(wèn)資源。關(guān)于如何編寫(xiě)Kubernetes的ClusterRole和Role,請(qǐng)參見(jiàn)使用自定義RBAC限制集群內(nèi)資源操作

  • Role:角色,定義對(duì)單個(gè)命名空間內(nèi)資源的訪(fǎng)問(wèn)權(quán)限。

  • RoleBinding:角色綁定,定義用戶(hù)和角色的關(guān)系。

  • ClusterRole:集群角色,定義對(duì)整個(gè)集群內(nèi)資源的訪(fǎng)問(wèn)權(quán)限。

  • ClusterRoleBinding:集群角色綁定,定義用戶(hù)和集群角色的關(guān)系。

image

前提條件

RAM用戶(hù)或RAM角色已獲取目標(biāo)集群的RAM只讀權(quán)限,參考策略如下。具體操作,請(qǐng)參見(jiàn)使用自定義策略授權(quán)

展開(kāi)查看RAM權(quán)限策略示例

{
  "Statement": [
    {
      "Action": [
        "cs:Get*",
        "cs:List*",
        "cs:Describe*"
      ],
      "Effect": "Allow",
      "Resource": [
        "acs:cs:*:*:cluster/<yourclusterID>" 
      ]
    }
  ],
  "Version": "1"
}

授權(quán)說(shuō)明

阿里云賬號(hào)(主賬號(hào))可以對(duì)所有集群進(jìn)行所有操作,RAM用戶(hù)或RAM角色擁有自己創(chuàng)建的集群的所有操作權(quán)限,非集群創(chuàng)建者的RAM用戶(hù)或RAM角色,需要額外進(jìn)行RAM和RBAC授權(quán),才能操作集群。

操作步驟

容器服務(wù)ACK默認(rèn)提供管理員、運(yùn)維人員、開(kāi)發(fā)人員和受限用戶(hù)這四種標(biāo)準(zhǔn)的集群資源RBAC訪(fǎng)問(wèn)權(quán)限,可滿(mǎn)足大部分用戶(hù)在容器服務(wù)控制臺(tái)上的使用需求。如果您想自由定義集群資源的RBAC訪(fǎng)問(wèn)權(quán)限,請(qǐng)參見(jiàn)使用自定義RBAC限制集群內(nèi)資源操作

滿(mǎn)足以下條件的賬號(hào)才可以為其他RAM用戶(hù)或RAM角色進(jìn)行授權(quán)。

  • 阿里云賬號(hào)(主賬號(hào))。

  • 擁有管理員權(quán)限的RAM用戶(hù)或RAM角色。

使用阿里云賬號(hào)授權(quán)

  1. 登錄容器服務(wù)管理控制臺(tái)容器服務(wù)管理控制臺(tái),在左側(cè)導(dǎo)航欄選擇授權(quán)管理

  2. 授權(quán)管理頁(yè)面配置管理權(quán)限。

    • 為RAM用戶(hù)授權(quán)

      單擊RAM 用戶(hù)頁(yè)簽,在RAM用戶(hù)列表中,單擊目標(biāo)RAM用戶(hù)右側(cè)的管理權(quán)限,進(jìn)入權(quán)限管理頁(yè)面,您也可以選擇多個(gè)目標(biāo)RAM用戶(hù)進(jìn)行批量授權(quán)。

    • 為RAM角色授權(quán)

      單擊RAM 角色頁(yè)簽,輸入RAM 角色名稱(chēng),然后單擊管理權(quán)限,進(jìn)入權(quán)限管理頁(yè)面。

      說(shuō)明

      RAM角色支持手動(dòng)輸入,也支持在下拉列表中選擇。您可以單擊RAM角色右側(cè)空白框,將會(huì)顯示已有的RAM角色列表,然后從列表中選擇已有的RAM角色進(jìn)行授權(quán)。

  3. 單擊+ 添加權(quán)限,為目標(biāo)RAM用戶(hù)或RAM角色添加集群命名空間級(jí)別的權(quán)限配置,并選擇相應(yīng)的預(yù)置角色,然后單擊提交授權(quán)

    說(shuō)明
    • 在一個(gè)目標(biāo)集群或命名空間中為RAM用戶(hù)或RAM角色的授權(quán)時(shí),支持配置一個(gè)預(yù)置角色、多個(gè)自定義角色,此時(shí),所獲得的權(quán)限為多個(gè)角色權(quán)限的并集。

    • 如果您需要在所有集群維度為RAM用戶(hù)或RAM角色進(jìn)行一鍵授權(quán),使得后續(xù)新創(chuàng)建的集群也會(huì)為被授權(quán)的RAM用戶(hù)或RAM角色自動(dòng)綁定已經(jīng)授權(quán)的預(yù)置角色,您可以選擇集群所有集群

    預(yù)置角色

    集群內(nèi)RBAC權(quán)限

    管理員

    對(duì)集群所有命名空間下Kubernetes資源的RBAC讀寫(xiě)權(quán)限,以及對(duì)集群節(jié)點(diǎn)、存儲(chǔ)卷、命名空間、配額的讀寫(xiě)權(quán)限。

    運(yùn)維人員

    對(duì)所有命名空間下控制臺(tái)可見(jiàn)Kubernetes資源的讀寫(xiě)權(quán)限,對(duì)集群節(jié)點(diǎn)、存儲(chǔ)卷、命名空間、配額的只讀權(quán)限。

    開(kāi)發(fā)人員

    對(duì)所有命名空間或所選命名空間下控制臺(tái)可見(jiàn)Kubernetes資源的RBAC讀寫(xiě)權(quán)限。

    受限用戶(hù)

    對(duì)所有命名空間或所選命名空間下控制臺(tái)可見(jiàn)Kubernetes資源的RBAC只讀權(quán)限。

    自定義

    權(quán)限由您所選擇的ClusterRole決定,請(qǐng)?jiān)诖_定所選ClusterRole對(duì)各類(lèi)資源的操作權(quán)限后再進(jìn)行授權(quán),以免RAM用戶(hù)或RAM角色獲得不符合預(yù)期的權(quán)限。關(guān)于自定義權(quán)限的授權(quán),請(qǐng)參見(jiàn)使用自定義RBAC限制集群內(nèi)資源操作

    重要

    RAM用戶(hù)或RAM角色被授予cluster-admin權(quán)限后,在該集群內(nèi)可視為與阿里云賬號(hào)有相同權(quán)限的超級(jí)賬號(hào),擁有操作集群內(nèi)所有資源的任意權(quán)限。請(qǐng)謹(jǐn)慎授予。

使用RAM用戶(hù)或RAM角色授權(quán)

阿里云賬號(hào)(主賬號(hào))對(duì)賬號(hào)中的資源具有完全管理權(quán)限,您也可以將新建或已有的RAM用戶(hù)或角色授予如下RAM權(quán)限和RBAC權(quán)限,使其成為一個(gè)權(quán)限管理員,后續(xù)使用該RAM用戶(hù)或RAM角色進(jìn)行為其他用戶(hù)或角色授權(quán)。

步驟一:將RAM用戶(hù)或RAM角色設(shè)置為權(quán)限管理員

1、獲取RAM授權(quán)權(quán)限

使用系統(tǒng)策略授權(quán)

  1. 使用阿里云賬號(hào)登錄RAM管理控制臺(tái),定位目標(biāo)RAM用戶(hù)或RAM角色。

    • RAM用戶(hù)

      選擇身份管理 > 用戶(hù),在用戶(hù)列表的操作列,單擊添加權(quán)限

    • RAM角色

      選擇身份管理 > 角色,在角色列表的操作列,單擊添加權(quán)限

  2. 添加權(quán)限面板,選擇授權(quán)范圍,然后選擇權(quán)限為系統(tǒng)策略,根據(jù)名稱(chēng)搜索或在列表中找到并單擊AliyunRAMFullAccess和AliyunCSFullAccess系統(tǒng)策略,將該策略移動(dòng)到右側(cè)的已選擇區(qū)域,然后單擊確定。權(quán)限成功添加后,單擊完成

    重要

    AliyunRAMFullAccess為高風(fēng)險(xiǎn)權(quán)限,請(qǐng)謹(jǐn)慎授予。如需精細(xì)化授權(quán),請(qǐng)參見(jiàn)使用自定義策略精細(xì)化授權(quán)

使用自定義策略精細(xì)化授權(quán)

默認(rèn)情況下,RAM用戶(hù)或RAM角色不具備對(duì)其他RAM用戶(hù)或角色進(jìn)行RBAC授權(quán)的能力。您需要為其授予如下權(quán)限:

  • 查看其他RAM賬號(hào)。

  • 授予RAM權(quán)限策略。

  • 查看集群信息。

  • 查看RBAC權(quán)限配置。

  • RBAC授權(quán)能力。

登錄RAM管理控制臺(tái),參考以下代碼示例,為該RAM用戶(hù)或RAM角色授予所需的RAM權(quán)限。具體操作,請(qǐng)參見(jiàn)使用自定義策略授權(quán)

說(shuō)明

請(qǐng)將xxxxxx替換為需要綁定的RAM策略的名稱(chēng)。替換為 *,表示RAM用戶(hù)或RAM角色擁有所有RAM策略的授權(quán)綁定能力。

{
    "Statement": [{
            "Action": [
                "ram:Get*",
                "ram:List*",
                "cs:Get*",
                "cs:Describe*",
                "cs:List*",
                "cs:GrantPermission"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "ram:AttachPolicyToUser",
                "ram:AttachPolicy"
            ],
            "Effect": "Allow",
            "Resource":  [
                "acs:ram:*:*:policy/xxxxxx",
                "acs:*:*:*:user/*"
            ]
        }
    ],
    "Version": "1"
}

2、獲取RBAC授權(quán)權(quán)限

完成上述RAM權(quán)限和RBAC權(quán)限授權(quán)之后,該RAM用戶(hù)或RAM角色成為一個(gè)權(quán)限管理員,擁有給其他RAM用戶(hù)或RAM角色進(jìn)行RAM授權(quán)和RBAC授權(quán)的能力。

說(shuō)明

擁有管理員權(quán)限的RAM用戶(hù)或RAM角色,可以在所有集群維度進(jìn)行一鍵授權(quán),后續(xù)新創(chuàng)建的集群也會(huì)自動(dòng)綁定已經(jīng)授權(quán)的ClusterRole。

步驟二:為其他RAM用戶(hù)或RAM角色授權(quán)

RAM用戶(hù)或RAM角色獲取管理員權(quán)限之后,即可登錄為其他用戶(hù)或角色授權(quán),具體操作和阿里云賬號(hào)授權(quán)操作一致,請(qǐng)參見(jiàn)使用阿里云賬號(hào)授權(quán)

自定義集群資源權(quán)限

如果您想自由定義集群資源的訪(fǎng)問(wèn)權(quán)限,可使用自定義集群資源權(quán)限功能。關(guān)于如何編寫(xiě)自定義集群資源RBAC權(quán)限,請(qǐng)參見(jiàn)使用自定義RBAC限制集群內(nèi)資源操作

阿里云容器服務(wù)內(nèi)置了一些自定義集群資源權(quán)限。

說(shuō)明

其中cluster-admin權(quán)限值得關(guān)注,屬于集群超級(jí)管理員權(quán)限,對(duì)所有資源都默認(rèn)擁有權(quán)限。

1726631955905_FDBB0E77-2ABC-4423-91F6-CA3C58F348A0

您可登錄到集群節(jié)點(diǎn),執(zhí)行以下命令,查看自定義權(quán)限的詳情。

kubectl get clusterrole

預(yù)期輸出:

NAME                                                                   AGE
admin                                                                  13d
alibaba-log-controller                                                 13d
alicloud-disk-controller-runner                                        13d
cluster-admin                                                          13d
cs:admin                                                               13d
edit                                                                   13d
flannel                                                                13d
kube-state-metrics                                                     22h
node-exporter                                                          22h
prometheus-k8s                                                         22h
prometheus-operator                                                    22h
system:aggregate-to-admin                                              13d
....  
system:volume-scheduler                                                13d
view                                                                   13d         

以超級(jí)管理員cluster-admin為例,執(zhí)行以下命令,查看其權(quán)限詳情。

說(shuō)明

RAM用戶(hù)或RAM角色被授予該集群角色后,在該集群內(nèi),可視為與阿里云賬號(hào)有相同權(quán)限的超級(jí)賬號(hào),擁有操作集群內(nèi)所有資源的任意權(quán)限,建議謹(jǐn)慎授予。

kubectl get clusterrole cluster-admin -o yaml

預(yù)期輸出:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  annotations:
    rbac.authorization.kubernetes.io/autoupdate: "true"
  creationTimestamp: 2018-10-12T08:31:15Z
  labels:
    kubernetes.io/bootstrapping: rbac-defaults
  name: cluster-admin
  resourceVersion: "57"
  selfLink: /apis/rbac.authorization.k8s.io/v1/clusterroles/cluster-admin
  uid: 2f29f9c5-cdf9-11e8-84bf-00163e0b2f97
rules:
- apiGroups:
  - '*'
  resources:
  - '*'
  verbs:
  - '*'
- nonResourceURLs:
  - '*'
  verbs:
  - '*'

無(wú)權(quán)限錯(cuò)誤碼說(shuō)明

當(dāng)您通過(guò)控制臺(tái)或OpenAPI所做的部分操作缺少所需的RBAC權(quán)限時(shí),控制臺(tái)或OpenAPI將返回相應(yīng)的無(wú)權(quán)限錯(cuò)誤碼。各個(gè)錯(cuò)誤碼對(duì)應(yīng)操作所需的集群RBAC權(quán)限說(shuō)明如下表所示。

錯(cuò)誤碼或錯(cuò)誤信息

解決方案

ForbiddenCheckControlPlaneLog

請(qǐng)為用戶(hù)授予管理員或運(yùn)維人員權(quán)限。

ForbiddenHelmUsage

請(qǐng)為用戶(hù)授予管理員權(quán)限。

ForbiddenRotateCert

請(qǐng)為用戶(hù)授予管理員權(quán)限。

ForbiddenAttachInstance

請(qǐng)為用戶(hù)授予管理員或運(yùn)維人員權(quán)限。

ForbiddenUpdateKMSState

請(qǐng)為用戶(hù)授予管理員或運(yùn)維人員權(quán)限。

Forbidden get trigger

請(qǐng)為用戶(hù)授予管理員、運(yùn)維人員或開(kāi)發(fā)人員權(quán)限。

ForbiddenQueryClusterNamespace

請(qǐng)為用戶(hù)授予管理員、運(yùn)維人員、開(kāi)發(fā)人員或受限用戶(hù)的權(quán)限。

相關(guān)文檔