Kubernetes kümeleri için Azure İlkesi'yi Anlayın

Azure İlkesi, Open Policy Agent (OPA) için bir kabul denetleyicisi webhook olan Gatekeeper v3'ü, küme bileşenlerinizde merkezi ve tutarlı bir şekilde geniş ölçekli zorlamalar ve korumalar uygulamak amacıyla genişletir. Küme bileşenleri podları, kapsayıcıları ve ad alanlarını içerir.

Azure İlkesi, Kubernetes küme bileşenlerinizin uyumluluk durumunu tek bir yerden yönetmenizi ve raporlamanızı mümkün kılar. Azure İlkesi’nin Eklentisi veya Uzantısı kullanılarak, küme bileşenlerinizi yönetmek, güvenli ilke dağıtımı ve geri alma için *selectors* ve *overrides* kullanma gibi Azure İlkesi’nin özellikleriyle geliştirilmiştir.

Kubernetes için Azure İlkesi aşağıdaki küme ortamlarını destekler:

  • Azure Kubernetes Service (AKS), Azure İlkesi'nin Add-on'u aracılığıyla AKS için
  • Azure Arc etkinleştirilen Kubernetes, Arc için Azure İlkesi'nin Uzantısı aracılığıyla

Önemli

Azure İlkesi Eklentisi dışındaki Gatekeeper yüklemeleri desteklenmez. Azure İlkesi Eklentisini etkinleştirmeden önce önceki bir Gatekeeper yüklemesi tarafından yüklenen bileşenleri kaldırın.

Genel bakış

Kubernetes kümelerinize Azure İlkesi eklentisini veya uzantısını yükleyerek Azure İlkesi aşağıdaki işlevleri gerçekleştirir:

  • Kümedeki ilke atamalarını kontrol etmek için Azure İlkesi hizmetiyle denetler.
  • İlke tanımlarını, içeriğine bağlı olarak, kümeye kısıtlama şablonu ve kısıtlama şeklindeki özel kaynaklar veya mutasyon şablonu kaynakları olarak dağıtır.
  • Denetim ve uyumluluk ayrıntılarını Azure İlkesi hizmetine geri bildirir.

Kubernetes kümenizle Azure İlkesi etkinleştirmek ve kullanmak için aşağıdaki eylemleri gerçekleştirin:

  1. Kubernetes kümenizi yapılandırın ve Azure Kubernetes Service (AKS) eklentisini veya Azure İlkesi uzantısını Arc özellikli Kubernetes kümeleri (küme türünüza bağlı olarak) yükleyin.

    Uyarı

    Yüklemeyle ilgili yaygın sorunlar için bkz. Troubleshoot - Azure İlkesi Eklentisi.

  2. Kubernetes

  3. Kubernetes kümenize tanım atama

  4. Doğrulamayı bekleyin

  5. Günlüğe kaydetme ve sorun giderme

  6. SSS bölümümüzdeki sınırlamaları ve önerileri gözden geçirin

AKS için Azure İlkesi Eklentisini yükleme

AKS için Azure İlkesi Eklentisi, uzun vadeli destek (LTS) ile Kubernetes sürüm 1.27'nin bir parçasıdır.

Önkoşullar

  1. Kaynak sağlayıcılarını ve önizleme özelliklerini kaydedin.

    • Azure portalı:

      Microsoft.PolicyInsights kaynak sağlayıcılarını kaydedin. Adımlar için bkz . Kaynak sağlayıcıları ve türleri.

    • Azure CLI:

      # Log in first with az login if you're not using Cloud Shell
      
      # Provider register: Register the Azure Policy provider
      az provider register --namespace Microsoft.PolicyInsights
      
  2. Azure CLI sürüm 2.12.0 veya üzerinin yüklü ve yapılandırılmış olması gerekir. Sürümü bulmak için komutunu çalıştırın az --version . Yüklemeniz veya yükseltmeniz gerekiyorsa bkz. Azure CLI nasıl yüklenir?

  3. AKS kümesi, Azure Kubernetes Service (AKS)'de desteklenen bir Kubernetes sürümü olmalıdır. AKS kümenizin sürümünü doğrulamak için aşağıdaki betiği kullanın:

    # Log in first with az login if you're not using Cloud Shell
    
    # Look for the value in kubernetesVersion
    az aks list
    
  4. Azure İlkesi eklentisi için açık portlar. Azure İlkesi eklentisi, bu alan ve portları kullanarak politika tanımlarını ve atamalarını alır ve kümelerin uyumluluğunu Azure İlkesi'ye bildirir.

    Etki Alanı Liman
    data.policy.core.windows.net 443
    store.policy.core.windows.net 443
    login.microsoftonline.com 443
    dc.services.visualstudio.com 443

Önkoşullar tamamlandıktan sonra, yönetmek istediğiniz AKS kümesine Azure İlkesi Eklentisini yükleyin.

  • Azure portalı

    1. Azure portalında Tüm hizmetler öğesini seçip Kubernetes services öğesini arayarak ve seçerek AKS hizmetini başlatın.

    2. AKS kümelerinden birini seçin.

    3. Kubernetes hizmet sayfasının sol panelinden İlkeler'i seçin.

    4. Ana sayfada Eklentiyi etkinleştir düğmesini seçin.

  • Azure CLI

    # Log in first with az login if you're not using Cloud Shell
    
    az aks enable-addons --addons azure-policy --name MyAKSCluster --resource-group MyResourceGroup
    

Eklenti yüklemesinin başarılı olduğunu ve azure-policy ve ağ geçidi denetleyicisi podlarının çalıştığını doğrulamak için aşağıdaki komutu çalıştırın:

# azure-policy pod is installed in kube-system namespace
kubectl get pods -n kube-system

# gatekeeper pod is installed in gatekeeper-system namespace
kubectl get pods -n gatekeeper-system

Son olarak, bu Azure CLI komutunu çalıştırıp <rg> yerine kaynak grubu adınızı ve <cluster-name> aks kümenizin adıyla değiştirerek en son eklentinin yüklendiğini doğrulayın: az aks show --query addonProfiles.azurepolicy -g <rg> -n <cluster-name>. Sonuç, hizmet sorumlularını kullanan kümeler için aşağıdaki çıkışa benzer görünmelidir:

{
  "config": null,
  "enabled": true,
  "identity": null
}

Yönetilen kimlik kullanan kümeler için aşağıdaki çıktı:

 {
   "config": null,
   "enabled": true,
   "identity": {
     "clientId": "########-####-####-####-############",
     "objectId": "########-####-####-####-############",
     "resourceId": "<resource-id>"
   }
 }

Azure Arc etkinleştirilmiş Kubernetes için Azure İlkesi Uzantısı'nı yükleme

Kubernetes için Azure İlkesi, Kubernetes kümelerinizin uyumluluk durumunu tek bir yerden yönetmenizi ve raporlamanızı mümkün kılar. Azure İlkesi'ın Arc özellikli Kubernetes kümeleri için Uzantısı ile podlar ve kapsayıcılar gibi Arc özellikli Kubernetes küme bileşenlerinizi yönetebilirsiniz.

Bu makalede, Kubernetes uzantısı için Azure İlkesi'nin nasıl oluşturulacağı, uzantı durumunun gösterileceği ve silineceği açıklanmaktadır.

Uzantılar platformuna genel bakış için bkz. Azure Arc küme uzantıları.

Önkoşullar

Kubernetes için Azure İlkesi'yi uzantı olmadan doğrudan Helm kullanarak bir Azure Arc kümesine dağıttıysanız, Helm grafiğini silme yönergelerini izleyin. Silme işlemi tamamlandıktan sonra devam edebilirsiniz.

  1. Kubernetes kümenizin desteklenen bir dağıtım olduğundan emin olun.

    Uyarı

    Arc uzantısı için Azure İlkesi, şu Kubernetes dağıtımlarında desteklenir.

  2. kümenizi Azure Arc bağlama dahil olmak üzere here> listelenen Kubernetes uzantıları için tüm yaygın önkoşulları karşıladığınızdan emin olun.

    Uyarı

    Azure İlkesi uzantısı, bu bölgelerde Arc özellikli Kubernetes kümeleri için desteklenir.

  3. Azure İlkesi uzantısı için bağlantı noktalarını açın. Azure İlkesi uzantısı, ilke tanımlarını ve atamalarını almak ve kümenin uyumluluğunu Azure İlkesi'e geri bildirmek için bu etki alanlarını ve bağlantı noktalarını kullanır.

    Etki Alanı Liman
    data.policy.core.windows.net 443
    store.policy.core.windows.net 443
    login.windows.net 443
    dc.services.visualstudio.com 443
  4. Azure İlkesi uzantısını yüklemeden veya hizmet özelliklerinden herhangi birini etkinleştirmeden önce aboneliğinizin Microsoft.PolicyInsights kaynak sağlayıcılarını etkinleştirmesi gerekir.

    Uyarı

    Kaynak sağlayıcısını etkinleştirmek için Kaynak sağlayıcıları ve türleri içindeki adımları izleyin veya Azure CLI veya Azure PowerShell komutunu çalıştırın.

    • Azure CLI

      # Log in first with az login if you're not using Cloud Shell
      # Provider register: Register the Azure Policy provider
      az provider register --namespace 'Microsoft.PolicyInsights'
      
    • Azure PowerShell

      # Log in first with Connect-AzAccount if you're not using Cloud Shell
      
      # Provider register: Register the Azure Policy provider
      Register-AzResourceProvider -ProviderNamespace 'Microsoft.PolicyInsights'
      

Azure İlkesi uzantısı oluşturma

Uyarı

Azure İlkesi uzantısı oluşturma işlemi için aşağıdakilere dikkat edin:

  • Otomatik yükseltme varsayılan olarak etkindir ve yeni değişiklikler dağıtılırsa uzantı Azure İlkesi ikincil sürümü güncelleştirir.
  • connectedk8s parametre olarak geçirilen tüm ara sunucu değişkenleri, giden ara sunucuyu desteklemek için Azure İlkesi uzantısına yayılır.

Arc özellikli kümeniz için bir uzantı örneği oluşturmak amacıyla, <> değerlerinizle aşağıdaki komutu çalıştırın:

az k8s-extension create --cluster-type connectedClusters --cluster-name <CLUSTER_NAME> --resource-group <RESOURCE_GROUP> --extension-type Microsoft.PolicyInsights --name <EXTENSION_INSTANCE_NAME>

Örnek:

az k8s-extension create --cluster-type connectedClusters --cluster-name my-test-cluster --resource-group my-test-rg --extension-type Microsoft.PolicyInsights --name azurepolicy

Örnek Çıkış:

{
  "aksAssignedIdentity": null,
  "autoUpgradeMinorVersion": true,
  "configurationProtectedSettings": {},
  "configurationSettings": {},
  "customLocationSettings": null,
  "errorInfo": null,
  "extensionType": "microsoft.policyinsights",
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/my-test-rg/providers/Microsoft.Kubernetes/connectedClusters/my-test-cluster/providers/Microsoft.KubernetesConfiguration/extensions/azurepolicy",
 "identity": {
    "principalId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "tenantId": null,
    "type": "SystemAssigned"
  },
  "location": null,
  "name": "azurepolicy",
  "packageUri": null,
  "provisioningState": "Succeeded",
  "releaseTrain": "Stable",
  "resourceGroup": "my-test-rg",
  "scope": {
    "cluster": {
      "releaseNamespace": "kube-system"
    },
    "namespace": null
  },
  "statuses": [],
  "systemData": {
    "createdAt": "2021-10-27T01:20:06.834236+00:00",
    "createdBy": null,
    "createdByType": null,
    "lastModifiedAt": "2021-10-27T01:20:06.834236+00:00",
    "lastModifiedBy": null,
    "lastModifiedByType": null
  },
  "type": "Microsoft.KubernetesConfiguration/extensions",
  "version": "1.1.0"
}

Azure İlkesi uzantısını göster

Uzantı örneği oluşturma işleminin başarılı olup olmadığını denetlemek ve uzantı meta verilerini incelemek için değerlerinizle aşağıdaki <> komutu çalıştırın:

az k8s-extension show --cluster-type connectedClusters --cluster-name <CLUSTER_NAME> --resource-group <RESOURCE_GROUP> --name <EXTENSION_INSTANCE_NAME>

Örnek:

az k8s-extension show --cluster-type connectedClusters --cluster-name my-test-cluster --resource-group my-test-rg --name azurepolicy

Uzantı yüklemesinin başarılı olduğunu ve azure-policy ve ağ geçidi denetleyicisi podlarının çalıştığını doğrulamak için aşağıdaki komutu çalıştırın:

# azure-policy pod is installed in kube-system namespace
kubectl get pods -n kube-system

# gatekeeper pod is installed in gatekeeper-system namespace
kubectl get pods -n gatekeeper-system

Azure İlkesi uzantısını silme

Uzantı örneğini silmek için <> yerine kendi değerlerinizi koyarak aşağıdaki komutu çalıştırın.

az k8s-extension delete --cluster-type connectedClusters --cluster-name <CLUSTER_NAME> --resource-group <RESOURCE_GROUP> --name <EXTENSION_INSTANCE_NAME>

İlke tanımı oluşturma

Kubernetes'i yönetmek için Azure İlkesi dil yapısı, mevcut ilke tanımlarının yapısını izler. küme bileşenlerinizi yönetmek için kullanılabilecek Azure İlkesi yerleşik ilke kitaplığında atanabilecek örnek tanım dosyaları vardır.

Kubernetes için Azure İlkesi, hem Azure Kubernetes Service kümeleri hem de Azure Arc etkin Kubernetes kümeleri için bileşen düzeyinde özel tanım oluşturmayı da destekler. Kısıtlama şablonu ve mutasyon şablonu örnekleri Gatekeeper topluluk kitaplığında mevcuttur. Azure İlkesi Visual Studio Code Uzantısı mevcut kısıtlama şablonunu veya mutasyon şablonunu özel bir Azure İlkesi ilkesi tanımına çevirmeye yardımcı olmak için kullanılabilir.

ile Microsoft.Kubernetes.Data, deny, devre dışı bırak ve mutate etkileri, Kubernetes kümelerinizi yönetmek için kullanılır.

Denetim ve reddetme, details ve Ağ Geçidi Denetleyicisi v3 ile çalışmaya özgü özellikler sağlamalıdır.

İlke tanımındaki details.templateInfo veya details.constraintInfo özelliklerinin bir parçası olarak, Azure İlkesi bu Base64Encoded(CRD) değerinin URI veya değerini eklentiye geçirir. Rego, OPA ve Gatekeeper'ın Kubernetes kümesine yönelik bir isteği doğrulamak için desteklediği dildir. Kubernetes yönetimi için mevcut bir standardı destekleyerek Azure İlkesi, birleştirilmiş bulut uyumluluğu raporlama deneyimi için mevcut kuralları yeniden kullanma ve bunları Azure İlkesi ile eşleştirmeyi mümkün kılar. Daha fazla bilgi için bkz. Rego nedir?

İlke tanımı belirleme

Kubernetes kümenize bir ilke tanımı atamak için size uygun Azure rol tabanlı erişim denetimi (Azure RBAC) ilke atama işlemleri atanmalıdır. Azure yerleşik rolleri Kaynak İlkesi Katkıda Bulunanı ve Owner bu işlemlere sahiptir. Daha fazla bilgi için bkz. Azure İlkesi'de Azure RBAC izinleri.

Aşağıdaki adımları izleyerek Azure portalını kullanarak kümenizi yönetmeye yönelik yerleşik ilke tanımlarını bulun. Özel bir politika tanımı kullanıyorsanız, oluşturduğunuz ad veya kategori adına göre arayın.

  1. Azure portalında Azure İlkesi hizmetini başlatın. Sol bölmede Tüm hizmetler'i seçin ve ardından Politika'yı arayıp seçin.

  2. Azure İlkesi sayfasının sol bölmesinde Definitions öğesini seçin.

  3. Kategori açılır listesinden Tümünü seç işlevini kullanarak filtreyi temizleyin ve Kubernetes'i seçin.

  4. İlke tanımını seçin ve ardından Ata düğmesine tıklayın.

  5. Kapsam'ı, ilke atamasının uygulandığı Kubernetes kümesinin yönetim grubu, abonelik veya kaynak grubu olarak ayarlayın.

    Uyarı

    Kubernetes tanımı için Azure İlkesi atarken Scope küme kaynağını içermelidir.

  6. İlke atamasına kolayca tanımlamak için kullanabileceğiniz bir Ad ve Açıklama verin.

  7. Politika uygulamasını aşağıdaki değerlerden birine ayarlayın:

    • Etkin - Kümede politikayı uygula. İhlal içeren Kubernetes erişim istekleri reddedilir.

    • Devre dışı - Politikayı kümede uygulama. İhlal içeren Kubernetes erişim istekleri reddedilmez. Uyumluluk değerlendirmesi sonuçları hala kullanılabilir. Yeni ilke tanımlarını çalışan kümelere dağıttığınızda, ihlal içeren erişim istekleri reddedildiğinden Devre Dışı seçeneği ilke tanımını test etmek için yararlıdır.

  8. İleri'yi seçin.

  9. Parametre değerlerini ayarlama

    • Kubernetes ad alanlarını ilke değerlendirmesinin dışında tutmak için Ad alanı dışlamaları parametresinde ad alanlarının listesini belirtin. Öneri şu şekilde dışlamaktır: kube-system, gatekeeper-system ve azure-arc.
  10. Gözden geçir ve oluştur'u seçin.

Alternatif olarak, Kubernetes ilkesini bulmak ve atamak için İlke atama - Portal hızlı başlangıcını kullanın. Örnek denetim vm'leri yerine bir Kubernetes politika tanımı arayın.

Önemli

Yerleşik ilke tanımları, Kubernetes kategorisindeki Kubernetes kümeleri için kullanılabilir. Yerleşik ilke tanımlarının listesi için bkz. Kubernetes örnekleri.

İlke değerlendirmesi

Eklenti, her 15 dakikada bir ilke atamalarındaki değişiklikleri kontrol etmek için Azure İlkesi hizmeti ile iletişim kurar. Bu yenileme döngüsü sırasında eklenti değişiklikleri denetler. Bu değişiklikler kısıtlama şablonlarını ve kısıtlamaları oluşturma, güncelleştirme veya silme işlemlerini tetikler.

Kubernetes kümesinde, bir ad alanı kümeye uygun etikete sahipse, ihlal içeren erişim istekleri reddedilmez. Uyumluluk değerlendirmesi sonuçları hala kullanılabilir.

  • Azure Arc etkinleştirilmiş Kubernetes kümesi: admission.policy.azure.com/ignore

Uyarı

Bir küme yöneticisinin Azure İlkesi Eklentisi tarafından yüklenen kısıtlama şablonlarını ve kısıtlama kaynaklarını oluşturma ve güncelleştirme izni olsa da, el ile yapılan güncelleştirmelerin üzerine yazıldığından bunlar desteklenmez. Ağ geçidi denetleyicisi, eklentiyi yüklemeden ve Azure İlkesi ilke tanımlarını atamadan önce var olan ilkeleri değerlendirmeye devam eder.

Her 15 dakikada bir eklenti kümenin tam taramasını ister. Tam taramanın ayrıntılarını ve kümedeki değişikliklere yönelik Gatekeeper tarafından yapılan gerçek zamanlı değerlendirmeleri topladıktan sonra, eklenti sonuçları Azure İlkesi atamaları gibi compliance details eklenmesi için Azure İlkesi'ye geri bildirir. Denetim döngüsü sırasında yalnızca etkin ilke atamalarının sonuçları döndürülür. Denetim sonuçları, başarısız kısıtlamanın durum alanında listelenen ihlaller olarak da görülebilir. Uyumlu olmayan kaynaklar hakkında ayrıntılı bilgi için bkz. Kaynak Sağlayıcısı modları için bileşen ayrıntıları.

Uyarı

Kubernetes kümeleriniz için Azure İlkesi her uyumluluk raporu son 45 dakika içindeki tüm ihlalleri içerir. Zaman damgası, bir ihlalin ne zaman oluştuğuna işaret eder.

Dikkat edilmesi gereken diğer bazı noktalar:

  • Küme aboneliği Microsoft Defender for Cloud kayıtlıysa, kümeye otomatik olarak Microsoft Defender for Cloud Kubernetes ilkeleri uygulanır.

  • Mevcut Kubernetes kaynaklarıyla kümeye reddetme ilkesi uygulandığında, yeni ilkeyle uyumlu olmayan önceden var olan tüm kaynaklar çalışmaya devam eder. Uyumlu olmayan kaynak farklı bir düğümde yeniden zamanlandığında Ağ Geçidi Denetleyicisi kaynak oluşturmayı engeller.

  • Bir kümede kaynakları doğrulayan bir reddetme ilkesi olduğunda, kullanıcı dağıtım oluştururken reddetme iletisi almaz. Örneğin, replicasets ve podları içeren bir Kubernetes dağıtımını düşünün. Kullanıcı kubectl describe deployment $MY_DEPLOYMENT komutunu yürüttüğünde, olayların bir parçası olarak bir reddetme mesajı döndürmüyor. Ancak, kubectl describe replicasets.apps $MY_DEPLOYMENT reddetme ile ilişkili olayları döndürür.

Uyarı

İlke değerlendirmesi sırasında başlangıç kapsayıcıları dahil edilebilir. Init kapsayıcılarının dahil olup olmadığını görmek için aşağıdaki veya benzer bir bildirim için CRD'yi gözden geçirin:

input_containers[c] {
   c := input.review.object.spec.initContainers[_]
}

Kısıtlama şablonu çakışmaları

Kısıtlama şablonları aynı kaynak meta veri adına sahipse ancak ilke tanımı farklı konumlardaki kaynağa başvuruda bulunursa, ilke tanımlarının çakışma olduğu kabul edilir. Örnek: İki ilke tanımı, Azure İlkesi şablon deposu (template.yaml) ve GitHub gibi farklı kaynak konumlarda depolanan aynı store.policy.core.windows.net dosyasına başvurur.

İlke tanımları ve kısıtlama şablonları atandığında ancak kümeye henüz yüklenmediğinde ve çakıştığında, çakışma olarak bildirilir ve çakışma çözülene kadar kümeye yüklenmez. Benzer şekilde, zaten kümede olan ve yeni atanan ilke tanımlarıyla çakışan tüm mevcut ilke tanımları ve kısıtlama şablonları normal çalışmaya devam eder. Mevcut bir atama güncelleştirildiyse ve kısıtlama şablonunu eşitleme hatası varsa, küme de çakışma olarak işaretlenir. Tüm çakışma iletileri için bkz . AKS Kaynak Sağlayıcısı modu uyumluluk nedenleri

Ağaç kesimi

Kubernetes denetleyicisi/kapsayıcısı olarak, hem azure-policy hem de gatekeeper podları günlükleri Kubernetes kümesinde tutar. Genel olarak azure-policy günlükleri, kümeye ilke alımı ve uyumluluk raporlaması ile ilgili sorunları gidermek için kullanılabilir. Gatekeeper-controller-manager pod günlükleri, çalışma zamanı reddedilme sorunlarını gidermek için kullanılabilir. Denetleyici-denetim pod günlükleri, mevcut kaynakların denetim sorunlarını gidermek için kullanılabilir. Günlükler Kubernetes kümesinin İçgörüler sayfasında gösterilebilir. Daha fazla bilgi için bkz. Kubernetes kümenizin performansını kapsayıcılar için Azure İzleyici ile belirleme.

Eklenti günlüklerini görüntülemek için kullanın kubectl:

# Get the azure-policy pod name installed in kube-system namespace
kubectl logs <azure-policy pod name> -n kube-system

# Get the gatekeeper pod name installed in gatekeeper-system namespace
kubectl logs <gatekeeper pod name> -n gatekeeper-system

Uyumluluk sonuçlarınızda görünen belli bir ComplianceReasonCode'un sorunlarını gidermeye çalışıyorsanız, ilişkili hatanın tamamını görmek için Azure Policy pod günlüklerinde bu kodu arayabilirsiniz.

Daha fazla bilgi için Ağ Geçidi Denetleyicisi belgelerindeki Ağ Geçidi DenetleyicisiNde Hata Ayıklama bölümüne bakın.

Kapı Bekçisi yapıtlarını görüntüleme

Eklenti, ilke atamalarını indirip kısıtlama şablonlarını ve kısıtlamaları kümeye yükledikten sonra, hem ilke atama kimliği hem de ilke tanımı kimliği gibi Azure İlkesi bilgileriyle not ekler. İstemcinizi eklentiyle ilgili yapıtları görüntüleyecek şekilde yapılandırmak için aşağıdaki adımları kullanın:

  1. Kümeyi ayarlayın kubeconfig.

    Azure Kubernetes Service kümesi için aşağıdaki Azure CLI kullanın:

    # Set context to the subscription
    az account set --subscription <YOUR-SUBSCRIPTION>
    
    # Save credentials for kubeconfig into .kube in your home folder
    az aks get-credentials --resource-group <RESOURCE-GROUP> --name <CLUSTER-NAME>
    
  2. Küme bağlantısını test edin.

    kubectl cluster-info komutunu çalıştırın. Başarılı bir çalıştırma, her hizmetin çalıştığı yerin URL'si ile yanıt vermesini sağlar.

Eklenti kısıtlama şablonlarını görüntüleme

Eklenti tarafından indirilen kısıtlama şablonlarını görüntülemek için komutunu çalıştırın kubectl get constrainttemplates. ile k8sazure başlayan kısıtlama şablonları, eklenti tarafından yüklenen şablonlardır.

Eklenti mutasyon şablonlarını görüntüleme

Eklenti tarafından indirilen mutasyon şablonlarını görüntülemek için kubectl get assign, kubectl get assignmetadata ve kubectl get modifyset komutlarını çalıştırın.

Azure İlkesi eşlemelerini alma

Kümeye indirilen bir kısıtlama şablonu ile ilke tanımı arasındaki eşlemeyi tanımlamak için kullanın kubectl get constrainttemplates <TEMPLATE> -o yaml. Sonuçlar aşağıdaki çıktıya benzer:

apiVersion: templates.gatekeeper.sh/v1beta1
kind: ConstraintTemplate
metadata:
    annotations:
    azure-policy-definition-id: /subscriptions/<SUBID>/providers/Microsoft.Authorization/policyDefinitions/<GUID>
    constraint-template-installed-by: azure-policy-addon
    constraint-template: <URL-OF-YAML>
    creationTimestamp: "2021-09-01T13:20:55Z"
    generation: 1
    managedFields:
    - apiVersion: templates.gatekeeper.sh/v1beta1
    fieldsType: FieldsV1
...

<SUBID> abonelik kimliğidir ve <GUID> eşlenen ilke tanımının kimliğidir. <URL-OF-YAML> , eklentinin kümeye yüklemek üzere indirmiş olduğu kısıtlama şablonunun kaynak konumudur.

Eklentinin indirilen kısıtlama şablonlarının adlarını aldıktan sonra, ilgili kısıtlamaları görmek için bu adı kullanabilirsiniz. Listeyi almak için kullanın kubectl get <constraintTemplateName> . Eklenti tarafından yüklenen kısıtlamalar azurepolicy- ile başlar.

Kısıtlama ayrıntılarını görüntüleme

Kısıtlama, ilke tanımı ve atamasına yönelik ihlaller ve eşlemeler hakkında ayrıntılar içerir. Ayrıntıları görmek için kullanın kubectl get <CONSTRAINT-TEMPLATE> <CONSTRAINT> -o yaml. Sonuçlar aşağıdaki çıktıya benzer:

apiVersion: constraints.gatekeeper.sh/v1beta1
kind: K8sAzureContainerAllowedImages
metadata:
  annotations:
    azure-policy-assignment-id: /subscriptions/<SUB-ID>/resourceGroups/<RG-NAME>/providers/Microsoft.Authorization/policyAssignments/<ASSIGNMENT-GUID>
    azure-policy-definition-id: /providers/Microsoft.Authorization/policyDefinitions/<DEFINITION-GUID>
    azure-policy-definition-reference-id: ""
    azure-policy-setdefinition-id: ""
    constraint-installed-by: azure-policy-addon
    constraint-url: <URL-OF-YAML>
  creationTimestamp: "2021-09-01T13:20:55Z"
spec:
  enforcementAction: deny
  match:
    excludedNamespaces:
    - kube-system
    - gatekeeper-system
    - azure-arc
  parameters:
    imageRegex: ^.+azurecr.io/.+$
status:
  auditTimestamp: "2021-09-01T13:48:16Z"
  totalViolations: 32
  violations:
  - enforcementAction: deny
    kind: Pod
    message: Container image nginx for container hello-world has not been allowed.
    name: hello-world-78f7bfd5b8-lmc5b
    namespace: default
  - enforcementAction: deny
    kind: Pod
    message: Container image nginx for container hello-world has not been allowed.
    name: hellow-world-89f8bfd6b9-zkggg

Eklenti sorunlarını giderme

Kubernetes Eklentisi sorunlarını giderme hakkında daha fazla bilgi için Azure İlkesi sorun giderme makalesinin Kubernetes bölümüne bakın.

Arc uzantısı ile ilgili sorunlar için Azure İlkesi uzantısına gidin:

Azure İlkesi ilgili sorunlar için şuraya gidin:

AKS Değişiklik Günlüğü için Azure İlkesi Eklentisi

Azure İlkesi'nin AKS eklentisinin, eklentinin görüntü sürümünü gösteren bir sürüm numarası vardır. Eklentide özellik desteği yeni sunulduğundan sürüm numarası artırılır.

Bu bölüm, kümenizde hangi Eklenti sürümünün yüklü olduğunu belirlemenize ve ayrıca AKS kümesi başına yüklenen Azure İlkesi Eklenti sürümünün geçmiş tablosunu paylaşmanıza yardımcı olur.

Kümenizde hangi Eklenti sürümünün yüklü olduğunu belirleme

Azure İlkesi Eklentisi, her sürüm için standart Semantic Versioning şemasını kullanır. Kullanılan Azure İlkesi Eklenti sürümünü tanımlamak için şu komutu çalıştırabilirsiniz: kubectl get pod azure-policy-<unique-pod-identifier> -n kube-system -o json | jq '.spec.containers[0].image'

Azure İlkesi Eklentinizin kullandığı Ağ Geçidi Denetleyicisi sürümünü tanımlamak için şu komutu çalıştırabilirsiniz: kubectl get pod gatekeeper-controller-<unique-pod-identifier> -n gatekeeper-system -o json | jq '.spec.containers[0].image'

Son olarak, kullandığınız AKS kümesi sürümünü tanımlamak için bağlantılı AKS yönergelerini izleyin.

Her AKS kümesi sürümü için kullanılabilir eklenti sürümleri

1.17.0

Kapsamlı Zorlama Eylemi'ne giriş. Bu özellikten önce, seçilen zorunlu kılma işlemi tüm zorunlu kılma noktalarına uygulanıyordu. Şimdi, hangi zorlama eyleminin hangi zorlama noktalarında (audit.gatekeeper.sh, validation.gatekeeper.sh, vap.k8s.io) olacağını seçebilirsiniz.

Her zorlama noktasının neyi temsil ettiği:

  • validation.gatekeeper.sh: Ağ Geçidi Denetleyicisi Erişim Web Kancası
  • audit.gatekeeper.sh: Gatekeeper Denetim Denetleyicisi (Uyumluluk Sonucu)
  • vap.k8s.io: Kabul Doğrulama Politikası (VAP)

Örnek 1: Enforcement Action: Deny ve Enforcement Points: ["validation.gatekeeper.sh", "audit.gatekeeper.sh"] seçerseniz, Gatekeeper doğrulama webhook’u ihlalde bulunan kaynağa zorunlu kılma uygular ve onu uyumlu olarak gösterir. Kaynak, uygulama noktalarından biri olmadığından VAP tarafından uygulanmaz.

Örnek 2: Enforcement Action: Audit ve Enforcement Points: ["vap.k8s.io"] seçerseniz, VAP ihlalde bulunan kaynağı denetler ancak uygulama eylemi Audit olduğundan onu reddetmez. Ayrıca, audit.gatekeeper.sh zorunlu kılma noktası olmadığından uyumlulukta görünmez.

Silme işlemi koruma özelliğine giriş. Bu özellik, Gatekeeper'ın DELETE admission isteklerini almasına olanak tanırken, açıkça yapılandırılmadığı sürece mevcut ilkelerin silme işlemlerine otomatik olarak uygulanmasını önler. İlkeler, kısıtlama şablonlarında operations belirterek DELETE uygulamasını etkinleştirmelidir. Liste operations CREATE, UPDATE, DELETE, CONNECT veya * birleşimlerini içerebilir.

Örnek:

apiVersion: templates.gatekeeper.sh/v1beta1
kind: ConstraintTemplate
metadata:
  name: k8se2edeletedeny
spec:`
  crd:
    spec:
      names:
        kind: K8sE2EDeleteDeny
  targets:
    - target: admission.k8s.gatekeeper.sh
      operations:
        - DELETE
      rego: |
        package k8se2edeletedeny

        violation[{"msg": msg}] {
          input.review.object.metadata.labels["e2e-delete-deny"] == "true"
          msg := sprintf("Deletion of %v is denied by the delete-protection e2e policy", [input.review.object.metadata.name])
        }

        violation[{"msg": msg}] {
          input.review.oldObject.metadata.labels["e2e-delete-deny"] == "true"
          msg := sprintf("Deletion of %v is denied by the delete-protection e2e policy", [input.review.oldObject.metadata.name])
        }

Güvenlik geliştirmeleri.

  • Yayınlanma Tarihi: Ağustos 2026
  • Kubernetes: 1.30+
  • Kapı Bekçisi: 3.23.0
Gatekeeper 3.23.0

Ağ Geçidi Denetleyicisi Sürümü: https://github.com/open-policy-agent/gatekeeper/releases/tag/v3.23.0 Değişiklikler: https://github.com/open-policy-agent/gatekeeper/compare/v3.22.1...v3.23.0

Gatekeeper 3.23.1

Gatekeeper Sürümü ve Değişiklik Günlüğü: https://github.com/open-policy-agent/gatekeeper/releases/tag/v3.23.1

1.15.5-1

Doğrulama Giriş Politika (VAP) Oluşturma Tanıtımı. Kabul İlkelerini doğrulama işlemi sırasında değerlendirilen Kubernetes yerel doğrulama ilkesi kaynaklarıdır ve bu da gecikme süresini azaltmaya ve başarısız kapatma değerlendirmesine olanak sağlar. Ortak İfade Dili (CEL) içeren Azure İlkeleri otomatik olarak VAP'ler oluşturur. Daha fazla bilgi için Ağ Geçidi Denetleyicisi Belgeleri'ne bakın.

Eklenti artık tamamen FIPS uyumlu.

Yama CVE-2026-25679, CVE-2026-27142, CVE-2026-27139, CVE-2026-32280, CVE-2025-68121, CVE-2025-61726, CVE-2025-61728, CVE-2026-32281, CVE-2026-32283.

Güvenlik geliştirmeleri.

  • Yayın tarihi: Haziran 2026
  • Kubernetes: 1.30+
  • Kapı Bekçisi: 3.22.1
Gatekeeper 3.22.1

Ağ Geçidi Denetleyicisi Sürümü: https://github.com/open-policy-agent/gatekeeper/releases/tag/v3.22.1 Değişiklikler: https://github.com/open-policy-agent/gatekeeper/compare/v3.20.1...v3.22.1

1.15.5

Güvenlik geliştirmeleri.

  • Yayın Tarihi: Şubat 2026
  • Kubernetes: 1,27+
  • Kapı Muhafızı: 3.20.1

1.15.4

CVE-2025-61727 güvenlik yaması. Güvenlik geliştirmeleri.

  • Yayın Tarihi: Aralık 2025
  • Kubernetes: 1,27+
  • Kapı Muhafızı: 3.20.1

1.15.3

CVE-2025-47914, CVE-2025-58181, CVE-2025-58187 ve CVE-2025-22872 düzeltme eki. Güvenlik geliştirmeleri.

  • Yayın Tarihi: Aralık 2025
  • Kubernetes: 1,27+
  • Kapı Muhafızı: 3.20.1

1.15.1

Güvenlik geliştirmeleri.

  • Yayın Tarihi: Kasım 2025
  • Kubernetes: 1,27+
  • Kapı Muhafızı: 3.20.1

1.14.2

CVE-2025-4802 düzeltme eki. Güvenlik geliştirmeleri.

  • Yayın tarihi: Ekim 2025
  • Kubernetes: 1,27+
  • Kapı Muhafızı: 3.20.1
Gatekeeper 3.20.1

Ağ Geçidi Denetleyicisi Sürümü: https://github.com/open-policy-agent/gatekeeper/releases/tag/v3.20.1 Değişiklikler: https://github.com/open-policy-agent/gatekeeper/compare/v3.19.1...v3.20.1

1.13.1

CVE-2025-47907 yaması. Güvenlik geliştirmeleri.

  • Yayın tarihi: Ağustos 2025
  • Kubernetes: 1,27+
  • Geçit Koruyucusu: 3.20.0

1.13.0

AB Veri Sınırı artık AKS üzerinde Kubernetes için Azure İlkesi tarafından destekleniyor. AB Veri Sınırı hakkında daha genel bilgi edinmek için şu adresi ziyaret edin: AB Veri Sınırına Genel Bakış. CVE-2025-22874 düzeltme yaması. Güvenlik geliştirmeleri.

  • Yayın tarihi: Temmuz 2025
  • Kubernetes: 1,27+
  • Geçit Koruyucusu: 3.20.0
Erişim Denetleyicisi 3.20.0

Ağ Geçidi Denetleyicisi Sürümü: https://github.com/open-policy-agent/gatekeeper/releases/tag/v3.20.0 Değişiklikler: https://github.com/open-policy-agent/gatekeeper/compare/v3.19.1...v3.20.0

1.12.3

CVE-2025-22874 ve GHSA-vrw8-fxc6-2r93 için yama uygulayın. Güvenlik geliştirmeleri.

  • Yayın tarihi: Temmuz 2025
  • Kubernetes: 1,27+
  • Ağ Geçidi Denetleyicisi: 3.19.1

1.12.2

Güvenlik geliştirmeleri.

  • Yayın tarihi: Haziran 2025
  • Kubernetes: 1,27+
  • Ağ Geçidi Denetleyicisi: 3.19.1

1.11.1

CVE-2025-22872 yaması. Güvenlik geliştirmeleri.

  • Yayın Tarihi: Mayıs 2025
  • Kubernetes: 1,27+
  • Ağ Geçidi Denetleyicisi: 3.19.1
Ağ Geçidi Denetleyicisi 3.19.1

Ağ Geçidi Denetleyicisi Sürümü: https://github.com/open-policy-agent/gatekeeper/releases/tag/v3.19.1 Değişiklikler: https://github.com/open-policy-agent/gatekeeper/compare/v3.18.2...v3.19.1

1.10.1

CVE-2025-30204 ve CVE-2025-22870'yi düzeltin. Güvenlik geliştirmeleri.

  • Yayın tarihi: Nisan 2025
  • Kubernetes: 1,27+
  • Geçit Denetleyici: 3.18.2

1.10.0

CEL varsayılan olarak etkindir, Rego'yu kullanmaya devam edebilirsiniz. Yeni CRD configpodstatuses.status.gatekeeper.sh kullanıma sunulmuştur (Başvuru: https://github.com/open-policy-agent/gatekeeper/issues/2918). Güvenlik geliştirmeleri.

  • Yayın Tarihi: Şubat 2025
  • Kubernetes: 1,27+
  • Geçit Denetleyici: 3.18.2
Kapı Bekçisi 3.18.2

Ağ Geçidi Denetleyicisi Sürümü: https://github.com/open-policy-agent/gatekeeper/releases/tag/v3.18.2 Değişiklikler: https://github.com/open-policy-agent/gatekeeper/compare/v3.17.1...v3.18.2

1.9.1

CVE-2024-45337 ve CVE-2024-45338 yamalarını yükleyin. Güvenlik geliştirmeleri.

  • Yayın tarihi: Ocak 2025
  • Kubernetes: 1,27+
  • Ağ Geçidi Denetleyicisi: 3.17.1
Ağ Geçidi Denetleyicisi 3.17.1

Ağ Geçidi Denetleyicisi Sürümü: https://github.com/open-policy-agent/gatekeeper/releases/tag/v3.17.1

1.8.0

İlke artık CONNECT işlemlerini değerlendirmek için, örneğin exec'leri reddetmek amacıyla kullanılabilir. Uyumlu olmayan CONNECT işlemleri için kullanılabilir bir brownfield uyumluluğu olmadığını, bu nedenle CONNECT işlemlerini hedefleyen Denetim etkisine sahip bir politika etkisizdir, unutmayın. Güvenlik geliştirmeleri.

  • Yayın tarihi: Kasım 2024
  • Kubernetes: 1,27+
  • Ağ Geçidi Denetleyicisi: 3.17.1

1.7.1

CEL ve VAP ile tanışın. Ortak İfade Dili (CEL), bir ilkenin doğrulama kurallarını bildirmek için kullanılabilecek bir Kubernetes yerel ifade dilidir. Erişim İlkesi 'ni (VAP) doğrulama özelliği ağaç içi ilke değerlendirmesi sağlar, erişim isteği gecikme süresini azaltır ve güvenilirliği ve kullanılabilirliği artırır. Desteklenen doğrulama eylemleri Reddet, Uyar ve Denetle'yi içerir. CEL/VAP için özel ilke yazma işlemine izin verilir ve mevcut kullanıcıların rego'larını CEL'ye dönüştürmeleri gerekmez çünkü hem desteklenecek hem de ilkeleri zorunlu kılmak için kullanılacaklardır. CEL ve VAP kullanmak için kullanıcıların AKS-AzurePolicyK8sNativeValidation ad alanında Microsoft.ContainerService özellik bayrağına kaydolması gerekir. Daha fazla bilgi için Ağ Geçidi Denetleyicisi Belgeleri'ne bakın. Güvenlik geliştirmeleri.

  • Yayın tarihi: Eylül 2024
  • Kubernetes: 1.27+ (VAP oluşturma yalnızca 1.30+ üzerinde desteklenir)
  • Ağ Geçidi Denetleyicisi: 3.17.1

1.7.0

Genişletme, iş yükü kaynaklarınızın (Dağıtımlar, Çoğaltma Kümeleri, İşler vb.) kabul edilebilir podlar oluşturup oluşturmayacağını önceden bilmenizi sağlayan bir sola kaydırma özelliğidir. Genişletme, ilkelerinizin davranışını değiştirmemelidir; bunun yerine, yalnızca Gatekeeper'ın pod kapsamlı ilkeleri değerlendirmesini pod kabul zamanı yerine iş yükü erişim zamanında gerçekleşecek şekilde değiştirir. Ancak, bu değerlendirmeyi gerçekleştirmek için, iş yükünde tanımlanan ve eksik meta verilere sahip olabilecek pod spesifikasyonuna dayanan varsayımsal bir pod oluşturması ve değerlendirmesi gerekir. Örneğin, "what-if pod" doğru sahip referanslarını içermez. İlke davranışının değişme riski az olduğundan, genişletmeyi varsayılan olarak devre dışı olarak kullanıma sunuyoruz. Belirli bir ilke tanımı için genişletmeyi etkinleştirmek üzere .policyRule.then.details.source'yı All olarak ayarlayın. Yerleşikler, bu alanın parametreleştirilmesini etkinleştirmek için yakında güncelleştirilecektir. İlke tanımınızı test eder ve değerlendirme amacıyla oluşturulan what-if podunun eksik olduğunu fark ederseniz, what-if podlarını kaynak Generated ile değiştirmek için bir değişiklik de kullanabilirsiniz. Bu seçenek hakkında daha fazla bilgi için Ağ Geçidi Denetleyicisi belgelerini görüntüleyin. Genişletme şu anda arc kümelerinde değil yalnızca AKS kümelerinde kullanılabilir. Güvenlik geliştirmeleri.

  • Yayın tarihi: Temmuz 2024
  • Kubernetes: 1,27+
  • Geçit Koruyucusu: 3.16.3

1.6.1

Güvenlik geliştirmeleri.

  • Yayın Tarihi: Mayıs 2024
  • Geçiş Denetçisi: 3.14.2

1.5.0

Güvenlik geliştirmeleri.

  • Yayın Tarihi: Mayıs 2024
  • Kubernetes: 1,27+
  • Geçit Koruyucusu: 3.16.3

1.4.0

Mutasyonu ve dış verileri varsayılan olarak etkinleştirir. Ek mutasyon web kancası ve doğrulama web kancası zaman aşımı sınırının artırılması, en kötü senaryoda çağrılara gecikme ekleyebilir. Ayrıca, uyumluluk sonuçlarında ilke tanımını görüntüleme ve tanım sürümünü ayarlama desteği sağlar. Güvenlik geliştirmeleri.

  • Yayın Tarihi: Mayıs 2024
  • Kubernetes: 1,25+
  • Geçit Koruyucusu: 3.14.0

1.3.0

Hata durumundaki ilkeleri tanıtır, böylece bunlar uyumsuz durumdaki ilkelerden ayırt edilebilir. v1 kısıtlama şablonları için destek ekler ve excludedNamespaces parametresinin mutasyon politikalarında kullanılmasına olanak tanır. Yükleme sonrasında kısıtlama şablonlarıyla ilgili bir hata durumu denetimi ekler. Güvenlik geliştirmeleri.

  • Yayınlanma Tarihi: Şubat 2024
  • Kubernetes: 1,25+
  • Geçit Koruyucusu: 3.14.0

1.2.1

Güvenlik geliştirmeleri.

  • Yayın tarihi: Ekim 2023
  • Kubernetes: 1,25+
  • Kapı Bekçisi: 3.13.3

1.1.0

Güvenlik geliştirmeleri.

  • Yayın tarihi: Temmuz 2023
  • Kubernetes: 1,27+
  • Geçit Koruyucu: 3.11.1

1.0.1

Güvenlik geliştirmeleri.

  • Yayın tarihi: Haziran 2023
  • Kubernetes: 1,24+
  • Geçit Koruyucu: 3.11.1

1.0.0

Kubernetes için Azure İlkesi artık AKS kümelerini büyük ölçekte düzeltmek için mutasyonu destekliyor.

Eklentiyi kaldırma

Eklentiyi AKS'den kaldırma

AKS kümenizden Azure İlkesi Eklentisini kaldırmak için Azure portalını veya Azure CLI kullanın:

  • Azure portalı

    1. Azure portalında Tüm hizmetler öğesini seçip Kubernetes services öğesini arayarak ve seçerek AKS hizmetini başlatın.

    2. Azure İlkesi Eklentisini devre dışı bırakmak istediğiniz AKS kümenizi seçin.

    3. Kubernetes hizmet sayfasının sol panelinden İlkeler'i seçin.

    4. Ana sayfada Eklentiyi devre dışı bırak düğmesini seçin.

  • Azure CLI

    # Log in first with az login if you're not using Cloud Shell
    
    az aks disable-addons --addons azure-policy --name MyAKSCluster --resource-group MyResourceGroup
    

Eklentiyi etkin Azure Arc Kubernetes'ten kaldırma

Uyarı

Azure İlkesi Eklenti Helm modeli artık kullanım dışı bırakıldı. Bunun yerine Azure Arc ile etkinleştirilmiş Kubernetes için Azure İlkesi Uzantısını tercih etmelisiniz.

Azure Arc etkin Kubernetes kümenizden Azure İlkesi Eklenti ve Ağ Geçidi Denetleyicisi'ni kaldırmak için aşağıdaki Helm komutunu çalıştırın:

helm uninstall azure-policy-addon

AKS Altyapısı'ndan eklentiyi kaldırma

Uyarı

AKS Altyapısı ürünü artık Azure genel bulut müşterileri için kullanım dışı bırakılmıştır. Yönetilen Kubernetes için Azure Kubernetes Service (AKS) veya kendi kendine yönetilen Kubernetes için <1>Cluster API Sağlayıcısı Azure kullanmayı göz önünde bulundurun. Planlanan yeni özellik yok; Bu proje yalnızca CVE'ler ve benzerleri için güncelleştirilecek, güncelleştirmeleri almak için son sürüm olarak Kubernetes 1.24 olacaktır.

AZURE POLICY Eklentisini ve Ağ Geçidi Denetleyicisi'ni AKS Altyapısı kümenizden kaldırmak için eklentinin yüklenme şekliyle uyumlu olan yöntemini kullanın:

  • AKS Altyapısı için küme tanımında addons özelliği ayarlanarak yüklenirse:

    azure-policy için addons özelliğini false olarak değiştirdikten sonra küme tanımını AKS Altyapısına yeniden dağıtın:

    "addons": [
      {
        "name": "azure-policy",
        "enabled": false
      }
    ]
    

    Daha fazla bilgi için bkz. AKS Engine - Azure İlkesi Eklentisini Devre Dışı Bırakma.

  • Helm Grafikleri ile yüklüyse aşağıdaki Helm komutunu çalıştırın:

    helm uninstall azure-policy-addon
    

Sınırlamalar

Önemli

Web kancası yapılandırmalarını doğrulama, web kancası yapılandırmalarını kapatma, erişim ilkelerini ve bağlamalarını doğrulama ve erişim ilkelerini ve bağlamalarını kapatma izinleri yüksek ayrıcalıklı olarak değerlendirilmelidir. Kubernetes'in tasarımı, döngüsel bağımlılıkları önlemek için ilkelerin bu kaynak türlerini korumasına izin vermez.

  • Genel Azure İlkesi tanımları ve atama sınırları için Azure İlkesi belgelenen sınırlarını gözden geçirin
  • Kubernetes için Azure İlkesi Eklentisi yalnızca Linux düğüm havuzlarına dağıtılabilir.
  • Küme başına Azure İlkesi Eklentisi tarafından desteklenen en fazla pod sayısı: 10.000
  • Küme başına ilke başına en fazla Uyumsuz kayıt sayısı: 500
  • Abonelik başına en fazla Uyumsuz kayıt sayısı: 1 milyon
  • Uyumsuzluk nedenleri Microsoft.Kubernetes.Data Kaynak Sağlayıcı modu için kullanılamamaktadır. Bileşen ayrıntılarını kullanın.
  • Bileşen düzeyinde muafiyetlerKaynak Sağlayıcısı modları için desteklenmez. Parametre desteği, belirli ad alanlarını dışlamak ve dahil etmek için Azure İlkesi tanımlarında kullanılabilir.
  • metadata.gatekeeper.sh/requires-sync-data Kümenizden verilerin OPA önbelleğine çoğaltılmasını yapılandırmak için ek açıklamanın bir kısıtlama şablonunda kullanılmasına şu anda yalnızca yerleşik ilkeler için izin verilir. Bunun nedeni, dikkatli kullanılmadığı takdirde Gatekeeper podlarının kaynak kullanımını önemli ölçüde artırabilmesidir.

Geçit Koruyucusu Ayarlarını Yapılandırma

Ağ Geçidi Denetleyicisi yapılandırmasının değiştirilmesi, kritik güvenlik ayarları içerdiğinden desteklenmez. Yapılandırmadaki düzenlemeler uzlaştırılır.

Kısıtlama şablonlarında data.inventory kullanımı

Şu anda, kullanıcıların mevcut küme içi kaynakları OPA önbelleğiyle eşitlemesine ve isteğin kullanır. Veri çoğaltma ilkeleri, Rego'da data.inventory varlığı ve ilke değerlendirmesinin düzgün çalışması için hangi kaynakların önbelleğe alınması gerektiğini Azure İlkesi eklentiye bildiren metadata.gatekeeper.sh/requires-sync-data ek açıklamasının bulunmasıyla ayırt edilebilir. Bu süreç, bu ek açıklamanın açıklayıcı olduğu, ancak önerici olmadığı tek başına Ağ Geçidi Denetleyicisi'nden farklıdır.

Veri çoğaltma şu anda özel ilke tanımlarında kullanılmak üzere engellenmiştir, çünkü yüksek örnek sayılarına sahip kaynakların çoğaltılması dikkatli bir şekilde kullanılmazsa Ağ Geçidi Denetleyicisi podlarının kaynak kullanımını önemli ölçüde artırabilir. Bu ek açıklamayla kısıtlama şablonu içeren bir özel ilke tanımı oluşturmaya çalıştığınızda ConstraintTemplateInstallFailed hatası görürsünüz.

Ek açıklamayı kaldırmak, gördüğünüz hatayı azaltıyor gibi görünebilir; ancak bu durumda, politika eklentisi bu kısıtlama şablonu için gereken kaynakları önbelleğe senkronize etmez. Bu nedenle, politikalarınız, gerekli kaynakları çoğaltan bir yerleşik öğenin atanmadığı varsayılarak, boş bir data.inventory ile karşılaştırılacaktır. Bu, yanıltıcı uyumluluk sonuçlarına yol açar. Daha önce belirtildiği gibi, gerekli kaynakları önbelleğe almak için yapılandırmayı el ile düzenlemeye de izin verilmez.

Aşağıdaki sınırlamalar yalnızca AKS için Azure İlkesi Eklentisi için geçerlidir:

  • AKS Pod güvenlik ilkesi ve AKS için Azure İlkesi Eklentisi etkinleştirilemiyor. Daha fazla bilgi için bkz. AKS pod güvenlik sınırlaması.
  • Değerlendirme için Azure İlkesi Eklentisi tarafından otomatik olarak dışlanan ad alanları: "kube-system" ve "gatekeeper-system".

Sık sorulan sorular

Azure İlkesi Eklentisi / Azure İlkesi Uzantısı kurulum sırasında kümeme ne dağıtır?

Azure İlkesi Eklentisinin çalışması için üç Gatekeeper bileşeni gerekir: Bir denetim podu ve iki webhook pod replikası. Bir Azure İlkesi podu ve bir Azure İlkesi webhook podu da yüklenir.

Azure İlkesi Eklentisinin /Uzantısının her kümede ne kadar kaynak tüketimi kullanmasını beklemem gerekir?

Kümenizde çalışan Kubernetes bileşenlerinin Azure İlkesi, kümedeki Kubernetes kaynaklarının ve ilke atamalarının sayısı arttıkça daha fazla kaynak tüketir ve bu da denetim ve zorlama işlemleri gerektirir.

Planlamanıza yardımcı olacak tahminler şunlardır:

  • En fazla 20 kısıtlamaya sahip tek bir kümede 500'den az pod için: bileşen başına iki vCPU ve 350 MB bellek.
  • Tek bir kümede en fazla 40 kısıtlamaya sahip 500'den fazla pod için: bileşen başına üç vCPU ve 600 MB bellek.

Kubernetes tanımları için Azure İlkesi Windows podlara uygulanabilir mi?

Windows podları güvenlik bağlamlarını desteklemez. Bu nedenle, kök ayrıcalıklara izin vermeme gibi bazı Azure İlkesi tanımları Windows podlarda yükseltilemez ve yalnızca Linux podları için geçerlidir.

Azure İlkesi Eklentisi tarafından hangi tür tanılama verileri toplanır?

Kubernetes için Azure İlkesi Eklentisi sınırlı küme tanılama verilerini toplar. Bu tanılama verileri, yazılım ve performansla ilgili önemli teknik verilerdir. Veriler aşağıdaki yollarla kullanılır:

  • Azure İlkesi Eklentiyi güncel tutun.
  • Azure İlkesi Eklentiyi güvenli, güvenilir ve performanslı tutun.
  • Eklentinin kullanımının toplu analizi aracılığıyla Azure İlkesi Eklentisini geliştirin.

Eklenti tarafından toplanan bilgiler kişisel veriler değildir. Şu anda aşağıdaki ayrıntılar toplanıyor:

  • Azure İlkesi'nin eklenti aracı sürümü
  • Küme türü
  • Küme bölgesi
  • Küme kaynak grubu
  • Küme kaynak kimliği
  • Küme abonelik kimliği
  • Küme işletim sistemi (Örnek: Linux)
  • Küme şehri (Örnek: Seattle)
  • Küme eyaleti veya ili (Örnek: Washington)
  • Küme ülkesi veya bölgesi (Örnek: Birleşik Devletler)
  • İlke değerlendirmesi sırasında ajan yüklemesi esnasında Azure İlkesi Eklentisi tarafından karşılaşılan özel durumlar/hatalar
  • Azure İlkesi Eklentisi tarafından kurulmayan Gatekeeper ilke tanımlarının sayısı

Azure İlkesi Eklentisini yüklerken göz önünde bulundurulması gereken genel en iyi yöntemler nelerdir?

  • Gatekeeper pod'larını zamanlamak için CriticalAddonsOnly tainti ile sistem düğüm havuzunu kullanın. Daha fazla bilgi için bkz. Sistem düğümü havuzlarını kullanma.
  • AKS kümelerinizden giden trafiğin güvenliğini sağlayın. Daha fazla bilgi için bkz. Küme düğümleri için çıkış trafiğini denetleme .
  • Kümede aad-pod-identity etkinleştirildiyse, Düğüm Yönetilen Kimlik (NMI) podları Azure Örnek Meta Verileri uç noktasına yapılan çağrıları kesmek amacıyla düğümlerde iptables değişiklik yapar. Bu yapılandırma, Pod aad-pod-identity kullanmasa bile Metadata uç noktasına yapılan tüm isteklerin NMI tarafından durdurulması anlamına gelir.
  • AzurePodIdentityException CRD, CRD'de tanımlanan etiketlerle eşleşen bir poddan kaynaklanan Meta Veri uç noktasına yapılan tüm isteklerin NMI'de herhangi bir işlem yapılmadan bildirilmesi gerektiğini bildirmek aad-pod-identity üzere yapılandırılabilir. kube-system ad alanında bulunan kubernetes.azure.com/managedby: aks etiketine sahip sistem podları, aad-pod-identity içinde, AzurePodIdentityException CRD'si yapılandırılarak dışlanmalıdır. Daha fazla bilgi için bkz. Belirli bir pod veya uygulama için aad-pod-identity'yi devre dışı bırakma. Özel durum yapılandırmak için mic-exception YAML yükleyin.

Sonraki adımlar