Tüm Ürünler
Search
Belge Merkezi

Alibaba Cloud Service Mesh:ASMSecurityPolicy içinde JWT kimlik doğrulaması yapılandırın

Son Güncelleme:Oct 07, 2026

Bir hizmet ağında kimlik doğrulama ve yetkilendirmeyi kontrol etmek için ASMSecurityPolicy içinde JSON Web Token (JWT) kimlik doğrulaması yapılandırın. Bu sayede yalnızca geçerli bir JWT taşıyan istekler korunan kaynaklara erişebilir ve hizmetler arası iletişimin güvenliği ile gizliliği artırılır.

Arka plan bilgileri

JWT; kullanıcı bilgileri gibi dijital olarak imzalanmış talepler içerir. Bir sistem, imzayı doğrulayarak belirtecin özgünlüğünü ve bütünlüğünü teyit edebilir ve böylece kullanıcının kimliğini doğrular.

Ön koşullar

Yordam

  1. ASM konsolu üzerinde oturum açın. Sol gezinme bölmesinde Service Mesh > Mesh Management seçeneklerini seçin.

  2. Mesh Management sayfasında ASM örneğinin adını tıklayın. Sol gezinme bölmesinde Mesh Security Center > ASMSecurityPolicy seçeneklerini seçin.

  3. ASMSecurityPolicy sayfasında Create öğesini tıklayın.

  4. Create ASMSecurityPolicy iletişim kutusunda JWT seçeneğini seçin ve OK öğesini tıklayın.

    1. JWT Config sihirbazında parametreleri yapılandırın ve Next öğesini tıklayın.

      Parametre

      Örnek

      ASMSecurityPolicyName

      test-jwt

      Certification Rules

      Yayıncı

      testing@secure.istio.io

      JWKS Source

      jwks

      Anahtar

      { "keys":[ {"e":"AQAB","kid":"DHFbpoIUqrY8t2zpA2qXfCmr5VO5ZEr4RzHU_-envvQ","kty":"RSA","n":"xAE7eB6qugXyCAG3yhh7pkDkT65pHymX-P7KfIupjf59vsdo91bSP9C8H07pSAGQO1MV_xFj9VswgsCg4R6otmg5PV2He95lZdHtOcU5DXIg_pbhLdKXbi66GlVeK6ABZOUW3WYtnNHD-91gVuoeJT_DwtGGcp4ignkgXfkiEm4sw-4sfb4qdt5oLbyVpmW6x9cfa7vs2WTfURiCrBoUqgBo_-4WTiULmmHSGZHOjzwa8WtrtOQGsAFjIbno85jp6MnGGGZPYZbDAa_b3y5u-YpW7ypZrvD8BgtKVjgtQgZhLAGezMt0ua3DRrWnKqTZ0BJ_EyxOGuHJrLsn00fnMQ"}]}
    2. Workload and Match Rules sayfasında Add Workload Group öğesini tıklayın. New Workload Group iletişim kutusunda parametreleri yapılandırın ve OK öğesini tıklayın. Son olarak Submit öğesini tıklayın.

      Aşağıdaki tabloda örnek yapılandırmalar açıklanmaktadır.

      Parametre

      Açıklama

      Workload Group Name

      Değeri test-policy olarak ayarlayın.

      Workload List

      1. Add Workload öğesini tıklayın.

      2. Add Workload iletişim kutusunda Gateway Scope seçeneğini seçin.

      3. Select workloads bölümünde hedef iş yükünü seçin ve selected bölümüne taşımak için 添加 simgesini tıklayın. Ardından OK öğesini tıklayın.

      Match Rule List

      Aşağıdaki Match Mode seçenekleri kullanılabilir:

      • Auth If Matched: Kurallarla eşleşen isteklerin başarılı olması için geçerli bir JWT taşıması gerekir.

      • Bypass Auth If Matched: Kurallarla eşleşen istekler JWT olmadan veya geçerli bir JWT ile başarılı olabilir. Geçersiz JWT içeren istekler başarısız olur.

      Bu örnekte Match Mode değerini Auth If Matched olarak ayarlayın, Matching Rules değerini Custom Matching Rules olarak ayarlayın ve aşağıdaki kuralları yapılandırmak için Add Match Rule öğesini tıklayın.

      • Kural 1: Path anahtarını etkinleştirin ve değerini /static/* olarak ayarlayın.

      • Kural 2: Path anahtarını etkinleştirin ve değerini /api/* olarak ayarlayın.

      Complete sayfasında ASMSecurityPolicy created successfully başarı mesajı görüntülenir. Kaynağın yapılandırmasını incelemek için View YAML öğesini tıklayabilir veya ASMSecurityPolicy sayfasına dönmek için Complete öğesini tıklayabilirsiniz.

  5. JWT kimlik doğrulama yapılandırmasının etkili olduğunu doğrulayın.

    1. Erişimi test etmek için aşağıdaki komutları çalıştırın.

      curl -I http://${GATEWAY_ADDRESS}/productpage  # Returns 200.
      curl -I http://${GATEWAY_ADDRESS}/api/v1/products/1  # Returns 403.
      curl -I http://${GATEWAY_ADDRESS}/static/jquery.min.js  # Returns 403.
      
      # Set the JWT.
      TOKEN=eyJhbGciOiJSUzI1NiIsImtpZCI6IkRIRmJwb0lVcXJZOHQyenBBMnFYZkNtcjVWTzVaRXI0UnpIVV8tZW52dlEiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjQ2ODU5ODk3MDAsImZvbyI6ImJhciIsImlhdCI6MTUzMjM4OTcwMCwiaXNzIjoidGVzdGluZ0BzZWN1cmUuaXN0aW8iLCJzdWIiOiJ0ZXN0aW5nQHNlYcyVyZS5pc3Rpby5pbyJ9.CfNnxWP2tcnR9q0vxyxweaF3ovQYHYZl82hAUsn21bwQd9zP7c-LS9qd_vpdLG4Tn1A15NxfCjp5f7QNBUo-KC9PJqYpgGbaXhaGx7bEdFWjcwv3nZzvc7M__ZpaCERdwU7igUmJqYGBYQ51vr2njU9ZimyKkfDe3axcyiBZde7G6dabliUosJvvKOPcKIWPccCgefSj_GNfwIip3-SsFdlR7BtbVUcqR-yv-XOxJ3UcMI0tz3uMiiZcyPV7sNCU4KRnemRIMHVOfuvHsU60_GhGbiSFzgPTAa9WTltbnarTbxudb_YEOx12JiwYToeX0DCPb43W1tzIBxgm8NxUg
      
      # The following requests all return 200.
      curl -I http://${GATEWAY_ADDRESS}/productpage -H "Authorization: Bearer $TOKEN"
      curl -I http://${GATEWAY_ADDRESS}/api/v1/products/1 -H "Authorization: Bearer $TOKEN"
      curl -I http://${GATEWAY_ADDRESS}/static/jquery.min.js -H "Authorization: Bearer $TOKEN"

      Yapılandırma kurallarına göre /api veya /static ile başlayan yollara yönelik isteklerin başarılı olması için geçerli bir JWT taşıması gerekir. /productpage yoluna yönelik istekler JWT gerektirmez. Sonuçlar kod açıklamalarıyla tutarlıdır ve JWT kimlik doğrulama yapılandırmasının etkili olduğunu doğrular.

    2. JWT kimlik doğrulama yapılandırma kurallarını değiştirin.

      1. ASMSecurityPolicy sayfasında hedef JWT kimlik doğrulama güvenlik ilkesini bulun ve Operator sütununda edit öğesini tıklayın.

      2. JWT Config sihirbazında Next öğesini tıklayın.

      3. Workload and Match Rules sayfasında hedef iş yükü grubunu bulun ve Operator sütununda edit öğesini tıklayın.

      4. New Workload Group iletişim kutusunda parametreleri değiştirin, OK öğesini tıklayın ve ardından Submit öğesini tıklayın.

        Aşağıdaki tabloda örnek yapılandırmalar açıklanmaktadır.


        Parametre


        Açıklama


        Match Mode


        Bypass Auth If Matched seçeneğini seçin.


        Matching Rules


        /api/* eşleşme kuralını kaldırın ve yalnızca /static/* eşleşme kuralını koruyun.

    3. Değiştirilen JWT kimlik doğrulama yapılandırmasının etkili olduğunu doğrulamak için aşağıdaki komutları çalıştırın.

      curl -I http://${GATEWAY_ADDRESS}/productpage  # Returns 403.
      curl -I http://${GATEWAY_ADDRESS}/api/v1/products/1  # Returns 403.
      curl -I http://${GATEWAY_ADDRESS}/static/jquery.min.js   # Returns 200.
      
      # Set the JWT.
      TOKEN=eyJhbGciOiJSUzI1NiIsImtpZCI6IkRIRmJwb0lVcXJZOHQyenBBMnFYZkNtcjVWTzVaRXI0UnpIVV8tZW52dlEiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjQ2ODU5ODk3MDAsImZvbyI6ImJhciIsImlhdCI6MTUzMjM4OTcwMCwiaXNzIjoidGVzdGluZ0BzZWN1cmUuaXN0aW8uaW8iLCJzdWIiOiJ0ZXN0aW5nQHNlY3VyZS5pc3Rpby5pbyJ9.CfNnxWP2tcnR9q0vxyxweaF3ovQYHYZl82hAUsn21bwQd9zP7c-LS9qd_vpdLG4Tn1A15NxfCjp5f7QNBUo-KC9PJqYpgGbaXhaGx7bEdFWjcwv3nZzvc7M__ZpaCERdwU7igUmJqYGBYQ51vr2njU9ZimyKkfDe3axcyiBZde7G6dabliUosJvvKOPcKIWPccCgefSj_GNfwIip3-SsFdlR7BtbVUcqR-yv-XOxJ3UcMI0tz3uMiiZcyPV7sNCU4KRnemRIMHVOfuvHsU60_GhGbiSFzgPTAa9WTltbnarTbxudb_YEOx12JiwYToeX0DCPb43W1tzIBxgm8NxUg
      
      # The following requests all return 200.
      curl -I http://${GATEWAY_ADDRESS}/productpage -H "Authorization: Bearer $TOKEN"
      curl -I http://${GATEWAY_ADDRESS}/api/v1/products/1 -H "Authorization: Bearer $TOKEN"
      curl -I http://${GATEWAY_ADDRESS}/static/jquery.min.js -H "Authorization: Bearer $TOKEN"

      Değiştirilen yapılandırma kurallarına göre /static ile başlayan yollara yönelik istekler JWT olmadan veya geçerli bir JWT ile başarılı olabilir. Diğer tüm isteklerin başarılı olması için geçerli bir JWT taşıması gerekir. Sonuçlar kod açıklamalarıyla tutarlıdır ve değiştirilen JWT kimlik doğrulama yapılandırmasının etkili olduğunu doğrular.

İlgili belgeler