瞭解 RBAC 許可權
IAM 服務存取角色對應於 IBM Cloud Kubernetes Service 叢集內的 Kubernetes 角色型存取控制 (RBAC)。 RBAC 角色及叢集角色定義一組有關使用者如何與叢集裡的 Kubernetes 資源互動的許可權。
使用 IBM Cloud IAM,您可以透過指派使用者 IAM 服務存取角色,從 IBM Cloud自動管理 RBAC。 您可能想要更深入瞭解 RBAC,以自訂叢集內資源 (例如服務帳戶) 的存取權。
- IBM Cloud IAM 角色無法指派給服務帳戶。 相反地,您可以直接將 RBAC 角色指派給服務帳戶。
- 使用者必須執行
ibmcloud ks cluster config
指令,其角色變更才會生效。
RBAC 角色的類型為何?
- Kubernetes 角色 以特定名稱空間內的資源 (例如部署或服務) 為範圍。
- Kubernetes _群集角色的作用域_為群集範圍內的資源,例如 Worker 節點,或可在每個命名空間找到的命名空間範圍內的資源,例如 Pod。
什麼是 RBAC 角色綁定和群集角色綁定?
角色連結會將 RBAC 角色或叢集角色套用至特定的名稱空間。 當您使用角色連結來套用角色時,可以將特定名稱空間中特定資源的存取權授與使用者。 當您使用角色連結來套用叢集角色時,可以將可在每個名稱空間中找到的名稱空間範圍資源(例如 Pod)的存取權授與使用者,但只限特定名稱空間內。
叢集角色連結會將 RBAC 叢集角色套用至叢集裡的所有名稱空間。 當您使用叢集角色連結來套用叢集角色時,可以將全叢集資源(例如工作者節點)或每個名稱空間中名稱空間範圍資源(例如 Pod)的存取權授與使用者。
這些角色在我的群集中是什麼樣子?
如果您希望使用者能夠從叢集內部與 Kubernetes 資源進行交互,則必須透過 IBM Cloud IAM 服務存取角色 為使用者指派對一個或多個命名空間的存取權限。 每個被指派服務存取角色的使用者都會自動被指派相對應的 RBAC 群組角色。 這些 RBAC 叢集角色已預先定義,並允許使用者與叢集裡的 Kubernetes 資源互動。 此外,會建立角色連結以將叢集角色套用至特定的名稱空間,或建立叢集角色連結以將叢集角色套用至所有名稱空間。
要瞭解每個 RBAC 角色允許的動作的詳細資訊,請查看 IBM Cloud IAM 服務存取角色參考主題。 若要查看每個 RBAC 角色授與個別 Kubernetes 資源的許可權,請參閱每個 RBAC 角色的 Kubernetes 資源許可權。
我可以建立自訂角色或群集角色嗎?
如果您要建立自己的自訂 RBAC 原則,請確定您未編輯叢集裡的現有 IBM 角色連結,或建立與現有 IBM 連結同名的自訂角色連結。 您對 IBM提供的 RBAC 角色連結所做的變更不會保留在更新項目上。
view
、edit
、admin
和 cluster-admin
群集角色是預先定義的角色,當您指定使用者相應的 IBM Cloud IAM 服務存取角色時,會自動建立這些角色。 若要授與其他 Kubernetes 許可權,您可以建立自訂 RBAC 許可權。 自訂 RBAC 角色是服務存取角色的補充,不會變更或覆寫您可能已指派的任何 RBAC
角色。 請注意,若要建立自訂 RBAC 許可權,您必須具有 IAM管理員服務存取角色,其可提供您 cluster-admin
Kubernetes RBAC 角色。 但是,如果您管理自己的自訂 Kubernetes RBAC 角色,則其他使用者不需要 IAM 服務存取角色。
何時需要使用自訂叢集角色連結和角色連結?
建議您授權誰可以建立及更新您叢集裡的 Pod。 透過 Pod 安全政策 (PSP),您可以使用群集隨附的現有群集角色綁定,或建立自己的角色綁定。
也建議您將附加程式整合到叢集。 例如,當您在叢集裡 設定 Helm 時
建立使用者、群組或服務帳戶的自訂 RBAC 許可權
當您指定相應的 IBM Cloud IAM 服務存取角色時,會自動建立 view
、edit
、admin
及 cluster-admin
叢集角色。 您是否需要比這些預先定義許可權所允許的更精細叢集存取原則? 沒有問題! 您可以建立自訂 RBAC 角色及叢集角色。
您可以將自訂 RBAC 角色及叢集角色指派給個別使用者、使用者群組或服務帳戶。 為群組建立連結後,它會影響已新增至該群組或已從該群組移除的任何使用者。 當您將使用者新增至群組時,除了您授與他們的任何個別存取權之外,他們還會取得群組的存取權。 如果移除他們,則會撤銷其存取權。 請注意,您無法將服務帳戶新增至存取群組。
如果要為在 pod 中執行的容器程序(例如持續遞送工具鏈)指定存取權,可以使用 Kubernetes ServiceAccounts
. 若要參閱示範如何為 Travis 和 Jenkins 設定服務帳號,以及為服務帳號指派自訂
RBAC 角色的教學,請參閱博文 Kubernetes ServiceAccounts
,以便在自動化系統中使用。
為了避免破壞變更,請勿變更預先定義的 view
, edit
, admin
和 cluster-admin
群集角色。 自訂 RBAC 角色是 IBM Cloud IAM 服務存取角色的補充,不會變更或覆寫您可能已指派的任何 RBAC 角色。
-
名稱空間存取權:若要允許使用者、存取群組或服務帳戶存取特定名稱空間內的資源,請選擇下列其中一種組合:
- 建立角色,並使用角色連結套用它。 此選項適用於控制存取只存在於某個名稱空間中的唯一資源(例如應用程式部署)。
- 建立叢集角色,並使用角色連結套用它。 此選項適用於控制存取某個名稱空間中的一般資源(例如 Pod)。
-
全叢集存取:若要允許使用者或存取群組存取全叢集資源或所有名稱空間中的資源,請建立叢集角色,並使用叢集角色連結套用它。 此選項適用於控制存取未限定為名稱空間的資源(例如工作者節點)或叢集之所有名稱空間中的資源(例如每個名稱空間中的 Pod)。
-
確保您擁有所有命名空間的 Manager IAM 服務存取角色。
-
若要為存取群組中的個別使用者或使用者指派存取權限,請確保該使用者或群組已在 IBM Cloud Kubernetes Service 服務層級指派至少一個 IAM 平台存取角色。
若要建立自訂 RBAC 權限、
-
建立類似於下列內容的
.yaml
檔案,以定義role
或cluster role
。kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: namespace: default name: my_role rules: - apiGroups: [""] resources: ["pods"] verbs: ["get", "watch", "list"] - apiGroups: ["apps", "extensions"] resources: ["daemonsets", "deployments"] verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
了解 YAML 參數 參數 說明 kind
使用 Role
來授與對特定名稱空間內資源的存取權。 使用ClusterRole
來授與對全叢集資源(例如工作者節點)或名稱空間範圍資源(例如所有名稱空間中的 Pod)的存取權。metadata.namespace
僅限 Role
類型:指定授與存取權的 Kubernetes 名稱空間。rules.apiGroups
指定您希望使用者能夠互動的 Kubernetes API 群組,例如 "apps"
,"batch"
或"extensions"
。 若要存取位於 REST 路徑api/v1
的核心 API 群組,請將群組保留空白:[""]
。rules.resources
指定要授予存取權的 Kubernetes 資源類型,例如 "daemonsets"
,"deployments"
,"events"
或"ingresses"
。 如果您指定"nodes"
,則類型必須是ClusterRole
。rules.verbs
指定您希望使用者能夠執行的 動作類型,例如 "get"
,"list"
,"describe"
,"create"
或"delete"
。 -
在叢集裡建立角色或叢集角色。
kubectl apply -f my_role.yaml
-
驗證已建立角色或叢集角色。
- 角色:
kubectl get roles -n <namespace>
- 叢集角色:
kubectl get clusterroles
- 角色:
-
透過建立
.yaml
檔案,將使用者連結至角色或叢集角色。 請注意要用於每一個主題名稱的唯一 URL。kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: my_role_binding namespace: default subjects: - kind: User name: IAM#user1@example.com apiGroup: rbac.authorization.k8s.io - kind: Group name: team1 apiGroup: rbac.authorization.k8s.io - kind: ServiceAccount name: <service_account_name> namespace: <kubernetes_namespace> roleRef: kind: Role name: my_role apiGroup: rbac.authorization.k8s.io
了解 YAML 參數 參數 說明 kind
- 指定
RoleBinding
為特定命名空間的Role
或ClusterRole
。 - 指定全叢集
ClusterRoleBinding
的ClusterRole
。
apiVersion
- 對於執行 Kubernetes 1.8 或更新版本的群集,請使用
rbac.authorization.k8s.io/v1
。 - 對於較舊版本,請使用
apiVersion: rbac.authorization.k8s.io/v1beta1
。
metadata.namespace
- For kind
RoleBinding
: 指定授予存取權的 Kubernetes 命名空間。 - 對於
ClusterRoleBinding
類型:請不要使用namespace
欄位。
metadata.name
命名角色連結或叢集角色連結。 subjects.kind
以下列其中一項方式指定類型:
User
: 將 RBAC 角色或叢集角色連結至帳戶中的個別使用者。Group
: 將 RBAC 角色或叢集角色連結至帳戶中的 IBM Cloud IAM 存取群組 。ServiceAccount
: 將 RBAC 角色或叢集角色連結至叢集中名稱空間的服務帳戶。
subjects.name
- 對於
User
:將個人使用者的電子郵件地址附加到IAM#
,如下所示:IAM#user@email.com
. - 對於
Group
: 指定帳戶中 IBM Cloud IAM 存取群組 的名稱。 - 對於
ServiceAccount
:指定服務帳戶名稱。
subjects.apiGroup
- 對於
User
或Group
:使用rbac.authorization.k8s.io
。 - 對於
ServiceAccount
:不包括此欄位。
subjects.namespace
僅限 ServiceAccount
:指定在其中部署服務帳戶的 Kubernetes 名稱空間名稱。roleRef.kind
在角色 kind
檔案中輸入與.yaml
相同的值:Role
或ClusterRole
。roleRef.name
輸入角色 .yaml
檔案的名稱。roleRef.apiGroup
使用 rbac.authorization.k8s.io
。 - 指定
-
在叢集裡建立角色連結或叢集角色連結資源。
kubectl apply -f my_role_binding.yaml
-
驗證已建立連結。
kubectl get rolebinding -n <namespace>
-
選用項目:若要強制執行其他名稱空間中的相同使用者存取層次,您可以將這些角色或叢集角色的角色連結複製到其他名稱空間。
- 將角色連結從某個名稱空間複製到另一個名稱空間。
例如,將kubectl get rolebinding <role_binding_name> -o yaml | sed 's/<namespace_1>/<namespace_2>/g' | kubectl -n <namespace_2> create -f -
custom-role
角色綁定從default
命名空間複製到testns
命名空間。kubectl get rolebinding custom-role -o yaml | sed 's/default/testns/g' | kubectl -n testns create -f -
- 驗證已複製角色連結。 如果您已將 IBM Cloud IAM 存取群組新增至角色連結,則會個別新增該群組中的每一個使用者,而不是作為存取群組 ID。
kubectl get rolebinding -n <namespace_2>
- 將角色連結從某個名稱空間複製到另一個名稱空間。
既然您已建立並連結自訂 Kubernetes RBAC 角色或叢集角色,請對使用者採取後續行動。 要求他們測試由於該角色而具有許可權可以完成的動作,例如刪除 Pod。
藉由聚集叢集角色延伸現有許可權
可以藉由聚集或結合叢集角色及其他叢集角色,延伸使用者的現有許可權。 當您為使用者指派 IBM Cloud 服務存取角色時,該使用者會被新增至 對應的 Kubernetes RBAC 群集角色。 但是,您可能希望允許特定使用者執行其他作業。
例如,具有命名空間範圍 admin
群集角色的使用者無法使用 kubectl top pods
指令檢視命名空間中所有 Pod 的 Pod 公制。 您可以聚集叢集角色,以便 admin
叢集角色中的使用者有權執行 top pods
指令。 如需詳細資訊,請 參閱 Kubernetes docs。
有哪些常見的作業我可能想要擴充預設群集角色的權限?
請檢閱每個預設 RBAC 叢集角色允許的作業,以瞭解使用者可以執行的作業,然後將允許的作業與您希望使用者能夠執行的作業進行比較。
如果相同叢集角色中的使用者對於相同類型的作業遇到類似下列內容的錯誤,則您可能需要延伸叢集角色以包含此作業。
Error from server (Forbidden): pods.metrics.k8s.io is forbidden: User "IAM#myname@example.com" can't list resource "pods" in API group "metrics.k8s.io" in the namespace "mynamespace"
開始之前:登入您的帳戶。 適用的話,請將適當的資源群組設為目標。 設定叢集的環境定義。
-
建立叢集角色 YAML 檔案。 在
labels
區段中,指定要將許可權聚集到的現有叢集角色。 下列範例延伸了預先定義的admin
叢集角色,以允許使用者執行kubectl top pods
。 如需更多範例,請 參閱 Kubernetes docs。apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: view-pod-metrics labels: rbac.authorization.k8s.io/aggregate-to-admin: "true" rules: - apiGroups: - "metrics.k8s.io" resources: - pods verbs: - list
了解 YAML 參數 參數 說明 metadata.name
輸入叢集角色的名稱。不要 使用預先定義的叢集角色名稱: view
、edit
、admin
及cluster-admin
。metadata.labels
以
rbac.authorization.k8s.io/aggregate-to-<cluster_role>: "true"
的格式,新增符合要聚合到的群集角色的標籤。 預先定義的群組角色標籤如下。- IAM 管理員 服務存取角色,範圍為名稱空間:
rbac.authorization.k8s.io/aggregate-to-admin: "true"
- IAM 撰寫者 服務存取角色:
rbac.authorization.k8s.io/aggregate-to-edit: "true"
- IAM 讀者 服務存取角色:
rbac.authorization.k8s.io/aggregate-to-view: "true"
rules.apiGroups
指定您希望使用者能夠互動的 Kubernetes API 群組,例如 "apps"
,"batch"
或"extensions"
。 若要存取位於 REST 路徑api/v1
的核心 API 群組,請將群組保留空白:[""]
。rules.resources
指定要授予存取權的 Kubernetes 資源類型,例如 "daemonsets"
,"deployments"
,"events"
或"ingresses"
。rules.verbs
指定您希望使用者能夠執行的 動作類型,例如 "get"
,"list"
,"describe"
,"create"
或"delete"
。 - IAM 管理員 服務存取角色,範圍為名稱空間:
-
在叢集裡建立叢集角色。 現在,具有
admin
叢集角色的角色連結的任何使用者都具有view-pod-metrics
叢集角色的其他許可權。kubectl apply -f <cluster_role_file.yaml>
-
跟進具有
admin
叢集角色的使用者。 要求他們重新整理叢集配置並測試動作,例如kubectl top pods
。
檢查 RBAC 角色
驗證對 IBM Cloud Kubernetes Service 叢集中 RBAC 角色的自訂 RBAC 或已同步 IAM 服務存取權。
從使用者介面檢查 RBAC 角色
-
登入 主控台。
-
按一下具有您要檢查之 RBAC 角色的叢集。
-
按一下 Kubernetes Dashboard。
如果您具有僅限專用網路叢集,則除非您位於 VPN 上,否則可能無法開啟儀表板。 請參閱 透過專用雲端服務端點存取叢集。
-
從 叢集 區段中,檢閱 叢集角色連結、叢集角色、角色連結及 角色。
使用 CLI 檢查 RBAC 角色
-
請檢查使用者是否已新增至 RBAC 角色。 如果使用者擁有更高的權限,則不會新增至角色綁定。 例如,如果使用者具有叢集角色,且位於叢集角色連結中,則也不會將他們新增至每個個別名稱空間角色連結。
您必須是叢集管理員(所有命名空間中的 Manager 服務存取角色)才能檢查角色綁定和叢集角色綁定。
- 讀者:
kubectl get rolebinding ibm-view -o yaml -n <namespace>
- 撰寫者:
kubectl get rolebinding ibm-edit -o yaml -n <namespace>
- 管理員,範圍限定為名稱空間:
kubectl get rolebinding ibm-operate -o yaml -n <namespace>
- 管理員,所有名稱空間:
kubectl get clusterrolebinding ibm-admin -o yaml
- 讀者:
輸出範例
如果您指派使用者 user@email.com
及存取群組 team1
讀者 服務存取角色,然後執行 kubectl get rolebinding ibm-view -o yaml -n default
,則會取得下列範例輸出。
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
creationTimestamp: 2018-05-23T14:34:24Z
name: ibm-view
namespace: default
resourceVersion: "8192510"
selfLink: /apis/rbac.authorization.k8s.io/v1/namespaces/default/rolebindings/ibm-view
uid: 63f62887-5e96-11e8-8a75-b229c11ba64a
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: view
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: User
name: IAM#user@email.com
- apiGroup: rbac.authorization.k8s.io
kind: group
name: team1
Kubernetes 服務存取角色及對應的 RBAC 角色
下表顯示每個服務存取角色及其對應的 RBAC 角色所授予的 Kubernetes 資源權限。
服務存取角色 | 對應的 RBAC 角色、連結及範圍 | Kubernetes 資源許可權 |
---|---|---|
讀者角色 | 當限定範圍為一個名稱空間時: view 叢集角色由該名稱空間中的 ibm-view 角色連結所套用。-限定範圍為所有名稱空間時: view 叢集角色由叢集每個名稱空間中的 ibm-view 角色連結所套用。 您也可以在
IBM Cloud 主控台和 CLI 中檢視叢集。 |
-對名稱空間中資源的讀取權 -對角色和角色連結或 Kubernetes 密碼沒有讀取權 -存取 Kubernetes 儀表板以檢視名稱空間中的資源。 |
撰寫者角色 | 當作用域為一個命名空間時: edit 簇角色應用的 ibm-edit 角色綁定在該命名空間中。
當範圍涵蓋所有命名空間時: |
|
管理員角色 | 將範圍限定為一個名稱空間時: admin 該名稱空間中 ibm-operate 角色連結所套用的叢集角色
將範圍限定為所有名稱空間時: |
當範圍涵蓋一個命名空間時:
|
每個 RBAC 角色的 Kubernetes 資源許可權
獲指派 IBM Cloud IAM 服務存取角色的每一位使用者,也會自動獲指派一個對應的 Kubernetes 角色型存取控制 (RBAC) 角色。 如果您計劃自行管理自訂 Kubernetes RBAC 角色,請參閱針對使用者、群組或服務帳戶建立自訂 RBAC 許可權。 如需使用者名稱詳細資料,請參閱 IBM Cloud RBAC 使用者的 IAM 發證者詳細資料。
想知道您是否有正確的許可權,可對名稱空間中的資源執行特定 kubectl
指令? 請嘗試 kubectl auth can-i
指令。
下表顯示每個 RBAC 角色所授與針對個別 Kubernetes 資源的許可權。 權限顯示為具有該角色的使用者可以針對資源完成的 verbs
(或動作),例如「取得」、「列出」、「描述」、「建立」或「刪除」。
Kubernetes 資源 | view |
edit |
admin 及 cluster-admin |
---|---|---|---|
bindings |
get、list、watch | get、list、watch | get,list,watch cluster-admin only: create,delete,update |
configmaps |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
cronjobs.batch |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
daemonsets.apps |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
daemonsets.extensions |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
deployments.apps |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
deployments.apps/rollback |
|
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
deployments.apps/scale |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
deployments.extensions |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
deployments.extensions/rollback |
|
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
deployments.extensions/scale |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
endpoints |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
events |
get、list、watch | get、list、watch | get、list、watch |
horizontalpodautoscalers.autoscaling |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
ingresses.extensions |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
jobs.batch |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
limitranges |
get、list、watch | get、list、watch | get、list、watch |
localsubjectaccessreviews |
|
|
create |
namespaces |
get、list、watch | get、list、watch | get,list,watch cluster-admin only: create,delete |
namespaces/status |
get、list、watch | get、list、watch | get、list、watch |
networkpolicies |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
networkpolicies.extensions |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
node |
無 | 無 | admin scoped to a namespace: None
|
persistentvolume |
無 | 無 | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
persistentvolumeclaims |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
poddisruptionbudgets.policy |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
pods |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立,刪除,deletecollection ,取得,清單,top ,修補,更新,觀看 |
pods/attach |
|
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
pods/exec |
|
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
pods/log |
get、list、watch | get、list、watch | get、list、watch |
pods/portforward |
|
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
pods/proxy |
|
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
pods/status |
get、list、watch | get、list、watch | get、list、watch |
replicasets.apps |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
replicasets.apps/scale |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
replicasets.extensions |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
replicasets.extensions/scale |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
replicationcontrollers |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
replicationcontrollers/scale |
get、list、watch | cr}ate, delete, deletecollection , get, list, patch, update, watch |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
replicationcontrollers/status |
get、list、watch | get、list、watch | get、list、watch |
replicationcontrollers.extensions/scale |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
resourcequotas |
get、list、watch | get、list、watch | get、list、watch |
resourcequotas/status |
get、list、watch | get、list、watch | get、list、watch |
rolebindings |
|
|
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
roles |
|
|
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
secrets |
|
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
serviceaccounts |
get、list、watch | 建立、刪除、deletecollection 、取得、列表、修補、更新、觀看、impersonate |
建立、刪除、deletecollection 、取得、列表、修補、更新、觀看、impersonate |
services |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
services/proxy |
|
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
statefulsets.apps |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
statefulsets.apps/scale |
get、list、watch | 建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
建立、刪除、deletecollection 、取得、清單、修補、更新、觀看 |
RBAC 使用者的 IBM Cloud IAM 發證者詳細資料
具有 IAM 中 IBM Cloud Kubernetes Service 的服務存取角色的使用者會獲授與 RBAC 中的對應使用者角色。 RBAC 使用者詳細資料包括唯一發證者 ID、主旨 ID 要求及 Kubernetes 使用者名稱。 這些詳細資料會隨著叢集的 Kubernetes 版本而不同。 當您從舊版更新叢集時,會自動更新詳細資料。 RBAC 使用者名稱的字首為 IAM#
。 如需 OpenID
鑑別如何運作的相關資訊,請參閱 Kubernetes 說明文件。
如果您在叢集中建置自動化工具,並根據使用者詳細資料向 Kubernetes API 伺服器進行鑑別,則可以使用此資訊。
版本 | 發證者 | 宣告 | 機殼 * |
---|---|---|---|
Kubernetes | https://iam.cloud.ibm.com/identity |
realmed_sub_<account_ID> |
小寫 |
*
: 小寫範例為 user.name@company.com
。 User.Name@company.com
是駝峰式大小寫的範例。