18 Ağustos 2021 tarihinden itibaren Container Service for Kubernetes (ACK), RAM kullanıcıları ve rolleri API çağrıları yaptığında gelişmiş kimlik doğrulama uygular. Yetkisiz API çağrılarından kaynaklanan kimlik doğrulama hatalarını önlemek için Alibaba Cloud hesabınızdaki RAM kullanıcılarına ve rollerine eklenen RAM ilkelerini kontrol etmeniz ve ihtiyaçlarınıza göre gerekli izinleri eklemeniz gerekir.
Etkiler
Gelişmiş kimlik doğrulama kullanıldıktan sonra, bir RAM kullanıcısı veya rolü yetkisiz bir işlem gerçekleştirmeye çalışırsa ACK konsolu veya API aşağıdaki içeriği içeren bir hata mesajı döndürür: RAM policy Forbidden veya STSToken policy Forbidden. İşlemi gerçekleştirmek için gereken RAM eylemi de hata mesajında belirtilir.
Aşağıdaki hata mesajı
cs:DescribeEvents
adlı bir RAM eylemi içerir:
RAM policy Forbidden for action cs:DescribeEvents
Aşağıdaki tabloda API işlemleri ve bu API işlemlerini çağırmak için gereken RAM eylemleri listelenmiştir. RAM kullanıcınızın veya rolünüzün aşağıdaki tablodaki API işlemlerini çağırma yetkisi yoksa RAM konsolunda oturum açın ve gerekli izinleri RAM kullanıcısına veya rolüne verin.
| İşlem | RAM Eylemi | Açıklama |
| DescribeEvents | cs:DescribeEvents | Kullanıcı olaylarını sorgular |
| StartAlert | cs:StartAlert | Bir uyarı kuralını etkinleştirir |
| StopAlert | cs:StopAlert | Bir uyarı kuralını devre dışı bırakır |
| DeleteAlertContact | cs:DeleteAlertContact | Bir uyarı kişisini siler |
| DeleteAlertContactGroup | cs:DeleteAlertContactGroup | Bir uyarı kişi grubunu siler |
| OpenAckService | cs:OpenAckService | ACK hizmetini etkinleştirir |
| DescribeClusterResources | cs:DescribeClusterResources | Küme kimliğine göre bir kümedeki tüm kaynakları sorgular |
| DescribeUserQuota | cs:DescribeUserQuota | Kaynak kotalarını sorgular |
| DescribeClustersV1 | cs:DescribeClustersV1 | Tüm kümelerin ayrıntılarını sorgular |
| DescribeExternalAgent | cs:DescribeExternalAgent | Küme kimliğine göre bir küme kayıt proxy'sini sorgular |
| DescribeKubernetesVersionMetadata | cs:DescribeKubernetesVersionMetadata | Desteklenen Kubernetes sürümlerini sorgular |
| DescribeClusterAddonUpgradeStatus | cs:DescribeClusterAddonUpgradeStatus | Küme eklentilerinin yükseltme ilerlemesini sorgular |
| DescribeClusters | cs:DescribeClusters | Hesaptaki Kubernetes kümeleri ve Swarm kümeleri dahil tüm kümeleri sorgular |
| DescribeClusterNamespaces | cs:DescribeClusterNamespaces | Bir kümedeki ad alanlarını sorgular |
| ModifyCluster | cs:ModifyCluster | Küme kimliğine göre küme yapılandırmalarını değiştirir |
| MigrateCluster | cs:MigrateCluster | Bir kümeyi geçirin |
| UpdateK8sClusterUserConfigExpire | cs:UpdateK8sClusterUserConfigExpire | Özel yapılandırmaların sona erme zamanını günceller |
| DescribeClusterNodes | cs:DescribeClusterNodes | Küme kimliğine göre bir kümedeki tüm düğümlerin ayrıntılarını sorgular |
| DescribeClusterAttachScripts | cs:DescribeClusterAttachScripts | Örnekleri bir kümeye eklemek için kullanılan betiği sorgular |
| GetUpgradeStatus | cs:GetUpgradeStatus | Küme kimliğine göre bir kümenin yükseltme ilerlemesini sorgular |
| UpgradeCluster | cs:UpgradeCluster | Küme kimliğine göre bir kümeyi yükseltir |
| PauseClusterUpgrade | cs:PauseClusterUpgrade | Bir kümenin yükseltilmesini duraklatır |
| CancelClusterUpgrade | cs:CancelClusterUpgrade | Bir kümenin yükseltilmesini iptal eder |
| CreateTemplate | cs:CreateTemplate | Bir orkestrasyon şablonu oluşturur |
| DescribeTemplates | cs:DescribeTemplates | Tüm orkestrasyon şablonlarının ayrıntılarını sorgular |
| DescribeTemplateAttribute | cs:DescribeTemplateAttribute | Şablon kimliğine göre bir orkestrasyon şablonunun ayrıntılarını sorgular |
| UpdateTemplate | cs:UpdateTemplate | Şablon kimliğine göre bir orkestrasyon şablonunu günceller |
| DeleteTemplate | cs:DeleteTemplate | Şablon kimliğine göre bir orkestrasyon şablonunu siler |
| CreateKubernetesTrigger | cs:CreateKubernetesTrigger | Bir uygulama için tetikleyici oluşturur |
| GetKubernetesTrigger | cs:GetKubernetesTrigger | Uygulama adına göre bir uygulamanın tetikleyicilerini sorgular |
| DeleteKubernetesTrigger | cs:DeleteKubernetesTrigger | Tetikleyici kimliğine göre bir tetikleyiciyi siler |
| InstallClusterAddons | cs:InstallClusterAddons | Bir kümede bileşenler yükler |
| DescribeAddons | cs:DescribeAddons | Desteklenen tüm bileşenlerin ayrıntılarını sorgular |
| DescribeClusterAddonsUpgradeStatus | cs:DescribeClusterAddonsUpgradeStatus | Bileşen adına göre bir bileşenin yükseltme ilerlemesini sorgular |
| DescribeClusterAddonsVersion | cs:DescribeClusterAddonsVersion | Küme kimliğine göre bir kümedeki tüm bileşenlerin ayrıntılarını sorgular |
| ModifyClusterConfiguration | cs:ModifyClusterConfiguration | Yalnızca yönetilen kümeler için geçerlidir |
| UpgradeClusterAddons | cs:UpgradeClusterAddons | Bileşen adına göre bir bileşeni belirtilen sürüme yükseltir |
| PauseComponentUpgrade | cs:PauseComponentUpgrade | Bir bileşenin yükseltilmesini duraklatır |
| ResumeComponentUpgrade | cs:ResumeComponentUpgrade | Bir bileşenin yükseltilmesine devam eder |
| CancelComponentUpgrade | cs:CancelComponentUpgrade | Bir bileşenin yükseltilmesini iptal eder |
| UnInstallClusterAddons | cs:UnInstallClusterAddons | Bileşen adına göre bir bileşeni kaldırır |
| CreateAutoscalingConfig | cs:CreateAutoscalingConfig | Otomatik ölçeklendirmeyi yapılandırır |
RAM ilkesini değiştirin
Aşağıdaki örnek, bir RAM kullanıcısına veya rolüne eklenen RAM ilkesinin nasıl değiştirileceğini gösterir. RAM yetkilendirmesi hakkında daha fazla bilgi için bkz. RAM ile küme ve cloud kaynağı erişimi verme.
Scenario 1: A RAM user can perform only the cs:Get* action on a cluster and requires permissions on all read-only operations related to the cluster
Aşağıdaki kod bloğu, bir RAM kullanıcısının bir kümede yalnızca
cs:Get*
eylemini gerçekleştirebildiği durumdaki RAM ilkesini gösterir:
{
"Statement": [
{
"Action": "cs:Get*",
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/c2e63856bcd714197****"
]
}
],
"Version": "1"
}
RAM kullanıcısının kümeyle ilgili tüm salt okunur işlemler için izne ihtiyacı varsa RAM ilkesini aşağıdaki kod bloğunda gösterildiği gibi değiştirin:
{
"Statement": [
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/c2e63856bcd714197****"
]
}
],
"Version": "1"
}
cs:Get*
eylemi tüm salt okunur işlemleri kapsamaz. RAM kullanıcısına tüm salt okunur işlemler için izin vermek üzere RAM ilkesine
cs:List*
ve
cs:Describe*
eylemlerini eklemeniz gerekir.
Scenario 2: Grant a RAM user the permissions on an individual operation related to a cluster
Bir RAM kullanıcısına kümeyle ilgili tek bir işlem için izin vermek üzere RAM ilkesinde yalnızca bu işleme karşılık gelen RAM eylemini eklemeniz yeterlidir.
Aşağıdaki kod bloğu mevcut RAM ilkesini gösterir:
{
"Statement": [
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/c2e63856bcd714197****"
]
}
],
"Version": "1"
}
ModifyCluster
işlemi için izin vermek üzere aşağıdaki kod bloğunda gösterildiği gibi RAM ilkesine karşılık gelen
cs:ModifyCluster
RAM eylemini eklemeniz gerekir:
{
"Statement": [
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*",
"cs:ModifyCluster"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/c2e63856bcd714197****"
]
}
],
"Version": "1"
}
Scenario 3: Grant a RAM user permissions on operations that are not specific to individual clusters
CreateCluster, DescribeClusters ve DescribeEvents gibi bazı API işlemleri belirli kümelerle sınırlı değildir. Bir RAM kullanıcısına bu işlemler için izin vermek üzere Resource bölümünde küme kimliklerini belirtmemelisiniz.
Aşağıdaki kod bloğu mevcut RAM ilkesini gösterir:
{
"Statement": [
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/c2e63856bcd714197****"
]
}
],
"Version": "1"
}
DescribeEvents
işlemi için izin vermek üzere aşağıdaki kod bloğunda gösterildiği gibi RAM ilkesine karşılık gelen
cs:DescribeEvents
RAM eylemini eklemeniz gerekir:
{
"Statement": [
{
"Action": [
"cs:DescribeEvents"
],
"Effect": "Allow",
"Resource": [
"*"
]
},
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/c2e63856bcd714197****"
]
}
],
"Version": "1"
}