Azure Kubernetes Service (AKS) için erişim ve kimlik seçenekleri
Kubernetes kümelerine erişimi çeşitli yollarla doğrulayabilir, yetkileyebilir, güvenlileştirebilir ve denetleyebilirsiniz:
- Kubernetes rol tabanlı erişim denetimini (Kubernetes RBAC) kullanarak kullanıcılara, gruplara ve hizmet hesaplarına yalnızca ihtiyaç duydukları kaynaklara erişim vekleyebilirsiniz.
- Azure Kubernetes Service (AKS) ile Microsoft Entra Id ve Azure RBAC kullanarak güvenlik ve izin yapısını daha da geliştirebilirsiniz.
Kubernetes RBAC ve AKS, küme erişiminizin güvenliğini sağlamanıza yardımcı olur ve geliştiricilere ve operatörlere yalnızca gereken en düşük izinleri sağlar.
Bu makalede, AKS'de kimlik doğrulaması yapmanıza ve izin atamanıza yardımcı olan temel kavramlar açıklanır.
Kubernetes RBAC
Kubernetes RBAC, kullanıcı eylemlerinin ayrıntılı filtrelemesini sağlar. Bu denetim mekanizmasıyla:
- Çalışan uygulama iş yüklerinden kaynak oluşturma ve değiştirme veya günlükleri görüntüleme iznini kullanıcılara veya kullanıcı gruplarına atarsınız.
- İzinleri tek bir ad alanına veya AKS kümesinin tamamına göre kapsam oluşturabilirsiniz.
- İzinleri tanımlamak için roller oluşturur ve ardından bu rolleri rol bağlamaları olan kullanıcılara atarsınız.
Daha fazla bilgi için bkz . Kubernetes RBAC yetkilendirmesini kullanma.
Roller ve ClusterRoles
Roller
Kubernetes RBAC'ye sahip kullanıcılara izin atamadan önce kullanıcı izinlerini Rol olarak tanımlayacaksınız. Rolleri kullanarak bir ad alanı içinde izinler verin.
Not
Kubernetes rolleri izinleri verir; izinleri reddetmez.
Kümenin tamamında veya belirli bir ad alanı dışındaki küme kaynaklarına izin vermek için, bunun yerine ClusterRoles kullanabilirsiniz.
ClusterRoles
ClusterRole belirli bir ad alanı yerine tüm kümedeki kaynaklara izin verir ve uygular.
RoleBindings ve ClusterRoleBindings
Kaynaklara izin vermek için roller tanımladıktan sonra, bu Kubernetes RBAC izinlerini rolebinding ile atarsınız. AKS kümeniz Microsoft Entra Id ile tümleştirilirse, RoleBindings, Microsoft Entra kullanıcılarına küme içinde eylem gerçekleştirme izni verir. Kubernetes rol tabanlı erişim denetimini ve Microsoft Entra kimliklerini kullanarak küme kaynaklarına erişimi denetleme bölümüne bakın.
RoleBindings
RoleBindings kullanarak belirli bir ad alanı için kullanıcılara roller atayın. RoleBindings ile tek bir AKS kümesini mantıksal olarak ayırarak yalnızca kullanıcıların atanan ad alanında uygulama kaynaklarına erişmesini sağlayabilirsiniz.
Rolleri kümenin tamamında veya belirli bir ad alanının dışındaki küme kaynaklarına bağlamak için ClusterRoleBindings kullanırsınız.
ClusterRoleBinding
ClusterRoleBinding ile, rolleri kullanıcılara bağlar ve belirli bir ad alanı yerine tüm kümedeki kaynaklara uygularsınız. Bu yaklaşım, yöneticilere veya destek mühendislerine AKS kümesindeki tüm kaynaklara erişim vermenizi sağlar.
Not
Microsoft/AKS, yerleşik bir Kubernetes rolü ve yerleşik rol aks-service
bağlaması aks-service-rolebinding
altında kullanıcı onayıyla tüm küme eylemlerini gerçekleştirir.
Bu rol AKS'nin küme sorunlarını gidermesine ve tanılamasına olanak tanır, ancak izinleri değiştiremez, rol veya rol bağlamaları ya da diğer yüksek ayrıcalıklı eylemler oluşturamaz. Rol erişimi yalnızca tam zamanında (JIT) erişime sahip etkin destek biletleri altında etkinleştirilir. AKS destek ilkeleri hakkında daha fazla bilgi edinin.
Kubernetes hizmet hesapları
Hizmet hesapları , Kubernetes'teki birincil kullanıcı türlerinden biridir. Kubernetes API'sinde hizmet hesapları bulunur ve yönetilebilir. Hizmet hesabı kimlik bilgileri Kubernetes gizli dizileri olarak depolanır ve yetkili podlar tarafından API Server ile iletişim kurmak için kullanılmasına olanak sağlar. Çoğu API isteği, bir hizmet hesabı veya normal bir kullanıcı hesabı için kimlik doğrulama belirteci sağlar.
Normal kullanıcı hesapları, yalnızca hizmetler ve işlemler için değil, insan yöneticiler veya geliştiriciler için daha geleneksel erişim sağlar. Kubernetes normal kullanıcı hesaplarını ve parolalarını depolamak için bir kimlik yönetimi çözümü sağlamasa da, dış kimlik çözümlerini Kubernetes ile tümleştirebilirsiniz. AKS kümeleri için bu tümleşik kimlik çözümü Microsoft Entra ID'dir.
Kubernetes'teki kimlik seçenekleri hakkında daha fazla bilgi için bkz . Kubernetes kimlik doğrulaması.
Azure rol tabanlı erişim denetimi
Azure rol tabanlı erişim denetimi (RBAC), Azure kaynakları için ayrıntılı erişim yönetimi sağlayan, Azure Resource Manager üzerinde oluşturulmuş bir yetkilendirme sistemidir.
RBAC sistemi | Açıklama |
---|---|
Kubernetes RBAC | AKS kümenizdeki Kubernetes kaynakları üzerinde çalışacak şekilde tasarlanmıştır. |
Azure RBAC | Azure aboneliğinizdeki kaynaklar üzerinde çalışacak şekilde tasarlanmıştır. |
Azure RBAC ile, uygulanacak izinleri özetleyen bir rol tanımı oluşturursunuz. Ardından, belirli bir kapsam için rol ataması aracılığıyla bu rol tanımını bir kullanıcı veya grup atarsınız. Kapsam tek bir kaynak, kaynak grubu veya abonelik genelinde olabilir.
Daha fazla bilgi için bkz. Azure rol tabanlı erişim denetimi (Azure RBAC) nedir?
AKS kümesini tam olarak çalıştırmak için gereken iki erişim düzeyi vardır:
- Azure aboneliğinizdeki AKS kaynağına erişin.
- AKS API'lerini kullanarak kümenizi ölçeklendirmeyi veya yükseltmeyi denetleyin.
- öğesini
kubeconfig
çekin.
- Kubernetes API'sine erişim. Bu erişim aşağıdakilerden biri tarafından denetlenilir:
- Kubernetes RBAC (geleneksel olarak).
- Azure RBAC'yi Kubernetes yetkilendirmesi için AKS ile tümleştirme.
AKS kaynağına erişimi yetkilendirmek için Azure RBAC
Azure RBAC ile kullanıcılarınıza (veya kimliklerinize) bir veya daha fazla abonelikte AKS kaynaklarına ayrıntılı erişim sağlayabilirsiniz. Örneğin, kümenizi ölçeklendirmek ve yükseltmek için Azure Kubernetes Service Katkıda Bulunanı rolünü kullanabilirsiniz. Bu arada, Azure Kubernetes Service Cluster Admin rolüne sahip başka bir kullanıcının yalnızca Yönetici'yi kubeconfig
çekme izni vardır.
AKS'de Kubernetes yapılandırma dosyasına erişimi tanımlamak için Azure RBAC kullanın.
Kubernetes için Azure RBAC Yetkilendirmesi
Azure RBAC tümleştirmesiyle AKS, Azure rol tanımı ve rol atamalarını kullanarak Microsoft Entra tümleşik Kubernetes kümesi kaynak izinlerini ve atamalarını yönetebilmeniz için bir Kubernetes Yetkilendirme web kancası sunucusu kullanır.
Yukarıdaki diyagramda gösterildiği gibi, Azure RBAC tümleştirmesi kullanılırken Kubernetes API'sine yapılan tüm istekler Microsoft Entra tümleştirmesi bölümünde açıklandığı gibi aynı kimlik doğrulama akışını izler.
İstekte bulunan kimlik Microsoft Entra Id'de mevcutsa Azure, isteği yetkilendirmek için Kubernetes RBAC ile birlikte çalışacaktır. Kimlik Microsoft Entra Id (kubernetes hizmet hesabı) dışındaysa, yetkilendirme normal Kubernetes RBAC'ye ertelenir.
Bu senaryoda, Tıpkı Kubernetes rollerinde olduğu gibi kullanıcılara yerleşik roller atamak veya özel roller oluşturmak için Azure RBAC mekanizmalarını ve API'lerini kullanırsınız.
Bu özellik sayesinde kullanıcılara abonelikler arasında AKS kaynağı için izin vermekle kalmaz, aynı zamanda Kubernetes API erişimini denetleyen bu kümelerin her birinin içindeki rolü ve izinleri de yapılandırmış olursunuz. Örneğin, rolü abonelik kapsamında verebilirsiniz Azure Kubernetes Service RBAC Reader
. Rol alıcısı, tüm kümelerdeki tüm Kubernetes nesnelerini değiştirmeden listeleyip alabilir.
Önemli
Bu özelliği kullanmadan önce Kubernetes için Azure RBAC yetkilendirmesini etkinleştirmeniz gerekir. Daha fazla ayrıntı ve adım adım yönergeler için Kubernetes için Azure RBAC'yi kullanma Yetkilendirme nasıl yapılır kılavuzumuzu izleyin.
Yerleşik roller
AKS aşağıdaki dört yerleşik rolü sağlar. Bunlar, CRD'leri destekleme gibi birkaç farklılığı olan Kubernetes yerleşik rollerine benzer. Her Azure yerleşik rolünün izin verdiği eylemlerin tam listesine bakın.
Rol | Açıklama |
---|---|
Azure Kubernetes Service RBAC Okuyucusu | Ad alanında çoğu nesneyi görmek için salt okunur erişime izin verir. Rollerin veya rol bağlamalarının görüntülenmesine izin vermez. görüntülemeye Secrets izin vermez. İçeriğin okunmasıSecrets , ad alanında herhangi bir ServiceAccount api erişimine ServiceAccount izin veren ad alanında (ayrıcalık yükseltme biçimi) kimlik bilgilerine erişim sağlar. |
Azure Kubernetes Service RBAC Yazıcısı | Ad alanı içindeki çoğu nesneye okuma/yazma erişimine izin verir. Rollerin veya rol bağlamalarının görüntülenmesine veya değiştirilmesine izin vermez. Podlara ad alanında herhangi bir ServiceAccount olarak erişmeye Secrets ve çalıştırmaya izin verir, böylece ad alanında herhangi bir ServiceAccount'ın API erişim düzeylerini elde etmek için kullanılabilir. |
Azure Kubernetes Service RBAC Yöneticisi | Ad alanı içinde verilmesi amaçlanan yönetici erişimine izin verir. Ad alanı içinde rol ve rol bağlamaları oluşturma özelliği de dahil olmak üzere bir ad alanında (veya küme kapsamındaki) çoğu kaynağa okuma/yazma erişimi sağlar. Kaynak kotasına veya ad alanına yazma erişimine izin vermez. |
Azure Kubernetes Service RBAC Kümesi Yöneticisi | Süper kullanıcı erişiminin herhangi bir kaynak üzerinde herhangi bir eylem gerçekleştirmesine izin verir. Kümedeki ve tüm ad alanlarındaki her kaynak üzerinde tam denetim sağlar. |
Microsoft Entra tümleştirmesi
Microsoft Entra tümleştirmesi ile AKS kümesi güvenliğinizi geliştirin. Onlarca yıllık kurumsal kimlik yönetimi üzerine kurulan Microsoft Entra ID, çekirdek dizin hizmetlerini, uygulama erişim yönetimini ve kimlik korumasını birleştiren çok kiracılı, bulut tabanlı bir dizin ve kimlik yönetimi hizmetidir. Microsoft Entra Id ile şirket içi kimlikleri AKS kümeleriyle tümleştirerek hesap yönetimi ve güvenliği için tek bir kaynak sağlayabilirsiniz.
Microsoft Entra tümleşik AKS kümeleri ile kullanıcılara veya gruplara bir ad alanı içindeki veya küme genelindeki Kubernetes kaynaklarına erişim vekleyebilirsiniz.
- Bir
kubectl
yapılandırma bağlamı elde etmek için kullanıcı az aks get-credentials komutunu çalıştırır. - Bir kullanıcı ile
kubectl
AKS kümesiyle etkileşime geçtiğinde, kullanıcıdan Microsoft Entra kimlik bilgileriyle oturum açması istenir.
Bu yaklaşım, kullanıcı hesabı yönetimi ve parola kimlik bilgileri için tek bir kaynak sağlar. Kullanıcı kaynaklara yalnızca küme yöneticisi tarafından tanımlanan şekilde erişebilir.
Microsoft Entra kimlik doğrulaması, OpenID Connect ile AKS kümelerine sağlanır. OpenID Connect, OAuth 2.0 protokolünün üzerine kurulmuş bir kimlik katmanıdır. OpenID Connect hakkında daha fazla bilgi için OpenID Connect belgelerine bakın. Kimlik doğrulama belirteçlerini doğrulamak için Kubernetes kümesinin içinden Web Kancası Belirteci Kimlik Doğrulaması kullanılır. Web kancası belirteci kimlik doğrulaması AKS kümesinin bir parçası olarak yapılandırılır ve yönetilir.
Web kancası ve API sunucusu
Yukarıdaki grafikte gösterildiği gibi, API sunucusu AKS web kancası sunucusunu çağırır ve aşağıdaki adımları gerçekleştirir:
kubectl
Kullanıcıların OAuth 2.0 cihaz yetkilendirmesi verme akışıyla oturum açması için Microsoft Entra istemci uygulamasını kullanır.- Microsoft Entra ID bir access_token, id_token ve refresh_token sağlar.
- Kullanıcı, içinden
kubeconfig
bir access_token ile isteğindekubectl
bulunur. kubectl
access_token API Server'a gönderir.- API Sunucusu, doğrulama gerçekleştirmek için Auth WebHook Sunucusu ile yapılandırılır.
- Kimlik doğrulama web kancası sunucusu, Microsoft Entra ortak imzalama anahtarını denetleyerek JSON Web Belirteci imzasının geçerli olduğunu onaylar.
- Sunucu uygulaması, MS Graph API'sinden oturum açmış kullanıcının grup üyeliklerini sorgulamak için kullanıcı tarafından sağlanan kimlik bilgilerini kullanır.
- Erişim belirtecinin kullanıcı asıl adı (UPN) talebi ve nesne kimliğine göre kullanıcının grup üyeliği gibi kullanıcı bilgileriyle API Sunucusuna bir yanıt gönderilir.
- API, Kubernetes Rolü/RoleBinding'i temel alan bir yetkilendirme kararı gerçekleştirir.
- Yetkilendirildikten sonra API sunucusu öğesine
kubectl
bir yanıt döndürür. kubectl
kullanıcıya geri bildirim sağlar.
AKS tarafından yönetilen Microsoft Entra tümleştirmesi nasıl yapılır kılavuzumuzla AKS'yi Microsoft Entra ID ile tümleştirmeyi öğrenin.
AKS hizmeti izinleri
Küme oluştururken AKS, kullanıcı adına kümeyi oluşturmak ve çalıştırmak için ihtiyaç duyduğu kaynakları (VM'ler ve NIC'ler gibi) oluşturur veya değiştirir. Bu kimlik, küme oluşturma sırasında oluşturulan kümenin kimlik izninden farklıdır.
Küme izinlerini oluşturma ve çalıştırma kimliği
Kümeyi oluşturan ve çalıştıran kimlik tarafından aşağıdaki izinler gereklidir.
İzin | Nedeni |
---|---|
Microsoft.Compute/diskEncryptionSets/read |
Disk şifreleme kümesi kimliğini okumak için gereklidir. |
Microsoft.Compute/proximityPlacementGroups/write |
Yakınlık yerleştirme gruplarını güncelleştirmek için gereklidir. |
Microsoft.Network/applicationGateways/read Microsoft.Network/applicationGateways/write Microsoft.Network/virtualNetworks/subnets/join/action |
Uygulama ağ geçitlerini yapılandırmak ve alt ağa katılmak için gereklidir. |
Microsoft.Network/virtualNetworks/subnets/join/action |
Özel bir sanal ağ kullanılırken alt ağ için Ağ Güvenlik Grubu'nun yapılandırılması gerekir. |
Microsoft.Network/publicIPAddresses/join/action Microsoft.Network/publicIPPrefixes/join/action |
Standart Load Balancer giden genel IP'leri yapılandırmak için gereklidir. |
Microsoft.OperationalInsights/workspaces/sharedkeys/read Microsoft.OperationalInsights/workspaces/read Microsoft.OperationsManagement/solutions/write Microsoft.OperationsManagement/solutions/read Microsoft.ManagedIdentity/userAssignedIdentities/assign/action |
Log Analytics çalışma alanlarını ve kapsayıcılar için Azure izlemeyi oluşturmak ve güncelleştirmek için gereklidir. |
Microsoft.Network/virtualNetworks/joinLoadBalancer/action |
IP tabanlı Load Balancer Arka Uç Havuzlarını yapılandırmak için gereklidir. |
AKS kümesi kimlik izinleri
Aşağıdaki izinler, AKS kümesi kimliği tarafından oluşturulur ve AKS kümesiyle ilişkilendirilir. Her izin aşağıdaki nedenlerle kullanılır:
İzin | Nedeni |
---|---|
Microsoft.ContainerService/managedClusters/* |
Kullanıcı oluşturmak ve kümeyi çalıştırmak için gereklidir |
Microsoft.Network/loadBalancers/delete Microsoft.Network/loadBalancers/read Microsoft.Network/loadBalancers/write |
LoadBalancer hizmetinin yük dengeleyicisini yapılandırmak için gereklidir. |
Microsoft.Network/publicIPAddresses/delete Microsoft.Network/publicIPAddresses/read Microsoft.Network/publicIPAddresses/write |
LoadBalancer hizmetinin genel IP'lerini bulmak ve yapılandırmak için gereklidir. |
Microsoft.Network/publicIPAddresses/join/action |
LoadBalancer hizmeti için genel IP'leri yapılandırmak için gereklidir. |
Microsoft.Network/networkSecurityGroups/read Microsoft.Network/networkSecurityGroups/write |
LoadBalancer hizmetinin güvenlik kurallarını oluşturmak veya silmek için gereklidir. |
Microsoft.Compute/disks/delete Microsoft.Compute/disks/read Microsoft.Compute/disks/write Microsoft.Compute/locations/DiskOperations/read |
AzureDisks'i yapılandırmak için gereklidir. |
Microsoft.Storage/storageAccounts/delete Microsoft.Storage/storageAccounts/listKeys/action Microsoft.Storage/storageAccounts/read Microsoft.Storage/storageAccounts/write Microsoft.Storage/operations/read |
AzureFile veya AzureDisk için depolama hesaplarını yapılandırmak için gereklidir. |
Microsoft.Network/routeTables/read Microsoft.Network/routeTables/routes/delete Microsoft.Network/routeTables/routes/read Microsoft.Network/routeTables/routes/write Microsoft.Network/routeTables/write |
Düğümler için yol tablolarını ve yollarını yapılandırmak için gereklidir. |
Microsoft.Compute/virtualMachines/read |
Bölgeler, hata etki alanı, boyut ve veri diskleri gibi bir VMAS'daki sanal makinelerin bilgilerini bulmak için gereklidir. |
Microsoft.Compute/virtualMachines/write |
AzureDisk'leri VMAS'deki bir sanal makineye eklemek için gereklidir. |
Microsoft.Compute/virtualMachineScaleSets/read Microsoft.Compute/virtualMachineScaleSets/virtualMachines/read Microsoft.Compute/virtualMachineScaleSets/virtualmachines/instanceView/read |
Alanlar, hata etki alanı, boyut ve veri diskleri gibi bir sanal makine ölçek kümesindeki sanal makinelerin bilgilerini bulmak için gereklidir. |
Microsoft.Network/networkInterfaces/write |
VMAS'daki bir sanal makineyi yük dengeleyici arka uç adres havuzuna eklemek için gereklidir. |
Microsoft.Compute/virtualMachineScaleSets/write |
Yük dengeleyici arka uç adres havuzlarına sanal makine ölçek kümesi eklemek ve sanal makine ölçek kümesindeki düğümlerin ölçeğini genişletmek için gereklidir. |
Microsoft.Compute/virtualMachineScaleSets/delete |
Bir sanal makine ölçek kümesini yük dengeleyici arka uç adres havuzlarına silmek ve sanal makine ölçek kümesindeki düğümlerin ölçeğini küçültmek için gereklidir. |
Microsoft.Compute/virtualMachineScaleSets/virtualmachines/write |
AzureDisk'leri eklemek ve bir sanal makine ölçek kümesinden yük dengeleyiciye bir sanal makine eklemek için gereklidir. |
Microsoft.Network/networkInterfaces/read |
VMAS içindeki sanal makineler için iç IP'leri ve yük dengeleyici arka uç adres havuzlarını aramak için gereklidir. |
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/networkInterfaces/read |
Bir sanal makine ölçek kümesindeki bir sanal makine için iç IP'leri ve yük dengeleyici arka uç adres havuzlarını aramak için gereklidir. |
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/networkInterfaces/ipconfigurations/publicipaddresses/read |
Sanal makine ölçek kümesindeki bir sanal makinenin genel IP'lerini bulmak için gereklidir. |
Microsoft.Network/virtualNetworks/read Microsoft.Network/virtualNetworks/subnets/read |
Başka bir kaynak grubundaki iç yük dengeleyici için bir alt ağ olup olmadığını doğrulamak için gereklidir. |
Microsoft.Compute/snapshots/delete Microsoft.Compute/snapshots/read Microsoft.Compute/snapshots/write |
AzureDisk için anlık görüntüleri yapılandırmak için gereklidir. |
Microsoft.Compute/locations/vmSizes/read Microsoft.Compute/locations/operations/read |
AzureDisk birim sınırlarını bulmak için sanal makine boyutlarını bulmak için gereklidir. |
Ek küme kimliği izinleri
Belirli özniteliklere sahip bir küme oluştururken, küme kimliği için aşağıdaki ek izinlere ihtiyacınız olacaktır. Bu izinler otomatik olarak atanmadığından, oluşturulduktan sonra bunları küme kimliğine eklemeniz gerekir.
İzin | Nedeni |
---|---|
Microsoft.Network/networkSecurityGroups/write Microsoft.Network/networkSecurityGroups/read |
Başka bir kaynak grubunda ağ güvenlik grubu kullanılıyorsa gereklidir. LoadBalancer hizmetinin güvenlik kurallarını yapılandırmak için gereklidir. |
Microsoft.Network/virtualNetworks/subnets/read Microsoft.Network/virtualNetworks/subnets/join/action |
Özel VNET gibi başka bir kaynak grubunda alt ağ kullanılıyorsa gereklidir. |
Microsoft.Network/routeTables/routes/read Microsoft.Network/routeTables/routes/write |
Özel yönlendirme tablosuna sahip özel bir VNET gibi başka bir kaynak grubundaki yol tablosuyla ilişkilendirilmiş bir alt ağ kullanılıyorsa gereklidir. Diğer kaynak grubundaki alt ağ için zaten bir alt ağ olup olmadığını doğrulamak için gereklidir. |
Microsoft.Network/virtualNetworks/subnets/read |
Başka bir kaynak grubunda iç yük dengeleyici kullanılıyorsa gereklidir. Kaynak grubundaki iç yük dengeleyici için bir alt ağın zaten mevcut olup olmadığını doğrulamak için gereklidir. |
Microsoft.Network/privatednszones/* |
Özel bir privateDNSZone gibi başka bir kaynak grubunda özel dns bölgesi kullanılıyorsa gereklidir. |
AKS Düğümü Erişimi
Varsayılan olarak AKS için Düğüm Erişimi gerekli değildir. Belirli bir bileşenden yararlanılırsa düğüm için aşağıdaki erişim gereklidir.
Access | Nedeni |
---|---|
kubelet |
MSI'ye ACR erişimi vermek için gereklidir. |
http app routing |
"Rastgele ad".aksapp.io yazma izni için gereklidir. |
container insights |
Log Analytics çalışma alanına izin vermek için gereklidir. |
Özet
Microsoft Entra tümleştirmesi etkinleştirildiğinde kullanıcıların Kubernetes'de nasıl kimlik doğrulaması yapabileceklerini gösteren hızlı bir özet için tabloyu görüntüleyin. Her durumda kullanıcının komut dizisi şöyledir:
Azure'da kimlik doğrulaması yapmak için komutunu çalıştırın
az login
.kümenin kimlik bilgilerini içine
.kube/config
indirmek için komutunu çalıştırınaz aks get-credentials
.Komutları çalıştırın
kubectl
.- İlk komut, aşağıdaki tabloda açıklandığı gibi kümede kimlik doğrulaması yapmak için tarayıcı tabanlı kimlik doğrulamasını tetikleyebilir.
Azure portalında şunları bulabilirsiniz:
- İkinci sütunda başvuruda bulunılan Rol Verme (Azure RBAC rol verme), Erişim Denetimi sekmesinde gösterilir.
- Küme Yöneticisi Microsoft Entra grubu Yapılandırma sekmesinde gösterilir.
- Azure CLI'da parametre adıyla
--aad-admin-group-object-ids
da bulunur.
- Azure CLI'da parametre adıyla
Açıklama | Rol verme gerekli | Küme yöneticisi Microsoft Entra grupları | ne zaman kullanılmalı |
---|---|---|---|
İstemci sertifikası kullanarak eski yönetici oturum açma bilgileri | Azure Kubernetes Hizmet Kümesi Yönetici Rolü. Bu rol, eski (Microsoft Entra olmayan) bir küme yönetici sertifikasını kullanıcının .kube/config içine indiren bayrağıyla --admin birlikte kullanılmasına izin veriraz aks get-credentials . "Azure Kubernetes Service Küme Yöneticisi Rolü" tek amacı budur. |
yok | Kümenize erişimi olan geçerli bir Microsoft Entra grubuna erişiminiz olmaması nedeniyle kalıcı olarak engellenirseniz. |
El ile (Küme)RoleBindings ile Microsoft Entra Kimliği | Azure Kubernetes Service Kümesi Kullanıcı Rolü. "Kullanıcı" rolü az aks get-credentials bayrağı olmadan --admin kullanılabilir. (Bu, "Azure Kubernetes Hizmet Kümesi Kullanıcı Rolü" öğesinin tek amacıdır.) Sonuç olarak, Microsoft Entra ID özellikli bir kümede, tarafından ilk kez kullanıldığında kubectl tarayıcı tabanlı kimlik doğrulamasını tetikleyen içine boş bir girdi .kube/config indirilir. |
Kullanıcı bu grupların hiçbirinde değil. Kullanıcı herhangi bir Küme Yöneticisi grubunda olmadığından, hakları küme yöneticileri tarafından ayarlanan tüm RoleBinding'ler veya ClusterRoleBinding'ler tarafından tamamen denetlenecektir. (Küme)RoleBindings , Microsoft Entra kullanıcılarını veya Microsoft Entra gruplarını olarak subjects gösterir. Böyle bir bağlama ayarlanmamışsa, kullanıcı herhangi bir kubectl komutu çıkaramaz. |
Ayrıntılı erişim denetimi istiyorsanız ve Kubernetes Yetkilendirmesi için Azure RBAC kullanmıyorsanız. Bağlamaları ayarlayan kullanıcının bu tabloda listelenen diğer yöntemlerden biri tarafından oturum açması gerektiğini unutmayın. |
Yönetici grubunun üyesine göre Microsoft Entra Id | Yukarıdakiyle aynı | Kullanıcı, burada listelenen gruplardan birinin üyesidir. AKS, listelenen tüm grupları Kubernetes rolüne cluster-admin bağlayan bir ClusterRoleBinding'i otomatik olarak oluşturur. Bu nedenle, bu gruplardaki kullanıcılar tüm kubectl komutları olarak cluster-admin çalıştırabilir. |
Kullanıcılara tam yönetici hakları vermek istiyorsanız ve Kubernetes için Azure RBAC yetkilendirmesini kullanmıyorsanız . |
Kubernetes Için Azure RBAC Yetkilendirmesi ile Microsoft Entra Id | İki rol: İlk olarak, Azure Kubernetes Service Kümesi Kullanıcı Rolü (yukarıda gösterildiği gibi). İkincisi, "Azure Kubernetes Service RBAC..." rollerini veya kendi özel alternatifinizi seçin. |
Kubernetes için Azure RBAC Yetkilendirmesi etkinleştirildiğinde Yapılandırma sekmesindeki yönetici rolleri alanı önemsizdir. | Kubernetes yetkilendirmesi için Azure RBAC kullanıyorsunuz. Bu yaklaşım, RoleBindings veya ClusterRoleBindings'i ayarlamanıza gerek kalmadan ayrıntılı denetim sağlar. |
Sonraki adımlar
- Microsoft Entra ID ve Kubernetes RBAC kullanmaya başlamak için bkz . Microsoft Entra Id'yi AKS ile tümleştirme.
- İlişkili en iyi yöntemler için bkz . AKS'de kimlik doğrulaması ve yetkilendirme için en iyi yöntemler.
- Kubernetes için Azure RBAC Yetkilendirmesi'ni kullanmaya başlamak için bkz . Azure Kubernetes Service (AKS) Kümesi içinde erişim yetkilendirmek için Azure RBAC kullanma.
- Dosyanızın
kubeconfig
güvenliğini sağlamaya başlamak için bkz . Küme yapılandırma dosyasına erişimi sınırlama. - AKS'de yönetilen kimlikleri kullanmaya başlamak için bkz . AKS'de yönetilen kimlik kullanma.
Temel Kubernetes ve AKS kavramları hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
Azure Kubernetes Service