Varsayılan olarak, bir Service Mesh (ASM) örneğindeki iş yükleri birbirleriyle iletişim kurabilir. Bir kümedeki iş yükleri üzerinde erişim kontrolü ve izin yönetimi gerçekleştirmek için yetkilendirme ilkeleri oluşturabilirsiniz. Bu durumda, yalnızca belirli gereksinimleri karşılayan istekler iş yüklerine erişebilir. Örneğin, istek yollarını, istek yöntemlerini ve istemcilerin IP adreslerini belirterek iş yüklerine erişimi kontrol edebilirsiniz. Bu sayede güvenlik artırılır ve ASM örneğinin kaynakları korunur.
Önkoşullar
Özellik tanıtımı
Bir yetkilendirme ilkesinde CUSTOM, DENY veya ALLOW eylemini belirtebilirsiniz. Tek bir iş yüküne birden fazla yetkilendirme ilkesi uyguladığınızda, bu ilkelerin farklı öncelik seviyeleri bulunur. Daha açık ifade etmek gerekirse, sistem istekleri sırasıyla CUSTOM, DENY ve ALLOW yetkilendirme ilkelerine göre doğrular. Bir iş yükü için birden fazla yetkilendirme ilkesi oluşturursanız aşağıdaki kurallar geçerli olur:
Bir istek, isteği reddeden bir CUSTOM yetkilendirme ilkesindeki koşulla eşleşirse istek reddedilir.
Bir istek, isteği reddeden bir DENY yetkilendirme ilkesindeki koşulla eşleşirse istek reddedilir.
Varsayılan olarak, bir iş yükü için ALLOW yetkilendirme ilkesi yapılandırılmamışsa istek iş yüküne erişebilir.
Bir iş yükü için ALLOW yetkilendirme ilkesi yapılandırılmışsa ve bir istek ALLOW yetkilendirme ilkesindeki koşulla eşleşiyorsa istek iş yüküne erişebilir.
Bir istek önceki tüm gereksinimleri karşılamazsa istek reddedilir.
Bu konu, yetkilendirme ilkelerini hızlıca anlamanıza ve yapılandırmanıza yardımcı olmak için aşağıdaki dört örneği sunar:
Senaryo 1: Bir iş yükünün belirli bir yoluna erişimi kontrol etme
Bu örnekte, foo ad alanındaki uygulamaların HTTPBin uygulamasının /headers yoluna erişebilmesini belirten bir yetkilendirme ilkesi oluşturulur. HTTPBin uygulaması foo ad alanında bulunur. Diğer yollara yapılan istekler başarısız olur. foo dışındaki ad alanlarında bulunan uygulamalar HTTPBin uygulamasına erişemez.
Adım 1: default ve foo ad alanları için otomatik yan proxy enjeksiyonunu etkinleştirin
default ve foo ad alanlarını oluşturun. Daha fazla bilgi için bkz. Ad alanı oluşturma.
default ve foo ad alanları için otomatik yan proxy enjeksiyonunu etkinleştirin. Daha fazla bilgi için bkz. Otomatik yan proxy enjeksiyonunu etkinleştirme.
Adım 2: Test uygulamalarını dağıtın
-
sleep uygulamasını default ve foo ad alanlarına dağıtın.
-
Aşağıdaki içeriği içeren bir sleep.yaml dosyası oluşturun:
-
sleep uygulamasını default ad alanına dağıtmak için aşağıdaki komutu çalıştırın:
kubectl apply -f sleep.yaml -n default -
sleep uygulamasını foo ad alanına dağıtmak için aşağıdaki komutu çalıştırın:
kubectl apply -f sleep.yaml -n foo
-
-
HTTPBin uygulamasını foo ad alanına dağıtın.
-
Aşağıdaki içeriği içeren bir httpbin.yaml dosyası oluşturun:
-
HTTPBin uygulamasını foo ad alanına dağıtmak için aşağıdaki komutu çalıştırın:
kubectl apply -f httpbin.yaml -n foo
-
Adım 3: Yetkilendirme ilkesi oluşturun
ASM konsolu üzerinde oturum açın. Sol gezinme bölmesinde seçeneğini tıklayın.
Mesh Management sayfasında ASM örneğinin adını tıklayın. Sol gezinme bölmesinde seçeneğini tıklayın. Görüntülenen sayfada Create öğesini tıklayın.
-
Create sayfasında parametreleri yapılandırın ve Create öğesini tıklayın.
Parametre
Açıklama
Name
Yetkilendirme ilkesinin adı.
Policy Type
Değeri ALLOW olarak ayarlayın.
Namespaces
Workload Scope sekmesinde Namespaces değerini foo olarak ayarlayın.
Effective Scope
Service seçeneğini belirleyin.
Workload
httpbin seçeneğini belirleyin.
Request Matching Rules
Add Request Source bölümünde Namespaces anahtarını etkinleştirin ve değeri foo olarak ayarlayın. Bu işlem,
fooad alanındaki tüm uygulamalarınhttpbinuygulamasına erişmesine olanak tanır.Add Request Target bölümünde Paths anahtarını etkinleştirin ve değeri /headers olarak ayarlayın. Bu işlem, uygulamaların yalnızca
fooad alanındakihttpbinuygulamasının/headersyoluna erişmesine izin verir.
Adım 4: Belirli bir yola erişimi kontrol eden yetkilendirme ilkesinin etkili olup olmadığını kontrol edin
-
default ad alanındaki sleep uygulamasını kullanarak foo ad alanındaki HTTPBin uygulamasına bir istek gönderin.
ACK konsolu üzerinde oturum açın. Sol gezinme bölmesinde Clusters seçeneğini tıklayın.
Clusters sayfasında kümenizin adını tıklayın. Sol gezinme bölmesinde seçeneğini tıklayın.
Pods sayfasının üst kısmında Namespaces değerini default olarak ayarlayın.
sleeppod'unu bulun ve Actions sütununda seçeneğini tıklayın.-
sleep kapsayıcısının Terminal bölümünde HTTPBin uygulamasının /headers yoluna erişmek için aşağıdaki komutu çalıştırın:
curl httpbin.foo.svc.cluster.local:8000/headersİstek reddedildiğini belirten 403 kodu döndürülür.
-
sleep kapsayıcısının Terminal bölümünde HTTPBin uygulamasının /ip yoluna erişmek için aşağıdaki komutu çalıştırın:
curl httpbin.foo.svc.cluster.local:8000/ipİstek reddedildiğini belirten 403 kodu döndürülür.
-
foo ad alanındaki sleep uygulamasını kullanarak foo ad alanındaki HTTPBin uygulamasına bir istek gönderin.
Küme yönetimi sayfasının sol gezinme bölmesinde seçeneğini tıklayın.
Pods sayfasının üst kısmında Namespaces değerini foo olarak ayarlayın.
sleeppod'unu bulun ve Actions sütununda seçeneğini tıklayın.-
sleep kapsayıcısının Terminal bölümünde HTTPBin uygulamasının /headers yoluna erişmek için aşağıdaki komutu çalıştırın:
curl httpbin.foo.svc.cluster.local:8000/headersBeklenen çıktı:
{ "headers": { "Accept": "*/*", "Host": "httpbin.foo.svc.cluster.local:8000", "User-Agent": "curl/7.82.0-DEV", "X-Envoy-Attempt-Count": "1", "X-Forwarded-Client-Cert": "By=spiffe://cluster.local/ns/foo/sa/httpbin;Hash=f7ab4985563b5b1986314d5a36c6e46819213e2f38301f534f00afb7cd4b9164;Subject=\"\";URI=spiffe://cluster.local/ns/foo/sa/sleep" } } -
sleep kapsayıcısının Terminal bölümünde HTTPBin uygulamasının /ip yoluna erişmek için aşağıdaki komutu çalıştırın:
curl httpbin.foo.svc.cluster.local:8000/ipİstek reddedildiğini belirten 403 kodu döndürülür.
Çıktı sonuçları, default ad alanındaki uygulamaların foo ad alanındaki HTTPBin uygulamasının yollarına erişemediğini gösterir. foo ad alanındaki uygulamalar HTTPBin uygulamasının /headers yoluna erişebilir.
Senaryo 2: Bir iş yükünün belirli bir yoluna erişimi ve istek yöntemini kontrol etme
Bu örnekte, foo ad alanı dışındaki ad alanlarında çalışan uygulamaların HTTPBin uygulamasının yalnızca /status yoluna GET istekleriyle erişebileceğini belirten bir yetkilendirme ilkesi oluşturulur. HTTPBin uygulaması foo ad alanında çalışır. HTTPBin uygulamasının diğer yollarına yapılan istekler ve GET dışındaki yöntemlerle yapılan istekler başarısız olur.
Adım 1: default ve foo ad alanları için otomatik sidecar proxy enjeksiyonunu etkinleştirin
default ve foo ad alanlarını oluşturun. Daha fazla bilgi için bkz. Ad alanı oluşturma.
default ve foo ad alanları için otomatik sidecar proxy enjeksiyonunu etkinleştirin. Daha fazla bilgi için bkz. Otomatik sidecar proxy enjeksiyonunu etkinleştirme.
Adım 2: Test uygulamalarını dağıtın
-
sleep uygulamasını default ve foo ad alanlarına dağıtın.
-
Aşağıdaki içeriği içeren bir sleep.yaml dosyası oluşturun:
-
sleep uygulamasını default ad alanına dağıtmak için aşağıdaki komutu çalıştırın:
kubectl apply -f sleep.yaml -n default -
sleep uygulamasını foo ad alanına dağıtmak için aşağıdaki komutu çalıştırın:
kubectl apply -f sleep.yaml -n foo
-
-
HTTPBin uygulamasını foo ad alanına dağıtın.
-
Aşağıdaki içeriği içeren bir httpbin.yaml dosyası oluşturun:
-
HTTPBin uygulamasını foo ad alanına dağıtmak için aşağıdaki komutu çalıştırın:
kubectl apply -f httpbin.yaml -n foo
-
Adım 3: Bir yetkilendirme ilkesi oluşturun
ASM konsolu üzerinde oturum açın. Sol gezinme bölmesinde seçeneğini belirleyin.
Mesh Management sayfasında ASM örneğinin adını tıklayın. Sol gezinme bölmesinde seçeneğini belirleyin. Açılan sayfada Create seçeneğine tıklayın.
Create sayfasında parametreleri yapılandırın ve Create seçeneğine tıklayın.
Methods anahtarını etkinleştirin ve değeri GET olarak ayarlayın.
Paths anahtarını açın ve değeri /status/* olarak ayarlayın. Bu yapılandırma, tüm ad alanlardaki uygulamaların foo ad alanındaki httpbin uygulamasının /status yoluna yalnızca GET yöntemiyle erişmesine olanak tanır.
Parametre | Açıklama |
Name | Yetkilendirme ilkesinin adı. |
Policy Type | ALLOW seçeneğini belirleyin. |
Namespaces | Workload Scope sekmesinde Namespaces değerini foo olarak ayarlayın. |
Effective Scope | Service seçeneğini belirleyin. |
Workload | httpbin seçeneğini belirleyin. |
Request Matching Rules | Add Request Target bölümünde aşağıdaki parametreleri yapılandırın: |
Adım 4: İstek yöntemini ve iş yükünün belirli bir yoluna erişimi kontrol eden yetkilendirme ilkesinin etkili olup olmadığını kontrol edin
ACK konsolu üzerinde oturum açın. Sol gezinme bölmesinde Clusters seçeneğine tıklayın.
Clusters sayfasında kümenizin adına tıklayın. Sol gezinme bölmesinde seçeneğine tıklayın.
Pods sayfasının üst kısmında Namespaces değerini default olarak ayarlayın.
sleeppod'unu bulun ve İşlemler sütununda seçeneğine tıklayın.-
sleep konteynerinin Terminal bölümünde, HTTPBin uygulamasının /status yoluna POST isteğiyle erişmek için aşağıdaki komutu çalıştırın:
curl -I -X POST "httpbin.foo.svc.cluster.local:8000/status/200" -H "accept: text/plain"İstek reddedildiğini belirten 403 kodu döndürülür.
-
HTTPBin uygulamasının /IP yoluna GET isteğiyle erişmek için aşağıdaki komutu çalıştırın:
curl -I -X GET "httpbin.foo.svc.cluster.local:8000/IP/200" -H "accept: text/plain"İstek reddedildiğini belirten 403 kodu döndürülür.
-
HTTPBin uygulamasının /status yoluna GET isteğiyle erişmek için aşağıdaki komutu çalıştırın:
curl -I -X GET "httpbin.foo.svc.cluster.local:8000/status/200" -H "accept: text/plain"Beklenen çıktı:
HTTP/1.1 200 OK server: envoy date: Fri, 29 Apr 2022 03:01:16 GMT content-type: text/html; charset=utf-8 access-control-allow-origin: * access-control-allow-credentials: true content-length: 0 x-envoy-upstream-service-time: 5Sonuç, default ad alanındaki uygulamaların HTTPBin uygulamasının /status yoluna yalnızca GET istekleriyle erişebildiğini gösterir. Bu durum, yetkilendirme ilkesinin etkili olduğunu doğrular.
Örnek 3: İstemci IP adreslerine göre bir iş yüküne erişimi denetleme
Yalnızca yetkili istemci IP adreslerinden gelen isteklerin foo ad alanındaki HTTPBin uygulamasına erişmesine izin veren bir yetkilendirme ilkesi oluşturabilirsiniz.
1. Adım: foo ad alanı için otomatik yan vekil proxy enjeksiyonunu etkinleştirin
foo ad alanını oluşturun. Daha fazla bilgi için bkz. Küresel ad alanlarını yönetme.
foo ad alanı için otomatik yan vekil proxy enjeksiyonunu etkinleştirin. Daha fazla bilgi için bkz. Otomatik yan vekil proxy enjeksiyonunu etkinleştirme.
2. Adım: Bir giriş ağ geçidi dağıtın
ASM konsolu üzerinde oturum açın. Sol gezinme bölmesinde seçeneğini belirleyin.
Mesh Management sayfasında ASM örneğinin adını tıklayın. Sol gezinme bölmesinde seçeneğini belirleyin.
-
Ingress Gateway sayfasında Create öğesini tıklayın, parametreleri yapılandırın ve ardından Create düğmesini tıklayın.
Parametre
Açıklama
Name
Giriş ağ geçidinin adı.
Cluster
Giriş ağ geçidini dağıtmak istediğiniz küme.
SLB
Classic Load Balancer ve Public Access seçeneklerini seçin. Bu örnekte Classic Load Balancer kullanılmıştır ancak Network Load Balancer da kullanabilirsiniz.
Create SLB Instance
Kullanmak istediğiniz yük dengeleyici örneği. Aşağıdaki yöntemlerden birini kullanarak bir yük dengeleyici örneği seçebilirsiniz:
Use Existing CLB Instance: Listeden mevcut bir yük dengeleyici seçin.
Create SLB Instance: Create SLB Instance öğesini tıklayın ve açılan listeden istediğiniz teknik özellikleri seçin.
Port Mapping
İhtiyaçlarınıza göre bir Protocol seçin ve bir Service Port girin.
External Traffic Policy
Advanced Options öğesini tıklayın ve External Traffic Policy değerini Local olarak ayarlayın.
3. Adım: Bir sanal hizmet ve bir Istio ağ geçidi oluşturun
-
Aşağıdaki içeriği kullanarak foo ad alanında bir sanal hizmet oluşturun. Daha fazla bilgi için bkz. Sanal hizmetleri yönetme.
apiVersion: networking.istio.io/v1beta1 kind: VirtualService metadata: name: httpbin spec: gateways: - httpbin-gateway hosts: - '*' http: - match: - uri: prefix: /headers route: - destination: host: httpbin port: number: 8000 -
Aşağıdaki içeriği kullanarak foo ad alanında bir Istio ağ geçidi oluşturun. Daha fazla bilgi için bkz. Istio ağ geçitlerini yönetme.
apiVersion: networking.istio.io/v1beta1 kind: Gateway metadata: name: httpbin-gateway spec: selector: istio: ingressgateway servers: - hosts: - '*' port: name: http number: 80 protocol: HTTP
4. Adım: Bir yetkilendirme ilkesi oluşturun
Giriş ağ geçidinin IP adresini edinin. Daha fazla bilgi için bkz. Giriş ağ geçidi oluşturma.
-
İstemcinin IP adresini edinin.
Tarayıcınızın adres çubuğuna http://{ASM Ağ Geçidi IP}/headers yazarak X-Envoy-External-Address için IP adresini edinin. Dönen yanıtta
X-Envoy-External-Addressalanı, istemcinin gerçek harici IP adresidir.{ "headers": { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,imag...", "Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8", "Cache-Control": "max-age=0", "Host": "<IP address>", "Upgrade-Insecure-Requests": "1", "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.3...", "X-Envoy-Attempt-Count": "1", "X-Envoy-External-Address": "<Client external IP>", "X-Forwarded-Client-Cert": "By=spiffe://cluster.local/ns/foo/sa/httpbin;Hash=e49...service-account" } } -
Bir yetkilendirme ilkesi oluşturun.
ASM konsolu üzerinde oturum açın. Sol gezinme bölmesinde seçeneğini belirleyin.
Mesh Management sayfasında ASM örneğinin adını tıklayın. Sol gezinme bölmesinde seçeneğini belirleyin. Görüntülenen sayfada Create öğesini tıklayın.
-
Create sayfasında parametreleri yapılandırın ve Create düğmesini tıklayın.
Parametre
Açıklama
Name
Yetkilendirme ilkesinin adı.
Policy Type
DENY seçeneğini belirleyin.
Namespaces
Workload Scope sekmesinde Namespaces değerini foo olarak ayarlayın.
Effective Scope
Service seçeneğini belirleyin.
Workload
httpbin seçeneğini belirleyin.
Request Matching Rules
Add Request Source bölümünde RemoteIPBlocks anahtarını etkinleştirin ve değeri, önceki adımda edindiğiniz istemci IP adresine ayarlayın. Bu işlem, istemci IP adresininhttpbinuygulamasına erişmesini engeller.
5. Adım: Belirtilen istemci IP adresinden gönderilen istekleri reddeden yetkilendirme ilkesinin etkili olup olmadığını kontrol edin
Tarayıcınızda http://{ASM gateway IP}/headers adresine gidin. RBAC: access denied iletisi döndürülür; bu durum, httpbin uygulamasına erişimin başarısız olduğunu gösterir. Bu sonuç, istemci IP adresi kısıtlamasının yürürlükte olduğunu doğrular.
RBAC: access denied
Örnek 4: Ad alanları arasında hizmet erişimini denetleme
1. Adım: demo-frontend ve demo-server ad alanları için otomatik yan vekil proxy enjeksiyonunu etkinleştirin
demo-frontend ve demo-server ad alanlarını oluşturun. Daha fazla bilgi için bkz. Ad alanı oluşturma.
demo-frontend ve demo-server ad alanları için otomatik yan vekil proxy enjeksiyonunu etkinleştirin. Daha fazla bilgi için Küresel ad alanlarını yönetme konusunun "Otomatik yan vekil proxy enjeksiyonunu etkinleştirme" bölümüne bakın.
2. Adım: Test hizmetlerini dağıtın
demo-frontend ad alanında sleep adlı bir hizmet ve demo-server ad alanında httpbin adlı bir hizmet oluşturun. Sleep hizmeti, httpbin hizmetine erişim isteği göndermek için kullanılır.
-
demo-frontend ad alanında sleep adlı bir hizmet oluşturun.
-
Aşağıdaki içeriği içeren bir sleep.yaml dosyası oluşturun:
-
kubeconfig dosyasındaki bilgileri kullanarak Container Service for Kubernetes (ACK) kümesine kubectl ile bağlanın ve ardından sleep hizmetini oluşturmak için aşağıdaki komutu çalıştırın:
kubectl apply -f sleep.yaml -n demo-frontend
-
-
demo-server ad alanında httpbin adlı bir hizmet oluşturun.
-
Aşağıdaki içeriği içeren bir httpbin.yaml dosyası oluşturun:
-
kubeconfig dosyasındaki bilgilere göre ACK kümesine kubectl ile bağlanın ve httpbin hizmetini oluşturmak için aşağıdaki komutu çalıştırın:
kubectl apply -f httpbin.yaml -n demo-server
-
-
sleep ve httpbin hizmetlerinin barındığı pod'lara sidecar proxy'lerin enjekte edildiğini doğrulayın.
ACK konsolu oturumunu açın. Sol gezinme bölmesinde Clusters seçeneğine tıklayın.
Clusters sayfasında kümenizin adına tıklayın. Sol gezinme bölmesinde seçeneklerine tıklayın.
-
Pods sayfasının üst kısmında Namespaces açılır listesinden demo-frontend öğesini seçin ve
sleephizmetinin pod adına tıklayın.Containers sekmesinde istio-proxy konteynerini görebilirsiniz. Bu durum,
sleephizmeti için sidecar enjeksiyonunun tamamlandığını gösterir. -
Pods sayfasının üst kısmında Namespaces açılır listesinden demo-server öğesini seçin ve
httpbinhizmetinin pod adına tıklayın.Containers sekmesinde istio-proxy konteynerini görebilirsiniz. Bu durum,
httpbinhizmeti için sidecar enjeksiyonunun tamamlandığını gösterir.
3. Adım: Ad alanları arasında hizmet erişimini kontrol etmek için bir yetkilendirme ilkesi oluşturma
Bir yetkilendirme ilkesi oluşturabilir ve bu ilkedeki action parametresini değiştirerek demo-frontend ad alanındaki hizmetlerden demo-server ad alanındaki hizmetlere yönelik erişim isteklerini reddedebilir veya izin verebilirsiniz. Bu sayede ad alanları arasındaki hizmet erişimini kontrol edebilirsiniz.
-
demo-frontend ad alanından demo-server ad alanına yapılan erişim isteklerini reddeden bir yetkilendirme ilkesi oluşturun.
ASM konsolu oturumunu açın. Sol gezinme bölmesinde seçeneklerini seçin.
Mesh Management sayfasında ASM örneğinin adına tıklayın. Sol gezinme bölmesinde seçeneklerini seçin. Açılan sayfada Create seçeneğine tıklayın.
-
Yetkilendirme ilkesi parametrelerini yapılandırın ve Create seçeneğine tıklayın.
Parametre
Açıklama
Name
Yetkilendirme ilkesinin adı.
Policy Type
DENY seçeneğini belirleyin.
NamespacesWorkload Scope sekmesinde Namespaces değerini
demo-serverolarak ayarlayın.
Effective Scope
Namespace Scope seçeneğini belirleyin.
Request Matching RulesAdd Request Source bölümünde Namespaces anahtarını etkinleştirin ve değeri demo-frontend olarak ayarlayın.
-
httpbin hizmetine erişin.
ACK konsolu oturumunu açın. Sol gezinme bölmesinde Clusters seçeneğine tıklayın.
Clusters sayfasında kümenizin adına tıklayın. Sol gezinme bölmesinde seçeneklerine tıklayın.
Pods sayfasının üst kısmında Namespaces açılır listesinden demo-frontend öğesini seçin. Ardından
sleeppod'unu bulun ve Actions sütununda seçeneklerine tıklayın.-
httpbin hizmetine erişmek için sleep konteynerinin terminalinde aşağıdaki komutu çalıştırın:
curl -I httpbin.demo-server.svc.cluster.local:8000Beklenen çıktı:
HTTP/1.1 403 Forbidden content-length: 19 content-type: text/plain date: Wed, 11 Oct 2023 08:15:25 GMT server: envoy x-envoy-upstream-service-time: 4Yukarıdaki çıktı, demo-frontend ad alanındaki hizmetlerin demo-server ad alanındaki hizmetlere erişemediğini gösterir.
-
demo-frontend ad alanından demo-server ad alanına yapılan erişim isteklerine izin vermek için yetkilendirme ilkesindeki action parametresinin değerini ALLOW olarak değiştirin.
ASM konsolu oturumunu açın. Sol gezinme bölmesinde seçeneklerini seçin.
Mesh Management sayfasında ASM örneğinin adına tıklayın. Sol gezinme bölmesinde seçeneklerini seçin.
AuthorizationPolicy sayfasında hedef ilkeyi bulun ve Actions sütununda View YAML seçeneğine tıklayın.
Edit iletişim kutusunda
actionparametresinin değerini ALLOW olarak değiştirin ve OK seçeneğine tıklayın.
-
httpbin hizmetine erişmek için sleep konteynerinin terminalinde aşağıdaki komutu çalıştırın:
curl -I httpbin.demo-server.svc.cluster.local:8000Beklenen çıktı:
HTTP/1.1 200 OK server: envoy date: Wed, 11 Oct 2023 08:21:40 GMT content-type: text/html; charset=utf-8 content-length: 9593 access-control-allow-origin: * access-control-allow-credentials: true x-envoy-upstream-service-time: 13Yukarıdaki çıktı, demo-frontend ad alanındaki hizmetlerin demo-server ad alanındaki hizmetlere başarıyla eriştiğini gösterir.
Gördüğünüz gibi, Action değeri Deny olarak ayarlanmış bir yetkilendirme ilkesi oluşturulduktan sonra demo-frontend ad alanındaki hizmetler demo-server ad alanındaki hizmetlere erişemez. Yetkilendirme ilkesinin Action değeri ALLOW olarak değiştirildiğinde ise demo-frontend ad alanındaki hizmetler demo-server ad alanındaki hizmetlere başarıyla erişebilir. Bu durum, yetkilendirme ilkesinin ad alanları arası hizmet erişimini başarıyla kontrol ettiğini gösterir.