Azure Kubernetes Service (AKS) için erişim ve kimlik seçenekleri
Kubernetes kümelerine çok çeşitli yollarla kimlik doğrulaması, yetkilendirme, güvenli hale getirme ve denetim erişimi sağlayabilirsiniz.
- Kubernetes rol tabanlı erişim denetimini (Kubernetes RBAC) kullanarak kullanıcılara, gruplara ve hizmet hesaplarına yalnızca ihtiyaç duydukları kaynaklara erişim izni verebilirsiniz.
- azure kubernetes Service (aks) ile Azure Active Directory ve Azure RBAC aracılığıyla güvenlik ve izin yapısını daha da geliştirebilirsiniz.
Kubernetes RBAC ve AKS, küme erişiminizi güvenli hale getirmenize ve yalnızca geliştiricilere ve işleçlere gereken en düşük izinleri sağlamanıza yardımcı olur.
Bu makalede, AKS 'de izinleri kimlik doğrulamasından ve atamanıza yardımcı olan temel kavramlar tanıtılmaktadır.
AKS hizmeti izinleri
Bir küme oluştururken, AKS, Kullanıcı adına kümeyi oluşturmak ve çalıştırmak için ihtiyaç duyacağı 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şturma ve çalıştırma kimliği için 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şimi 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 katmak için gereklidir. |
Microsoft.Network/virtualNetworks/subnets/join/action |
Özel VNET kullanılırken alt ağ için ağ güvenlik grubunu yapılandırmak için gereklidir. |
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ı ve kapsayıcılar için Azure izleme oluşturma ve güncelleştirme için gereklidir. |
AKS kümesi kimlik izinleri
Aşağıdaki izinler, aks kümesiyle oluşturulup ilişkili olan AKS kümesi kimliği tarafından kullanılır. 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 |
Bir LoadBalancer hizmeti için yük dengeleyiciyi yapılandırmak için gereklidir. |
Microsoft.Network/publicIPAddresses/delete Microsoft.Network/publicIPAddresses/read Microsoft.Network/publicIPAddresses/write |
Bir LoadBalancer hizmeti için genel IP 'Leri bulmak ve yapılandırmak için gereklidir. |
Microsoft.Network/publicIPAddresses/join/action |
Bir LoadBalancer hizmeti için genel IP 'Leri yapılandırmak için gereklidir. |
Microsoft.Network/networkSecurityGroups/read Microsoft.Network/networkSecurityGroups/write |
Bir LoadBalancer hizmeti için güvenlik kuralları 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 'yi 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 rota tabloları ve rotalar yapılandırmak için gereklidir. |
Microsoft.Compute/virtualMachines/read |
Bölgeler, hata etki alanı, boyut ve veri diskleri gibi sanal makinelere yönelik bilgileri bulmak için gereklidir. |
Microsoft.Compute/virtualMachines/write |
Bir sanal makineye AzureDisks eklemek için gerekir. |
Microsoft.Compute/virtualMachineScaleSets/read Microsoft.Compute/virtualMachineScaleSets/virtualMachines/read Microsoft.Compute/virtualMachineScaleSets/virtualmachines/instanceView/read |
Bölgeler, hata etki alanı, boyut ve veri diskleri gibi bir sanal makine ölçek kümesindeki sanal makinelere ilişkin bilgileri bulmak için gereklidir. |
Microsoft.Network/networkInterfaces/write |
Bir sanal makineyi bir yük dengeleyici arka uç adres havuzuna bir VMAS 'e eklemek için gereklidir. |
Microsoft.Compute/virtualMachineScaleSets/write |
Bir sanal makine ölçek kümesini yük dengeleyici arka uç adres havuzlarına eklemek ve bir sanal makine ölçek kümesindeki düğümleri ölçeklendirmek için gereklidir. |
Microsoft.Compute/virtualMachineScaleSets/virtualmachines/write |
AzureDisks iliştirmek ve sanal makine ölçek kümesinden yük dengeleyiciye bir sanal makine eklemek için gereklidir. |
Microsoft.Network/networkInterfaces/read |
Sanal makineler için iç IP 'Leri ve yük dengeleyici arka uç adres havuzlarını bir VMALAR içinde aramak için gereklidir. |
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/networkInterfaces/read |
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 |
Bir sanal makine ölçek kümesindeki bir sanal makine için genel IP 'Leri 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ğın mevcut 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 sahip olmanız gerekir. 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. Bir LoadBalancer hizmeti için 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 bir alt ağ kullanılıyorsa gereklidir. |
Microsoft.Network/routeTables/routes/read Microsoft.Network/routeTables/routes/write |
Özel bir yol tablosu olan özel VNET gibi başka bir kaynak grubundaki yol tablosuyla ilişkili bir alt ağ kullanılıyorsa gereklidir. Diğer kaynak grubundaki alt ağ için bir alt ağın zaten mevcut 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 bir 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şen yararlanılabilir ise düğüm için aşağıdaki erişim gerekir.
| Access | Nedeni |
|---|---|
kubelet |
Müşterinin ACR 'ye MSI erişimi vermesi için gereklidir. |
http app routing |
"Random Name". aksapp. IO için yazma izni için gereklidir. |
container insights |
Müşterinin Log Analytics çalışma alanına izin vermesi gerekir. |
Kubernetes RBAC
Kubernetes RBAC, Kullanıcı eylemlerinin parçalı filtrelemesini sağlar. Bu denetim mekanizmasıyla:
- Kullanıcıları veya Kullanıcı gruplarını, kaynakları oluşturma ve değiştirme veya çalışan uygulama iş yüklerinden günlükleri görüntüleme izni atayabilirsiniz.
- İzinleri tek bir ad alanı veya tüm AKS kümesi genelinde kapsamını belirleyebilirsiniz.
- İzinleri tanımlamak için Roller oluşturun ve ardından bu rolleri rol bağlamalarıyla kullanıcılara atayın.
Daha fazla bilgi için bkz. Kubernetes RBAC yetkilendirmesini kullanma.
Roller ve Kümerolleri
Roller
Kubernetes RBAC ile kullanıcılara izin atamadan önce, Kullanıcı izinlerini rol olarak tanımlayacaksınız. Rolleri kullanarak bir ad alanı içinde izin verin.
Not
Kubernetes rolleri izin verir ; İzinler reddedilmez .
Tüm küme genelinde veya belirli bir ad alanı dışındaki küme kaynakları için izin vermek üzere Clusterroles kullanabilirsiniz.
ClusterRoles
Bir ClusterRole, belirli bir ad alanı değil tüm küme genelinde kaynaklara izin verir ve izinleri uygular.
RoleBindings ve ClusterRoleBindings
Kaynaklara izinler vermek için roller tanımladıktan sonra, bu Kubernetes RBAC izinlerini bir Rolebinding ile atarsınız. aks kümeniz Azure Active Directory (azure ad) ile tümleşiyorsa, rolebindings küme içinde eylem gerçekleştirmek için Azure ad kullanıcılarına izinler verir. bkz. kubernetes rol tabanlı erişim denetimi ve Azure Active Directory kimliklerini kullanarak küme kaynaklarına erişimi denetleme.
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ırabilirsiniz, ancak kullanıcıların kendilerine atanan ad alanındaki uygulama kaynaklarına erişmesini sağlayabilirsiniz.
Rolleri tüm küme genelinde veya belirli bir ad alanı dışındaki küme kaynaklarına bağlamak için Clusterrolebindings kullanın.
ClusterRoleBinding
ClusterRoleBinding ile, rolleri kullanıcılara bağlarsınız ve belirli bir ad alanı değil tüm kümedeki kaynaklara uygularsınız. Bu yaklaşım, yöneticilerin veya Destek mühendislerinin AKS kümesindeki tüm kaynaklara erişmesine izin vermenizi sağlar.
Not
Microsoft/AKS, yerleşik bir Kubernetes rolü aks-service ve yerleşik rol bağlama altında Kullanıcı onayı ile herhangi bir küme eylemi gerçekleştirir aks-service-rolebinding .
Bu rol, AKS 'in küme sorunlarını giderme ve tanılama, ancak izinleri değiştiremeyeceği ya da roller ya da rol bağlamaları ya da diğer yüksek ayrıcalıklı eylemler oluşturmalarına olanak sağlar. Rol erişimi yalnızca, tam zamanında (JıT) erişime sahip etkin destek biletleri altında etkinleştirilir. Aks destek ilkelerihakkında daha fazla bilgi edinin.
Kubernetes hizmet hesapları
Hizmet hesapları , Kubernetes içindeki birincil kullanıcı türlerinden biridir. Kubernetes API 'SI hizmet hesaplarını tutar ve yönetir. Hizmet hesabı kimlik bilgileri Kubernetes gizli dizileri olarak depolanır ve yetkili podların API Sunucusu ile iletişim kurması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 hizmet 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ı 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ü Azure AD'dir.
Kubernetes'te kimlik seçenekleri hakkında daha fazla bilgi için bkz. Kubernetes kimlik doğrulaması.
Azure AD tümleştirmesi
Azure AD tümleştirmesi ile AKS kümenizin güvenliğini geliştirin. Onlarca yıllık kurumsal kimlik yönetimi üzerine kurulu Azure AD, temel 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. Azure AD ile hesap yönetimi ve güvenliği için tek bir kaynak sağlamak için şirket içi kimlikleri AKS kümeleriyle tümleştirebilirsiniz.

Azure AD ile tümleşik AKS kümeleri sayesinde kullanıcılara veya gruplara ad alanı içindeki veya küme genelindeki Kubernetes kaynaklarına erişim izni veebilirsiniz.
- Bir yapılandırma bağlamı
kubectlalmak için kullanıcı az aks get-credentials komutunu çalıştırır. - Bir kullanıcı AKS kümesiyle etkileşim kurduğunda, kullanıcıdan Azure AD kimlik
kubectlbilgileriyle 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ı yalnızca küme yöneticisi tarafından tanımlanan kaynaklara erişebilirsiniz.
Azure AD kimlik doğrulaması, OpenID ile AKS kümelere Bağlan. OpenID Bağlan, OAuth 2.0 protokolü üzerinde yerleşik bir kimlik katmanıdır. OpenID kimlik bilgileri hakkında daha Bağlan için Open ID connect belgelerine bakın. Kimlik doğrulama belirteçlerini doğrulamak için Kubernetes kümesi içinden Web Kancası Belirteci Kimlik Doğrulaması kullanılır. Web kancası belirteci kimlik doğrulaması AKS kümesi kapsamında 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ğırarak aşağıdaki adımları gerçekleştirir:
kubectl, OAuth 2.0cihaz yetkilendirmesi onay akışı ile kullanıcıların oturum açmasını için Azure AD istemci uygulamasını kullanır.- Azure AD bir access_token, id_token ve refresh_token.
- Kullanıcı, 'den bir
kubectlaccess_tokenkubeconfigyapar. kubectl, api access_token api sunucusuna gönderir.- API Sunucusu doğrulama gerçekleştirmek için Kimlik Doğrulama Web Kancası Sunucusu ile yapılandırılır.
- Kimlik doğrulama web kancası sunucusu Azure AD JSON Web Token imzalama anahtarını kontrol ederek bu imzanın geçerli olduğunu onaylar.
- Sunucu uygulaması, oturum açmış olan kullanıcının MS Graph API'sinde grup üyeliklerini sorgulamak için kullanıcı tarafından sağlanan kimlik Graph kullanır.
- ERIŞIM belirtecin 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.
- Yetkilendirilen API sunucusu için bir yanıt
kubectldöndürür. kubectlkullanıcıya geri bildirim sağlar.
AKS tarafından yönetilen Azure AD tümleştirmesi ile AKS'nin Azure AD ile nasıl tümleştirilsin? kılavuzu hakkında bilgi edinin.
Azure rol tabanlı erişim denetimi
Azure rol tabanlı erişim denetimi (RBAC), Azure kaynaklarının Azure Resource Manager erişim yönetimi sağlayan bir yetkilendirme sistemidir.
| RBAC sistemi | Description |
|---|---|
| Kubernetes RBAC | AKS kümenizin içindeki Kubernetes kaynakları üzerinde çalışacak şekilde tasarlanmıştır. |
| Azure RBAC | Azure aboneliğinizin içindeki kaynaklar üzerinde çalışacak şekilde tasarlanmıştır. |
Azure RBAC ile uygulanacak izinleri özetleen bir rol tanımı oluşturabilirsiniz. Ardından bu rol tanımını belirli bir kapsam için bir rol ataması aracılığıyla atar veya gruplar. Kapsam tek bir kaynak, bir kaynak grubu veya abonelik genelinde olabilir.
Daha fazla bilgi için bkz. Azure rol tabanlı erişim denetimi (Azure RBAC) nedir?
AKS kümesi tam olarak çalıştırmak için iki erişim düzeyi gerekir:
- Azure aboneliğinizin AKS kaynağına erişin.
- AKS API'lerini kullanarak kümenizi ölçeklendirmeyi veya yükseltmeyi denetleme.
- 'nizi
kubeconfigçekin.
- Kubernetes API'lerine erişim. Bu erişim şu iki durumdan biri tarafından denetlenr:
- Kubernetes RBAC (geleneksel olarak).
- Kubernetes yetkilendirmesi için Azure RBAC'yi AKS ile tümleştirme.
AKS kaynağına erişimi yetkilendirmek için Azure RBAC
Azure RBAC ile, kullanıcılarınızı (veya kimliklerinizi) bir veya daha fazla abonelikte AKS kaynaklarına ayrıntılı erişim sabilirsiniz. Örneğin, kümenizi ölçeklendirmek ve yükseltmek Azure Kubernetes Service Katkıda Bulunanı rolünü kullanabilirsiniz. Bu arada, Küme Yöneticisi rolüne Azure Kubernetes Service başka bir kullanıcının yalnızca Yönetici'ye çekme izni kubeconfig vardır.
Alternatif olarak, kullanıcınıza genel Katkıda Bulunan rolü ve ardından da katkıda bulunan rolünüz olabilir. Genel Katkıda Bulunan rolüyle, kullanıcılar yukarıdaki izinleri ve AKS kaynağında mümkün olan her eylemi gerçekleştirerek izinleri yönetebilirsiniz.
AKS'de Kubernetes yapılandırma dosyasına erişimi tanımlamak için Azure RBAC kullanın.
Kubernetes Yetkilendirmesi için Azure RBAC
Azure RBAC tümleştirmesi ile AKS bir Kubernetes Yetkilendirmesi web kancası sunucusu kullanır. Böylece Azure AD ile tümleşik Kubernetes kümesi kaynak izinlerini ve atamalarını Azure rol tanımı ve rol atamalarını kullanarak yönetebilirsiniz.

Yukarıdaki diyagramda gösterildiği gibi, Azure RBAC tümleştirmesi kullanılırken Kubernetes API'sine yapılan tüm istekler, azure tümleştirmesi bölümünde açıklanan kimlik doğrulama Azure Active Directory takip eder.
İsteği yapan kimlik Azure AD'de mevcutsa Azure, isteği yetkilendirmek için Kubernetes RBAC ile birlikte çalışma başlatacak. Kimlik Azure AD'nin (kubernetes hizmet hesabı) dışında bulunuyorsa, yetkilendirme normal Kubernetes RBAC'yi geri alır.
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ırsiniz.
Bu özellik sayesinde kullanıcılara abonelikler arasında AKS kaynağı üzerinde izin vermekle birlikte Kubernetes API erişimini denetleyen bu kümelerin her biri için rol ve izinler de yapılandırabilirsiniz. Örneğin, rolü abonelik Azure Kubernetes Service RBAC Reader kapsamında veebilirsiniz. Rol alıcısı, bunları değiştirmeden tüm kümelerden tüm Kubernetes nesnelerini listeleye ve alabilecektir.
Önemli
Bu özelliği kullanmadan önce Kubernetes için Azure RBAC yetkilendirmeyi etkinleştirmeniz gerekir. Daha fazla ayrıntı ve adım adım kılavuz için Kubernetes Yetkilendirmesi için Azure RBAC'yi kullanma nasıl yardım kılavuzunu 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ü tarafından izin verilen eylemlerin tam listesine bakın.
| Rol | Açıklama |
|---|---|
| Azure Kubernetes Service RBAC Okuyucusu | Bir ad alanı içinde çoğu nesne görmek için salt okunur erişime izin verir. Rollerin veya rol bağlamalarının görüntülemesine izin vermez. görüntülemeye izin Secrets vermez. İçeriğin okunması, ad alanı içindeki kimlik bilgilerine erişim sağlar ve bu da ad alanının herhangi bir türü (ayrıcalık yükseltme biçimi) olarak Secrets ServiceAccount API ServiceAccount erişimine izin verir. |
| Azure Kubernetes Service RBAC Yazıcı | Ad alanı nesnelerinin çoğuna okuma/yazma erişimi sağlar. Rolleri veya rol bağlamalarını görüntülemeye veya değiştirmeye izin vermez. Podlara ad alanı içinde herhangi bir ServiceAccount olarak erişmeye ve çalıştırmaya izin verir, bu nedenle ad alanı içinde herhangi bir Secrets 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ğlaması oluşturma olanağı da dahil olmak üzere bir ad alanı (veya küme kapsamı) içindeki kaynakların çoğuna okuma/yazma erişimi sağlar. Kaynak kotasına veya ad alanının kendisine yazma erişimine izin vermez. |
| Azure Kubernetes Service RBAC Kümesi Yöneticisi | Herhangi bir kaynak üzerinde herhangi bir eylem gerçekleştirmek için süper kullanıcı erişimine izin verir. Kümede ve tüm ad alanlarındaki her kaynak üzerinde tam denetim sağlar. |
Özet
Azure AD tümleştirmesi etkinleştirildiğinde kullanıcıların Kubernetes'te kimlik doğrulaması yapmalarının hızlı bir özeti için tabloyu görüntüleme. Her durumda kullanıcının komut dizisi şöyledir:
az loginAzure'da kimlik doğrulaması yapmak için çalıştırın.- Kümenin
az aks get-credentialskimlik bilgilerini içine indirmek için.kube/configçalıştırın. - Komutları
kubectlçalıştırın.- İlk komut, aşağıdaki tabloda açıklandığı gibi kümede kimlik doğrulaması yapmak için tarayıcı tabanlı kimlik doğrulamasını tetikler.
Aşağıdaki Azure portal bulabilirsiniz:
- İkinci sütunda başvurulan Rol Izni (Azure RBAC rol izni) Access Control gösterilir.
- Küme Yöneticisi Azure AD Grubu, Yapılandırma sekmesinde gösterilir.
--aad-admin-group-object-idsAyrıca Azure CLI'de parametre adıyla da bulunur.
| Description | Rol izni gerekiyor | Küme yöneticisi Azure AD grubu | Kullanılması gereken durumlar |
|---|---|---|---|
| İstemci sertifikası kullanarak eski yönetici oturum açma bilgileri | Azure Kubernetes Yönetici Rolü. Bu rol, kullanıcının kümesine eski (Azure AD olmayan) bir küme yöneticisi sertifikası indiren az aks get-credentials --admin bayrağıyla birlikte kullanılmaya olanak .kube/config sağlar. Bu, "Azure Kubernetes Yönetici Rolü"nin tek amacıdır. |
yok | Kümenize erişimi olan geçerli bir Azure AD grubuna erişiminizin olması kalıcı olarak engellenirse. |
| El ile Azure AD (Küme)RoleBindings | Azure Kubernetes Kullanıcı Rolü. "Kullanıcı" rolü bayrağı az aks get-credentials olmadan --admin kullanılabilir. (Bu, "Azure Kubernetes Kullanıcı Rolünün" tek amacıdır.) Sonuç olarak, Azure AD etkin bir kümede içine boş bir giriş indirilmiştir ve bu, tarafından ilk kez kullanılırken tarayıcı tabanlı kimlik .kube/config doğrulamasını tetikler. kubectl |
Kullanıcı bu grupların hiçbirsinde değil. Kullanıcı herhangi bir Küme Yöneticisi grubu içinde yer alamaysa da, hakları tamamen küme yöneticileri tarafından ayarlanmış tüm RoleBindings veya ClusterRoleBindings tarafından denetlenecek. (Küme)RoleBindings, Azure AD kullanıcılarını veya Azure AD gruplarını olarak niteler. subjects Böyle bir bağlama ayarlanmazsa, kullanıcı herhangi bir komut alıntısı yapmak mümkün kubectl olmayacaktır. |
Daha fazla erişim denetimine sahip olmak ve Kubernetes Authorization için Azure RBAC kullanmak istemiyorsanız. Bağlamaları ayar eden kullanıcının bu tabloda listelenen diğer yöntemlerden biri ile oturum açması gerektiğini unutmayın. |
| Yönetici grubunun üyesine göre Azure AD | Yukarıdakiyle aynı | Kullanıcı, burada listelenen gruplardan birinin üyesidir. AKS, listelenen tüm grupları Kubernetes rolüne bağlayan clusterRoleBinding'i otomatik cluster-admin olarak üretir. Bu nedenle bu gruplarda yer alan kullanıcılar tüm komutları kubectl olarak cluster-admin çalıştırabilirsiniz. |
Kullanıcılara rahatça tam yönetici hakları vermek istiyorsanız ve Kubernetes yetkilendirmesi için Azure RBAC'yi kullan istemiyorsanız. |
| Kubernetes Yetkilendirmesi için Azure RBAC ile Azure AD | İki rol: İlk olarak, Azure Kubernetes Kullanıcı Rolü (yukarıda olduğu gibi). İkincisi, "Azure Kubernetes Service RBAC..." rolleri veya kendi özel alternatifini kullanabilirsiniz. |
Kubernetes Yetkilendirmesi için Azure RBAC etkinleştirildiğinde Yapılandırma sekmesindeki yönetici rolleri alanı ilgisiz. | Kubernetes yetkilendirmesi için Azure RBAC'yi kullanıyorsanız. Bu yaklaşım, RoleBindings veya ClusterRoleBindings'i ayarlamaya gerek kalmadan size daha fazla denetim sağlar. |
Sonraki adımlar
- Azure AD ve Kubernetes RBAC ile çalışmaya başlama için bkz. AKS ile Azure Active Directory tümleştirin.
- İlişkili en iyi yöntemler için bkz. AKS'de kimlik doğrulaması ve yetkilendirme için en iyi yöntemler.
- Kubernetes Yetkilendirmesi için Azure RBAC'yi kullanmaya başlama için bkz. Azure Kubernetes Service (AKS) Kümesi içinde erişimi yetkilendirmek için Azure RBAC kullanma.
- Dosyanızı güvenli hale
kubeconfiggetirmeye başlama için bkz. Küme yapılandırma dosyasına erişimi sınırlama
Temel Kubernetes ve AKS kavramları hakkında daha fazla bilgi için aşağıdaki makalelere bakın: