Aracılığıyla paylaş


Azure Kubernetes Hizmeti (AKS) için erişim ve kimlik seçenekleri

Kubernetes kümelerine erişimi çeşitli şekillerde kimlik doğrulayabilir, yetkilendirebilir, güvence altına alabilir ve kontrol edebilirsiniz.

  • Kubernetes rol tabanlı erişim kontrolünü (Kubernetes RBAC) kullanarak, kullanıcılara, gruplara ve hizmet hesaplarına yalnızca ihtiyaç duydukları kaynaklara erişim vermeyi sağlayabilirsiniz.
  • Azure Kubernetes Hizmeti (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şiminizi güvence altına almanıza ve geliştiricilere ve operatörlere yalnızca gerekli en düşük izinleri sağlamanıza yardımcı olur.

Bu makale, AKS'de kimlik doğrulama ve izin atama konusunda size yardımcı olan temel kavramları tanıtmaktadır.

Kubernetes RBAC

Kubernetes RBAC, kullanıcı eylemlerinin detaylı filtrelenmesini sağlar. Bu kontrol mekanizması ile

  • Kullanıcılara veya kullanıcı gruplarına, kaynakları oluşturma ve değiştirme ya da çalışan uygulama iş yüklerinin günlüklerini görüntüleme izni verirsiniz.
  • Yetkileri tek bir ad alanı veya tüm AKS kümesi genelinde kapsamlandırabilirsiniz.
  • İzinleri tanımlamak için roller oluşturur ve ardından bu rolleri rol atamaları ile kullanıcılara atarsınız.

Daha fazla bilgi için Kubernetes RBAC yetkilendirmesini kullanma bölümüne bakın.

Roller ve KümeRolleri

Görevler

Kubernetes RBAC ile kullanıcılara izin vermeden önce, kullanıcı izinlerini bir Role olarak tanımlayacaksınız. Rolleri kullanarak bir isim alanı içinde izinler verin.

Uyarı

Kubernetes rolleri izinleri verir; izinleri engellemez.

Belirli bir ad alanı dışındaki tüm kümede veya küme kaynaklarına izin vermek için ClusterRoles kullanabilirsiniz.

ClusterRoles

Bir ClusterRole, belirli bir ad alanı yerine tüm küme genelindeki kaynaklara izin verir ve bu izinleri uygular.

RoleBindings ve ClusterRoleBindings

Kaynaklara izin vermek için rolleri tanımladıktan sonra, bu Kubernetes RBAC izinlerini bir RoleBinding ile atarsınız. AKS kümeniz Microsoft Entra ID ile entegre oluyorsa, RoleBindings, Microsoft Entra kullanıcılarına küme içinde işlem yapma izni verir. Kümeler kaynaklarına erişimi Kubernetes rol tabanlı erişim kontrolü ve Microsoft Entra kimliklerini kullanarak nasıl kontrol edeceğinizi görün.

Rol Atamaları

Belirli bir namespace için RoleBindings kullanarak kullanıcılara roller atayın. RoleBindings ile, tek bir AKS kümesini mantıksal olarak ayırabilir ve yalnızca kullanıcıların atanmış ad alanlarındaki uygulama kaynaklarına erişimini sağlayabilirsiniz.

Tüm küme genelinde rolleri bağlı hale getirmek veya belli bir ad alanı dışındaki küme kaynaklarını bağlamak için bunun yerine ClusterRoleBindings kullanmalısınız.

KümeRolBağlama

ClusterRoleBinding ile, rolleri kullanıcılara bağlar ve belirli bir ad alanı değil, tüm küme genelindeki kaynaklara uygularsınız. Bu yaklaşım, yöneticilere veya destek mühendislerine AKS kümesindeki tüm kaynaklara erişim izni vermenizi sağlar.

Uyarı

Microsoft/AKS, yerleşik bir Kubernetes rolü aks-service ve yerleşik rol bağlaması aks-service-rolebinding altında, kullanıcı izni ile herhangi bir küme eylemini gerçekleştirir.

Bu rol, AKS'nin küme sorunlarını gidermesine ve teşhis etmesine olanak tanır, ancak izinleri değiştiremez, rol veya rol bağlamaları oluşturamaz ya da diğer yüksek ayrıcalıklı eylemleri gerçekleştiremez. Rol erişimi, sadece anında (JIT) erişime sahip aktif destek biletleri altında etkinleştirilir. AKS destek politikaları hakkında daha fazla bilgi edinin.

Kubernetes hizmet hesapları

Hizmet hesapları, Kubernetes'teki ana kullanıcı türlerinden biridir. Kubernetes API hizmet hesaplarını tutar ve yönetir. Servis hesabı kimlik bilgileri, Kubernetes sırları olarak saklanır; yetkilendirilmiş kutuların API Sunucusu ile iletişim kurmasını sağlamak için kullanılabilirler. Çoğu API isteği, bir hizmet hesabı veya normal bir kullanıcı hesabı için bir kimlik doğrulama belirteci sağlar.

Normal kullanıcı hesapları, yalnızca hizmetler ve süreçler için değil, aynı zamanda insan yöneticiler veya geliştiriciler için daha geleneksel erişim sağlar. Kubernetes, düzenli kullanıcı hesapları ve şifreleri depolamak için bir kimlik yönetim çözümü sağlamazken, harici kimlik çözümlerini Kubernetes ile entegre edebilirsiniz. AKS kümeleri için bu entegre kimlik çözümü Microsoft Entra ID'dir.

Kubernetes'teki kimlik seçenekleri hakkında daha fazla bilgi için Kubernetes authentication bölümüne bakın.

Azure rol tabanlı erişim kontrolü

Azure rol tabanlı erişim kontrolü (RBAC), Azure kaynaklarının ince ayarlı erişim yönetimini sağlayan bir Azure Resource Manager üzerine kurulmuş bir yetkilendirme sistemidir.

RBAC sistemi Açıklama
Kubernetes RBAC AKS kümenizdeki Kubernetes kaynakları üzerinde çalışmak üzere tasarlanmıştır.
Azure RBAC Azure aboneliğinizdeki kaynaklar üzerinde çalışmak üzere tasarlanmıştır.

Azure RBAC ile, uygulanacak izinleri belirleyen bir rol tanımı oluşturursunuz. Daha sonra belirli bir kapsam için bir rol ataması aracılığıyla bir kullanıcıya veya gruba bu rol tanımını atarsınız. Kapsam, bireysel bir kaynak, bir kaynak grubu veya abonelik genelinde olabilir.

Daha fazla bilgi için bkz. Azure rol tabanlı erişim kontrolü (Azure RBAC) nedir?

AKS kümesini tam olarak çalıştırmak için iki erişim düzeyine ihtiyaç vardır.

Azure RBAC, AKS kaynaklarına erişimi yetkilendirmek için kullanılır.

Azure RBAC ile kullanıcılarınıza (veya kimliklerinize), bir veya birden fazla abonelik boyunca AKS kaynaklarına ayrıntılı erişim sağlanabilir. Örneğin, kümenizi ölçeklendirmek ve yükseltmek için Azure Kubernetes Service Contributor rolünü kullanabilirsiniz. Bu arada, Azure Kubernetes Hizmeti Küme Yöneticisi rolüne sahip başka bir kullanıcının yalnızca Yönetici kubeconfig çekme izni vardır.

AKS'de Kubernetes yapılandırma dosyasına erişimi tanımlamak için Azure RBAC kullanın.

Azure Kubernetes Yetkilendirmesi için RBAC

Azure RBAC entegrasyonu ile, AKS bir Kubernetes Yetkilendirme webhook sunucusu kullanarak, Azure rol tanımı ve rol atamalarıyla Microsoft Entra entegreli Kubernetes küme kaynak izinlerini ve atamalarını yönetebilmenizi sağlar.

Azure RBAC ile Kubernetes yetkilendirme akışı

Üstteki diyagramda gösterildiği gibi, Azure RBAC entegrasyonunu kullanırken, Kubernetes API'sine yapılan tüm istekler, Microsoft Entra entegrasyon bölümünde açıklandığı gibi aynı kimlik doğrulama akışını takip edecektir.

İsteği yapan kimlik Microsoft Entra ID'de mevcutsa, Azure, isteği yetkilendirmek için Kubernetes RBAC ile iş birliği yapacaktır. Kimlik, Microsoft Entra ID dışında bulunuyorsa (örneğin, bir Kubernetes hizmet hesabı), yetkilendirme normal Kubernetes RBAC'ına devredilecektir.

Bu senaryoda, Azure RBAC mekanizmalarını ve API'lerini kullanarak, tıpkı Kubernetes rollerinde olduğu gibi, kullanıcılara varsayılan roller atayabilir veya özel roller oluşturabilirsiniz.

Bu özellik sayesinde, kullanıcılara abonelikler arasında AKS kaynağına izin vermekle kalmaz, aynı zamanda Kubernetes API erişimini kontrol eden her bir küme içinde rol ve izinleri yapılandırırsınız. Örneğin, abonelik kapsamına Azure Kubernetes Service RBAC Reader rolü verebilirsiniz. Rol sahibi, küme değişikliği yapmadan tüm Kubernetes nesnelerini tüm kümelerden listeleyebilir ve alabilir.

Önemli

Bu özelliği kullanmadan önce Azure RBAC'yi Kubernetes yetkilendirmesi için etkinleştirmeniz gerekiyor. Daha fazla bilgi ve adım adım rehberlik için Kubernetes Yetkilendirme için Azure RBAC Kullanma kılavuzumuzu izleyin.

Yerleşik roller

AKS aşağıdaki dört yerleşik rolü sağlar. Kubernetes yerleşik rollerine benzerler, ancak CRD'leri desteklemek gibi birkaç farklılık içerirler. Her bir Azure yerleşik rolü tarafından izin verilen eylemlerin tam listesini görün.

Rol Açıklama
Azure Kubernetes Service RBAC Okuyucusu Ad alanındaki çoğu nesneyi görmek için salt okunur erişim sağlar.
Rolleri veya rol bağıntılarını görüntülemeye izin vermez.
Görüntülemeye izin verilmiyor Secrets. Secrets içeriğini okumak, ad alanındaki ServiceAccount kimlik bilgilerine erişim sağlar, bu da ad alanındaki herhangi bir ServiceAccount olarak API erişimine izin verir (ayrıcalık yükseltme biçimi).
Azure Kubernetes Hizmeti RBAC Düzenleyici Çoğu öğe üzerinde okuma/yazma erişimi sağlar.
Roller veya rol bağlamalarını görüntülemeye veya değiştirmeye izin vermez.
Ad alanındaki herhangi bir ServiceAccount olarak Secrets'a erişime izin verir ve pod'ları çalıştırır, bu nedenle ad alanındaki herhangi bir ServiceAccount'un API erişim düzeyini elde etmek için kullanılabilir.
Azure Kubernetes Service RBAC Yöneticisi Yönetici erişimine izin verir, bir ad alanı içinde verilmesi amaçlanmıştır.
Ad alanındaki (veya küme kapsamındaki) çoğu kaynağa okuma/yazma erişimi sağlar ve ad alanı içinde roller ve rol bağlamaları oluşturma yeteneği dahil.
Kaynak kotasına veya ad alanının kendisine yazma izni verilmez.
Azure Kubernetes Hizmeti RBAC Küme Yöneticisi Süper kullanıcıya herhangi bir kaynaktaki tüm işlemleri yapabilme izni verir.
Kümedeki ve tüm ad alanlarındaki her kaynağın üzerinde tam kontrol sağlar.

Microsoft Entra entegrasyonu

AKS küme güvenliğinizi Microsoft Entra entegrasyonu ile geliştirin. On yıllarca süren kurumsal kimlik yönetimi deneyimi üzerine inşa edilen Microsoft Entra ID, temel dizin hizmetleri, uygulama erişim yönetimi ve kimlik koruma hizmetlerini birleştiren, çok kiracılı bulut tabanlı bir dizin ve kimlik yönetimi hizmetidir. Microsoft Entra ID ile yerel kimlikleri AKS kümelerine entegre ederek hesap yönetimi ve güvenlik için tek bir kaynak sağlayabilirsiniz.

Microsoft Entra'nın AKS kümeleriyle entegrasyonu

Microsoft Entra ile entegre edilmiş AKS kümeleri sayesinde, kullanıcılara veya gruplara bir ad alanı içinde veya küme genelinde Kubernetes kaynaklarına erişim izni verebilirsiniz.

  1. Bir kubectl yapılandırma bağlamı elde etmek için, kullanıcı az aks get-credentials komutunu çalıştırır.
  2. Bir kullanıcı kubectl ile AKS kümesiyle etkileşim kurduğunda, Microsoft Entra kimlik bilgileriyle oturum açmaları istenir.

Bu yaklaşım, kullanıcı hesabı yönetimi ve parola kimlik bilgileri için tek bir kaynak sağlar. Kullanıcı, küme yöneticisi tarafından tanımlandığı şekilde yalnızca kaynaklara erişebilir.

Microsoft Entra kimlik doğrulama, OpenID Connect ile AKS kümelerine sağlanır. OpenID Connect, OAuth 2.0 protokolünün üzerine inşa edilmiş bir kimlik katmanıdır. Daha fazla bilgi için OpenID Connect belgelerine bakın. Kubernetes kümesinin içinden, Webhook Token Authentication kimlik doğrulama belirteçlerini doğrulamak için kullanılır. Webhook belirteci doğrulaması, AKS kümesinin bir parçası olarak yapılandırılır ve yönetilir.

Webhook işlevi ve API sunucusu

Webhook ve API sunucusu kimlik doğrulama akışı

Yukarıdaki grafikte gösterildiği gibi, API sunucusu AKS webhook sunucusunu çağırır ve aşağıdaki adımları gerçekleştirir:

  1. kubectl kullanıcıları ' OAuth 2.0 cihaz yetkilendirme izin akışı ' ile oturum açtırmak için Microsoft Entra istemci uygulamasını kullanır.
  2. Microsoft Entra ID bir access_token, id_token ve refresh_token sağlar.
  3. Kullanıcı, kubectl’den bir access_token ile kubeconfig’ya bir istek gönderir.
  4. kubectl access_token'ı API Sunucusuna gönderir.
  5. API Sunucusu, doğrulama yapmak için Kimlik Doğrulama WebHook Sunucusuyla yapılandırılmıştır.
  6. Kimlik doğrulama webhook sunucusu, Microsoft Entra genel imzalama anahtarını kontrol ederek JSON Web Token imzasının geçerli olduğunu onaylar.
  7. Eğer gruplar 200'den büyükse, sunucu uygulaması, oturum açmış kullanıcının grup üyeliklerini MS Graph API'den sorgulamak için kullanıcı tarafından sağlanan kimlik bilgilerini kullanır. Eğer gruplar 200'ü aşmazsa, grup iddiası zaten istemci jetonunda mevcut, bu yüzden sorgu yapılmayacaktır.
  8. Bir yanıt, 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ı bilgileri ile birlikte API Sunucusuna gönderilir.
  9. API, Kubernetes Rol/RolBağlama esasına göre bir yetkilendirme kararı verir.
  10. Yetkilendirildikten sonra, API sunucusu kubectl'ya bir yanıt döndürür.
  11. kubectl kullanıcıya geri bildirim sağlar.

AKS'yi Microsoft Entra ID ile nasıl entegre edeceğinizi AKS yönetimli Microsoft Entra entegrasyonu kılavuzumuz ile öğrenin.

AKS hizmet izinleri

Bir küme oluştururken, AKS, kullanıcının yerine küme oluşturmak ve çalıştırmak için gereken 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şturan ve işleten kimlik

Kümeyi oluşturan ve işleten kimliğin ihtiyaç duyduğu izinler aşağıdaki gibidir.

İzin Neden
Microsoft.Compute/diskEncryptionSets/read Disk şifreleme seti kimliğini okumak gereklidir.
Microsoft.Compute/proximityPlacementGroups/write Yakınlık yerleştirme gruplarını güncellemek 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 gerekiyor.
Microsoft.Network/virtualNetworks/subnets/join/action Özel VNET kullanırken alt ağ için Ağ Güvenlik Grubunu yapılandırmak gereklidir.
Microsoft.Network/publicIPAddresses/join/action
Microsoft.Network/publicIPPrefixes/join/action
Standart Yük Dengeleyici üzerinde dışa dönük kamu IP'lerini yapılandırmak gereklidir.
Microsoft.OperationalInsights/workspaces/sharedkeys/read
Microsoft.OperationalInsights/workspaces/read
Microsoft.OperationsManagement/solutions/write
Microsoft.OperationsManagement/solutions/read
Microsoft.ManagedIdentity/userAssignedIdentities/assign/action
Containerlar için Log Analytics çalışma alanlarını oluşturma ve güncelleme ile Azure izlemeyi gerçekleştirme gereklidir.
Microsoft.Network/virtualNetworks/joinLoadBalancer/action IP tabanlı Yük Dengeleyici Arka Uç Havuzlarını yapılandırmak için gereklidir.

AKS küme kimlik izinleri

Oluşturulan ve AKS kümesiyle ilişkilendirilen AKS küme kimliği tarafından kullanılan izinler aşağıdaki gibidir. Her bir izin, aşağıdaki nedenlerle kullanılmaktadır:

İzin Neden
Microsoft.ContainerService/managedClusters/*
Kullanıcıların oluşturulması ve kümenin işletilmesi için gereklidir.
Microsoft.Network/loadBalancers/delete
Microsoft.Network/loadBalancers/read
Microsoft.Network/loadBalancers/write
Yük Dengeleyici hizmeti için yük dengeleyiciyi yapılandırmak gereklidir.
Microsoft.Network/publicIPAddresses/delete
Microsoft.Network/publicIPAddresses/read
Microsoft.Network/publicIPAddresses/write
Yük Dengeleyici hizmeti için genel IP adreslerini bulmak ve yapılandırmak gerekmektedir.
Microsoft.Network/publicIPAddresses/join/action Yük Dengeleyici hizmeti için genel IP'lerin yapılandırılması gereklidir.
Microsoft.Network/networkSecurityGroups/read
Microsoft.Network/networkSecurityGroups/write
Yük Dengeleyici hizmeti için güvenlik kuralları oluşturmak veya silmek gereklidir.
Microsoft.Compute/disks/delete
Microsoft.Compute/disks/read
Microsoft.Compute/disks/write
Microsoft.Compute/locations/DiskOperations/read
AzureDisks'i yapılandırmak gerekli.
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 gerekiyor.
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ı ve yolları yapılandırmak gereklidir.
Microsoft.Compute/virtualMachines/read VMAS içindeki sanal makineler için bölgeler, hata alanı, boyut ve veri diskleri gibi bilgileri bulmak gereklidir.
Microsoft.Compute/virtualMachines/write AzureDisk'leri bir VMAS'ta sanal makineye bağlamak gereklidir.
Microsoft.Compute/virtualMachineScaleSets/read
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/read
Microsoft.Compute/virtualMachineScaleSets/virtualmachines/instanceView/read
Sanal makine ölçek kümesindeki sanal makineler için bölge, hata etki alanı, boyut ve veri diskleri gibi bilgilerin bulunması gerekmektedir.
Microsoft.Network/networkInterfaces/write Bir VMAS'taki sanal makinenin yük dengeleyici arka uç adres havuzuna eklenmesi gerekiyor.
Microsoft.Compute/virtualMachineScaleSets/write Yük dengeleyici arka uç adres havuzlarına sanal makine ölçek kümesi eklenmesi ve sanal makine ölçek kümesinde düğümlerin ölçeklendirilmesi gerekmektedir.
Microsoft.Compute/virtualMachineScaleSets/delete Bir yük dengeleyici arka uç adres havuzlarına atanmış bir sanal makine ölçek kümesini silmek ve bir sanal makine ölçek kümesindeki düğümleri küçültmek gereklidir.
Microsoft.Compute/virtualMachineScaleSets/virtualmachines/write AzureDisk'leri eklemek ve sanal makine ölçek kümesinden bir sanal makineyi yük dengeleyiciye eklemek gerekir.
Microsoft.Network/networkInterfaces/read VMAS içindeki sanal makineler için dahili IP'leri ve yük dengeleyici altyapı adres havuzlarını aramak gereklidir.
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/networkInterfaces/read Sanal makine ölçek kümesindeki bir sanal makine için dahili IP'leri ve yük dengeleyici arka uç adres havuzlarını aramak gereklidir.
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/networkInterfaces/ipconfigurations/publicipaddresses/read Bir sanal makine ölçek kümesindeki bir sanal makine için genel IP adreslerini bulmak gerekiyor.
Microsoft.Network/virtualNetworks/read
Microsoft.Network/virtualNetworks/subnets/read
İç yük dengeleyici için başka bir kaynak grubunda bir alt ağın var olup olmadığını doğrulamak gerekiyor.
Microsoft.Compute/snapshots/delete
Microsoft.Compute/snapshots/read
Microsoft.Compute/snapshots/write
AzureDisk için anlık görüntüleri yapılandırmak gerekli.
Microsoft.Compute/locations/vmSizes/read
Microsoft.Compute/locations/operations/read
AzureDisk hacim sınırlarını bulmak için sanal makine boyutlarını belirlemek gereklidir.

Ek küme kimlik izinleri

Belirli özelliklere 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, küme kimliği oluşturulduktan sonra onları eklemeniz gerekmektedir.

İzin Neden
Microsoft.Network/networkSecurityGroups/write
Microsoft.Network/networkSecurityGroups/read
Başka bir kaynak grubunda bir ağ güvenlik grubu kullanıyorsanız gereklidir. Bir Yük Dengeleyici hizmeti için güvenlik kurallarını yapılandırmak gereklidir.
Microsoft.Network/virtualNetworks/subnets/read
Microsoft.Network/virtualNetworks/subnets/join/action
Başka bir kaynak grubundaki özel bir VNET gibi bir alt ağı kullanıyorsanız gerekli.
Microsoft.Network/routeTables/routes/read
Microsoft.Network/routeTables/routes/write
Başka bir kaynak grubundaki rota tablosuyla ilişkilendirilmiş bir alt ağ kullanılıyorsa, örneğin özel bir rota tablosuna sahip özel bir VNET gibi, gereklidir. Diğer kaynak grubundaki alt ağ için bir alt ağın zaten var olup olmadığını doğrulamak gerekir.
Microsoft.Network/virtualNetworks/subnets/read Başka bir kaynak grubunda dahili yük dengeleyici kullanılıyorsa gereklidir. İç yük dengeleyicisi için kaynak grubunda zaten bir alt ağ olup olmadığını doğrulamak gereklidir.
Microsoft.Network/privatednszones/* Başka bir kaynak grubunda özel bir DNS bölgesi kullanılıyorsa, örneğin özel bir privateDNSZone, gereklidir.

AKS Düğümü Erişimi

Varsayılan olarak, AKS için Düğüm Erişimi gerekli değildir. Belirli bir bileşen kullanılırsa, düğüm için aşağıdaki erişimler gereklidir.

Erişim Neden
kubelet MSI'nin ACR'ye erişimi için izin verilmesi gerekmektedir.
http app routing "random name".aksapp.io'ya yazma izni için gereklidir.
container insights Log Analytics çalışma alanına izin vermek gerekiyor.

Özet

Microsoft Entra entegrasyonu etkinleştirildiğinde kullanıcıların Kubernetes'e nasıl kimlik doğrulayabileceğini hızlıca özetlemek için tabloya bakın. Tüm durumlarda, kullanıcının komut dizisi şöyledir:

  1. az login çalıştırarak Azure'a kimlik doğrulaması yapın.

  2. Küme için kimlik bilgilerini az aks get-credentials içine indirmek için .kube/config çalıştırın.

  3. kubectl komutlarını çalıştır.

    • İlk komut, aşağıdaki tabloda açıklandığı gibi kümeye kimlik doğrulamak için tarayıcı tabanlı kimlik doğrulamasını tetikleyebilir.

Azure portalında, şunları bulabilirsiniz:

  • Rol Bahşet (Azure RBAC rol bahşetmesi) olarak adlandırılan ve ikinci sütunda belirtilen, Erişim Kontrolü sekmesinde gösterilmektedir.
  • Küme Yöneticisi Microsoft Entra grubu, Yapılandırma sekmesinde gösterilir.
    • Azure CLI'de --aad-admin-group-object-ids parametre adıyla da bulunur.
Açıklama Rol izni gerekli Küme yöneticisi Microsoft Entra grubu/grupları Ne zaman kullanılmalı
Atsatın yönetici girişi, istemci sertifikası kullanarak Azure Kubernetes Hizmet Kümesi Yönetici Rolü. Bu rol, kullanıcıların az aks get-credentials'yi --admin bayrağı ile kullanmasına olanak tanır; bu bayrak, kullanıcıların 'sine bir .kube/config indirir. "Azure Kubernetes Service Cluster Admin Role"un tek amacı budur. Yok Kümenize erişimi olan geçerli bir Microsoft Entra grubuna erişiminiz yoksa kalıcı olarak engellenirsiniz.
Microsoft Entra ID ile manuel (Küme)RolBağlamaları Azure Kubernetes Hizmeti Küme Kullanıcı Rolü. "Kullanıcı" rolü, az aks get-credentials etiketinin --admin bayrağı olmadan kullanılmasına olanak tanır. Bu, "Azure Kubernetes Hizmet Kümesi Kullanıcı Rolü"nün tek amacıdır. Microsoft Entra ID etkinleştirilmiş bir kümeye sahip olduğunuzda, sonuç, 'e .kube/config indirildiğinde tarayıcı tabanlı kimlik doğrulamasını tetikler, ve bu ilk kez kubectl tarafından kullanıldığında gerçekleşir. Kullanıcı bu gruplardan hiçbirinde değil. Kullanıcı herhangi bir Kümelenme Yöneticisi grubunda olmadığından, hakları tamamen kümelenme yöneticileri tarafından ayarlanmış olan RoleBinding veya ClusterRoleBinding ile kontrol edilecektir. (Küme)RolAtamaları, Microsoft Entra kullanıcılarını veya Microsoft Entra gruplarını olarak atar. Eğer böyle bir bağlantı ayarlanmadıysa, kullanıcı herhangi bir kubectl komutunu çalıştıramayacaktır. Eğer ince ayarlı erişim kontrolü istiyorsanız ve Kubernetes Yetkilendirmesi için Azure RBAC kullanmıyorsanız. Bağlantıları ayarlayan kullanıcının, bu tabloda listelenen diğer yöntemlerden biriyle giriş yapması gerektiğini unutmayın.
Microsoft Entra ID yönetici grubunun üyesi tarafından Yukarıdakiyle aynı Kullanıcı, burada listelenen gruplardan birinin üyesidir. AKS, listelenen tüm grupları cluster-admin Kubernetes rolüne bağlayan bir ClusterRoleBinding'i otomatik olarak oluşturur. Bu gruplardaki kullanıcılar, tüm kubectl komutlarını cluster-admin olarak çalıştırabilir. Kullanıcılara kolayca tam yönetici hakları vermek istiyorsanız ve Kubernetes yetkilendirmesi için Azure RBAC kullanmıyorsanız.
Microsoft Entra Kimliği ile Kubernetes Yetkilendirme için Azure RBAC İki rol:
Öncelikle, Azure Kubernetes Service Cluster Kullanıcı Rolü (yukarıda olduğu gibi).
İkincisi, yukarıda listelenen "Azure Kubernetes Hizmeti RBAC..." rollerinden biri veya kendi özel alternatifiniz.
Yapılandırma sekmesindeki yönetici rolleri alanı, Kubernetes Yetkilendirmesi için Azure RBAC etkinleştirildiğinde alakasızdır. Kubernetes yetkilendirmesi için Azure RBAC kullanıyorsunuz. Bu yaklaşım, RoleBindings veya ClusterRoleBindings ayarlamaya gerek kalmadan ayrıntılı bir kontrol sağlar.

Sonraki adımlar

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