Alibaba Cloud Container Compute Service (ACS) içindeki önceden tanımlanmış roller, erişim kontrolü gereksinimlerinizi karşılamadığında — örneğin seçili ad alanlarındaki belirli kaynaklara erişim sağlamak veya özel bir kaynağı sınırlı sayıda eylemle kısıtlamak gibi durumlarda — özel bir Role veya ClusterRole oluşturabilirsiniz.
ACS, Rol Tabanlı Erişim Kontrolü (RBAC) izinlerine yalnızca özel ClusterRole'lerin bağlanmasını destekler. Özel Roller RBAC izinlerine bağlanamaz.
Roller ve ClusterRole'ler
Bir Role, tek bir ad alanı kapsamındaki izinleri tanımlar. Bir ClusterRole ise küme genelinde geçerlidir ve üç farklı amaçla kullanılır:
Bir veya daha fazla belirli ad alanı içindeki, ad alanı kapsamlı kaynaklar üzerinde izinler sağlar.
Tüm ad alanlarındaki, ad alanı kapsamlı kaynaklar üzerinde izinler sağlar.
Küme kapsamlı kaynaklar (düğüm veya kalıcı birimler gibi) üzerinde izinler sağlar.
Ad alanı düzeyinde izinlere ihtiyacınız varsa Role kullanın. Küme genelindeki izinler için ClusterRole tercih edin.
Hem Role hem de ClusterRole, izinleri rules aracılığıyla belirtir. Bu kurallar şunları tanımlar:
| Alan | Açıklama |
|---|---|
apiGroups |
Kaynağın ait olduğu API grubu. Boş bir dize (""), pod, hizmet ve configmap gibi öğeleri içeren çekirdek API grubunu gösterir. |
resources |
Kaynak türleri; örneğin pods veya services. |
verbs |
İzin verilen işlemler; örneğin get, list veya create. |
YAML şablonları
Role
Aşağıdaki YAML, default ad alanındaki pod'lara tam erişim sağlayan test-role adlı bir Role oluşturur.
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: test-role
namespace: default
rules:
- apiGroups:
- "" # "" indicates the core API group
resources:
- pods
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
ClusterRole
Aşağıdaki YAML, tüm ad alanlarındaki pod'lara tam erişim sağlayan test-clusterrole adlı bir ClusterRole oluşturur.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: test-clusterrole
rules:
- apiGroups:
- "" # "" indicates the core API group
resources:
- pods
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
Daha fazla bilgi için Kubernetes belgelerindeki Roles and ClusterRoles konusuna bakın.
Özel bir ClusterRole oluşturun
Aşağıdaki adımlar, ACS konsolunu kullanarak bir Resource Access Management (RAM) kullanıcısı veya RAM rolü için özel bir ClusterRole oluşturmanızı sağlar. Bunun yerine özel bir Role oluşturmak isterseniz 3. adımda Role sekmesini seçin.
Ön koşullar
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
Bir ACS kümesi
Kümedeki RBAC kaynaklarını yönetmek için gerekli izinler
Adımlar
ACS konsoluna giriş yapın. Sol gezinme bölmesinde Clusters seçeneğine tıklayın.
Clusters sayfasında küme adına tıklayın. Sol gezinme bölmesinden Security > Role yolunu izleyin.
Role sayfasında Cluster Role sekmesine tıklayın ve ardından Create düğmesine basın.
Create YAML panelinde ClusterRole YAML tanımını girin ve OK seçeneğine tıklayın. Bu örnekteki YAML şablonu küme genelindeki izinleri tanımlar. ClusterRole oluşturulduktan sonra Cluster Role sekmesinde
test-clusterroleolarak görünür.
Sonraki adımlar
Oluşturduğunuz ClusterRole'ü kullanarak RAM kullanıcılarına veya RAM rollerine erişim sağlamak için bkz. RAM kullanıcılarına veya RAM rollerine RBAC izinleri verme.