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 Active Directory AKS kümeleriyle tümleştirme

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.

  1. Bir yapılandırma bağlamı kubectl almak için kullanıcı az aks get-credentials komutunu çalıştırır.
  2. Bir kullanıcı AKS kümesiyle etkileşim kurduğunda, kullanıcıdan Azure AD kimlik kubectl 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ı 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

Web kancası ve API sunucusu kimlik doğrulama akışı

Yukarıdaki grafikte gösterildiği gibi API sunucusu AKS web kancası sunucusunu çağırarak aşağıdaki adımları gerçekleştirir:

  1. 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.
  2. Azure AD bir access_token, id_token ve refresh_token.
  3. Kullanıcı, 'den bir kubectl access_token kubeconfig yapar.
  4. kubectl , api access_token api sunucusuna gönderir.
  5. API Sunucusu doğrulama gerçekleştirmek için Kimlik Doğrulama Web Kancası Sunucusu ile yapılandırılır.
  6. Kimlik doğrulama web kancası sunucusu Azure AD JSON Web Token imzalama anahtarını kontrol ederek bu imzanın geçerli olduğunu onaylar.
  7. 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.
  8. 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.
  9. API, Kubernetes Rolü/RoleBinding'i temel alan bir yetkilendirme kararı gerçekleştirir.
  10. Yetkilendirilen API sunucusu için bir yanıt kubectl döndürür.
  11. kubectl kullanı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:

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.

Kubernetes için Azure RBAC yetkilendirme akışı

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:

  1. az loginAzure'da kimlik doğrulaması yapmak için çalıştırın.
  2. Kümenin az aks get-credentials kimlik bilgilerini içine indirmek için .kube/config çalıştırın.
  3. 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

Temel Kubernetes ve AKS kavramları hakkında daha fazla bilgi için aşağıdaki makalelere bakın: