Varsayılan olarak, RAM kullanıcıları ve RAM rolleri cloud hizmetlerinin API'lerini çağıramaz. Container Service for Kubernetes (ACK) ve Container Compute Service (ACS) için API'leri kullanmak veya ACS konsolunda kümeleri görüntülemek için gerekli izinleri vermeniz gerekir.
Ön koşullar
Özel bir ilke oluşturmadan önce ilke dilinin temel yapısı ve söz dizimi hakkında bilgi edinin. Daha fazla bilgi için bkz. İlke öğeleri.
Sistem ilkeleri
Bir RAM kullanıcısının veya RAM rolünün Alibaba Cloud hesabınızdaki tüm kümeler üzerinde O&M izinlerine ihtiyacı varsa hızlı yetkilendirme için sistem ilkelerini kullanın.
Sistem ilkesi ekleme
Bir Alibaba Cloud hesabı tüm kaynaklar üzerinde tam izne sahiptir. Tüm kaynakları yöneten bir hesap yöneticisi yapmak için bir RAM kullanıcısına AdministratorAccess de verebilirsiniz. Bkz. Hesap yöneticisi olarak bir RAM kullanıcısı oluşturma.
RAM konsolu adresine giriş yapın.
Sol gezinme bölmesinde seçeneğini belirleyin.
-
Users sayfasında hedef RAM kullanıcısını bulun ve Actions sütunu > Attach Policy seçeneğine tıklayın.
Toplu yetkilendirme için birden fazla RAM kullanıcısı seçebilir ve kullanıcı listesinin altındaki Attach Policy seçeneğine tıklayabilirsiniz.
-
Grant Permission panelinde bir ilke seçin ve yetkilendirmeyi tamamlayın.
-
Resource scope:
Account level: İzinler, Alibaba Cloud hesabınızdaki tüm kaynaklar için geçerlidir.
-
Resource group level: İzinler yalnızca belirtilen kaynak grubu içinde geçerlidir. Giriş yaptıktan sonra RAM kullanıcısının üst gezinme çubuğundan yetkilendirilmiş kaynak grubuna geçiş yapması gerekir.
NotSistem, yüksek riskli sistem ilkelerini (AdministratorAccess ve AliyunRAMFullAccess gibi) bir uyarı göstergesiyle işaretler. Bu ilkeler genellikle tüm cloud kaynakları üzerinde tam kontrol veya RAM'in tam yönetimi sağlar. Bu ilkeleri dikkatli verin.
Kaynak grubu yetkilendirme örnekleri için bkz. Belirli ECS örneklerine RAM kullanıcısı erişimini kontrol etme.
-
Principal:
Asıl, izinleri alan RAM kullanıcısıdır. Users sayfasından sistem mevcut kullanıcıyı otomatik seçer. Grants sayfasından ise kullanıcıyı manuel seçmeniz gerekir. Toplu seçim desteklenir.
Eklemek istediğiniz sistem ilkesini seçin.
OK seçeneğine tıklayın, ardından yetkilendirmeyi tamamlamak için Close seçeneğine tıklayın.
-
Özel ilkeler
ACK, kaba granüllü sistem ilkeleri sağlar. Bunlar güvenlik gereksinimlerinizi karşılamıyorsa özel bir ilke oluşturun. Örneğin, belirli bir küme için izinleri yönetmek gibi ince granüllü erişim kontrolü için özel ilkeler gereklidir.
Adım 1: Özel bir ilke oluşturma
Bir RAM yöneticisi olarak RAM konsolu adresine giriş yapın.
Sol gezinme bölmesinde seçeneğini belirleyin.
Policies sayfasında Create Policy seçeneğine tıklayın.
-
Create Policy sayfasında JSON sekmesine tıklayın ve aşağıdaki ilke belgesini yapıştırın.
{ "Statement": [{ "Action": [ "cs:Get*", "cs:List*", "cs:Describe*", "cs:ScaleCluster", "cs:DeleteCluster" ], "Effect": "Allow", "Resource": [ "acs:cs:*:*:cluster/<cluster_id>" ] }], "Version": "1" }Parametre
Açıklama
Action
Verilecek izinler. Tüm eylemler joker karakterleri destekler.
Resource
Bu parametreyi aşağıdaki yollardan biriyle yapılandırabilirsiniz. Küme kimliğinizi örneğin
cae93341766c843479ae986b3305xxxxxolacak şekilde<cluster_id>ile değiştirin.Tek bir küme üzerinde izin verme
"Resource": [ "acs:cs:*:*:cluster/<cluster_id>" ]Birden çok küme üzerinde izin verme
"Resource": [ "acs:cs:*:*:cluster/<cluster_id_1>", "acs:cs:*:*:cluster/<cluster_id_2>" ]Tüm kümeler üzerinde izin verme
"Resource": [ "*" ]
İlke içeriğini yapıştırdıktan sonra OK seçeneğine tıklayın. Görüntülenen iletişim kutusunda bir ilke adı girin ve OK seçeneğine tıklayın.
Policies sayfasına dönün ve oluşturulduğunu doğrulamak için ilke adı veya açıklamasına göre arama yapın.
Adım 2: Özel ilkeyi ekleme
Özel bir ilke ekleme prosedürü sistem ilkesi eklemekle aynıdır. Seçim adımında oluşturduğunuz özel ilkeyi seçin. Daha fazla bilgi için bkz. Sistem ilkesi ekleme.
Örnek
Küme düzeyinde yetkilendirmeyi desteklemeyen API işlemleri için izin verme
DescribeEvents gibi bazı API işlemleri küme düzeyinde yetkilendirmeyi desteklemez. Bir RAM kullanıcısına veya RAM rolüne bu API işlemleri için izin vermek amacıyla Resource öğesinde bir küme kimliği belirtmeyin.
Örneğin, aşağıdaki RAM ilkesini ele alalım:
{
"Statement": [
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/<cluster_id>"
]
}
],
"Version": "1"
}
Küme düzeyinde yetkilendirmeyi desteklemeyen DescribeEvents API işlemi için izin vermek üzere yeni bir ifade ekleyin. Bu ifade cs:DescribeEvents eylemini içermeli ve joker karakterli bir kaynak (*) belirtmelidir. Değiştirilen ilke aşağıdaki gibidir:
{
"Statement": [
{
"Action": [
"cs:DescribeEvents"
],
"Effect": "Allow",
"Resource": [
"*"
]
},
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/<cluster_id>"
]
}
],
"Version": "1"
}
Sonraki adımlar
RAM izinlerini verdikten sonra küme içindeki Kubernetes kaynaklarını yönetmek için Rol Tabanlı Erişim Kontrolü (RBAC) izinlerini de yapılandırmanız gerekir. Daha fazla bilgi için bkz. RAM kullanıcısına veya RAM rolüne RBAC izinleri verme.
-
RBAC izinlerini vermeden önce RAM kullanıcısının veya RAM rolünün hedef küme için salt okunur RAM izinlerine sahip olduğundan emin olun. Aşağıdaki ilke bir örnektir:
{ "Statement": [ { "Action": [ "cs:Get*", "cs:List*", "cs:Describe*" ], "Effect": "Allow", "Resource": [ "acs:cs:*:*:cluster/<cluster_id>" ] } ], "Version": "1" }