Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Pod Güvenlik Kabulü (PSA), bir ad alanında çalışan podlarda Pod Güvenlik Standartları politikalarını zorunlu kılmak için etiketleri kullanır. AKS'de Pod Güvenlik Girişi varsayılan olarak etkindir. Pod Güvenlik Kabulü ve Pod Güvenlik Standartları hakkında daha fazla bilgi için, Ad alanı etiketleriyle Pod Güvenlik Standartlarını zorunlu kılma ve Pod Güvenlik Standartları sayfalarına bakın.
Pod Güvenlik Kabulü, tekli küme uygulamaları için yerleşik bir politika çözümüdür. Kurumsal düzeyde bir ilke kullanmak istiyorsanız Azure ilkesini kullanmanızı öneririz.
Başlamadan önce
- Azure aboneliği. Azure aboneliğiniz yoksa ücretsiz hesap oluşturabilirsiniz.
- Azure CLI yüklendi.
- Kubernetes sürüm 1.23 veya üzerini çalıştıran mevcut bir AKS kümesi.
Kümenizdeki bir ad alanı için Pod Güvenlik Kabulü'nü etkinleştirme
Tek bir ad alanı için PSA'yı etkinleştirme
kubectl labelkomutunu kullanarak kümenizdeki tek bir ad alanı için PSA'yı etkinleştirin vepod-security.kubernetes.io/enforceetiketini uygulamak istediğiniz politika değeriyle ayarlayın. Aşağıdaki örnek,restrictedilkesini NAMESPACE ad alanı için etkinleştirir.kubectl label --overwrite ns NAMESPACE pod-security.kubernetes.io/enforce=restricted
Tüm ad alanları için PSA'yı etkinleştirme
Kümenizdeki tüm ad alanları için PSA'yı etkinleştirmek amacıyla
kubectl labelkomutunu kullanın ve uygulamak istediğiniz ilkenin değeriyle etiketipod-security.kubernetes.io/warnolarak ayarlayın. Aşağıdaki örnek, kümenizdeki tüm ad alanları için ilkeyibaselineetkinleştirir. Bu ilke, temel ilke politikasına uymayan bir ad alanına pod dağıtılırsa kullanıcıya yönelik bir uyarı oluşturur.kubectl label --overwrite ns --all pod-security.kubernetes.io/warn=baseline
Dağıtımla Pod Güvenlik Erişim ilkesini zorunlu kılma
komutunu kullanarak iki ad alanı
kubectl create namespaceoluşturun.kubectl create namespace test-restricted kubectl create namespace test-privilegedHer ad alanı için bir
restrictedilkesini ve birbaselineilkesini etkinleştirin; bunukubectl labelkomutunu kullanarak yapın.kubectl label --overwrite ns test-restricted pod-security.kubernetes.io/enforce=restricted pod-security.kubernetes.io/warn=restricted kubectl label --overwrite ns test-privileged pod-security.kubernetes.io/enforce=privileged pod-security.kubernetes.io/warn=privilegedBu,
test-restrictedvetest-privilegedad alanlarını, yapılandırılmış ilkeyi karşılamayan ve çalıştırılmaya çalışan podları engelleyecek ve kullanıcıya yönelik bir uyarı oluşturarak yapılandırır.komutunu kullanarak podları
test-restrictedad alanına dağıtmayıkubectl applydeneme. Ad alanı, ilkeye uymayan podları engelleyecek şekilde yapılandırıldığından, bu komut bir hatayla sonuçlanır.kubectl apply --namespace test-restricted -f https://raw.githubusercontent.com/Azure-Samples/azure-voting-app-redis/master/azure-vote-all-in-one-redis.yamlAşağıdaki örnek çıktıda podların yapılandırılan ilkeyi ihlal eden bir uyarı gösterilmektedir:
... Warning: would violate PodSecurity "restricted:latest": allowPrivilegeEscalation != false (container "azure-vote-back" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "azure-vote-back" must set securityContext.capabilities.drop=["ALL"]), runAsNonRoot != true (pod or container "azure-vote-back" must set securityContext.runAsNonRoot=true), seccompProfile (pod or container "azure-vote-back" must set securityContext.seccompProfile.type to "RuntimeDefault" or "Localhost") deployment.apps/azure-vote-back created service/azure-vote-back created Warning: would violate PodSecurity "restricted:latest": allowPrivilegeEscalation != false (container "azure-vote-front" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "azure-vote-front" must set securityContext.capabilities.drop=["ALL"]), runAsNonRoot != true (pod or container "azure-vote-front" must set securityContext.runAsNonRoot=true), seccompProfile (pod or container "azure-vote-front" must set securityContext.seccompProfile.type to "RuntimeDefault" or "Localhost") deployment.apps/azure-vote-front created service/azure-vote-front createdkomutunu kullanarak
test-restrictedad alanındakubectl get podsçalışan pod olmadığını onaylayın.kubectl get pods --namespace test-restrictedAşağıdaki örnek çıktı, ad alanında
test-restrictedçalışan podları göstermez:No resources found in test-restricted namespace.kubectl applykomutunu kullanaraktest-privilegedad alanına podları dağıtmayı deneyin. Bu kez, ad alanı ilkeyi ihlaltest-privilegededen podlara izin verecek şekilde yapılandırıldığındanprivilegedpodların başarıyla dağıtılması gerekir.kubectl apply --namespace test-privileged -f https://raw.githubusercontent.com/Azure-Samples/azure-voting-app-redis/master/azure-vote-all-in-one-redis.yamlAşağıdaki örnek çıktıda başarıyla dağıtılan podlar gösterilmektedir:
deployment.apps/azure-vote-back created service/azure-vote-back created deployment.apps/azure-vote-front created service/azure-vote-front createdkomutunu kullanarak
test-privilegedad alanındakubectl get podsçalışan podlarınız olduğunu onaylayın.kubectl get pods --namespace test-privilegedAşağıdaki örnek çıktı, ad alanında
test-privilegedçalışan iki podu gösterir:NAME READY STATUS RESTARTS AGE azure-vote-back-6fcdc5cbd5-svbdf 1/1 Running 0 2m29s azure-vote-front-5f4b8d498-tqzwv 1/1 Running 0 2m28stest-restrictedkomutunu kullanaraktest-privilegedvekubectl deletead alanlarını kaldırın.kubectl delete namespace test-restricted test-privileged
Sonraki adımlar
Bu makalede, AKS kümesinde Pod Güvenlik Girişi'ni etkinleştirmeyi öğrendiniz. Pod Güvenlik Kabulü hakkında daha fazla bilgi için bkz . Ad Alanı Etiketleriyle Pod Güvenlik Standartlarını Zorunlu Kılma. Pod Güvenlik Kabulü tarafından kullanılan Pod Güvenlik Standartları hakkında daha fazla bilgi edinmek için Pod Güvenlik Standartları sayfasını ziyaret edin.