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.
Bu makalede, kimlik doğrulaması gerektiren uygulama uç noktalarıyla Azure Yük Testi'ni kullanmayı öğreneceksiniz. Uygulama uygulamanıza bağlı olarak, isteklerin kimliğini doğrulamak için erişim belirteci, kullanıcı kimlik bilgileri, yönetilen kimlik veya istemci sertifikaları kullanabilirsiniz.
Azure Yük Testi, kimliği doğrulanmış uç noktalar için aşağıdaki seçenekleri destekler:
- Paylaşılan gizli dizi veya kullanıcı kimlik bilgileriyle kimlik doğrulaması
- İstemci sertifikalarıyla kimlik doğrulama
- Yönetilen kimlikle kimlik doğrulaması
Önkoşullar
- Aktif bir aboneliğe sahip bir Azure hesabı. Eğer bir Azure aboneliğiniz yoksa, başlamadan önce ücretsiz bir hesap oluşturun.
- Azure yük testi kaynağı. Yük testi kaynağı oluşturmak için Yük testi oluşturma ve çalıştırma'ya bakın.
Paylaşılan gizli anahtar veya kimlik bilgileri ile kimlik doğrulaması yapın
Bu senaryoda, uygulama uç noktası kimlik doğrulaması için erişim belirteci, API anahtarı veya kullanıcı kimlik bilgileri gibi paylaşılan bir gizli dizi kullanmanızı gerektirir.
Aşağıdaki diyagramda, yük testinizde bir uygulama uç noktasıyla kimlik doğrulaması yapmak için paylaşılan gizli dizilerin veya kimlik bilgilerinin nasıl kullanılacağı gösterilmektedir.
Paylaşılan gizli dizi veya kullanıcı kimlik bilgileriyle kimlik doğrulaması için akış şöyledir:
- Gizli diziyi veya kimlik bilgilerini, örneğin Azure Key Vault'ta veya CI/CD gizli dizi deposunda güvenli bir şekilde depolayın.
- Yük testi yapılandırmasında gizli bilgiye referans verin.
- JMeter tabanlı testler için,
GetSecretişleviyle gizli değeri alın. Çekirge tabanlı testler içingetenvişleviyle gizli bilgiyi alın. Gizli değeri uygulama isteğine iletin.
Gizliyi güvenli bir şekilde depolayın
Güvenlik bilgilerini test betiğinde depolamaktan ve açıklamaktan kaçınmak için, gizli dizileri Azure Key Vault'ta veya CI/CD gizli dizi deposunda güvenli bir şekilde depolayabilirsiniz.
Güvenlik bilgilerini bir gizli dizi deposuna iki yoldan biriyle ekleyebilirsiniz:
Gizli bilgileri Azure Key Vault'a ekleyin. Gizli bir bilgiyi depolamak ve yük test kaynağınızı bu bilginin değerini okuması için yetkilendirmek amacıyla Yük testlerini gizli bilgilerle parametreleştirme adımlarını izleyin.
Gizli bilgileri CI/CD'ye gizli olarak ekleyin (GitHub Actions gizli dizileri veya Azure Pipelines gizli değişkenleri).
Yük testi yapılandırmasında gizli bilgiye referans verme
Gizli değeri JMeter test betiğinde alabilmeniz için, önce yük testi yapılandırmasında bu gizli değere başvurmanız gerekir.
Azure portalında Azure Key Vault'ta depolanan gizli dizilere başvurabilirsiniz. Azure portalında yük testi gizli dizisi eklemek ve yapılandırmak için:
Azure portalında yük testi kaynağınıza gidin ve yük testlerinin listesini görüntülemek için Testler'i seçin.
Listeden testinizi seçin ve ardından Düzenle'yi seçerek yük testi yapılandırmasını düzenleyin.
Parametreler sekmesinde gizlinin ayrıntılarını girin.
Veri Alanı Değer İsim Gizlinin adı. Test betiğinde gizli değeri almak için bu adı GetSecretişlevine sağlarsınız.Değer Azure Key Vault Gizli Dizi tanımlayıcısı ile eşleşir. Yük testi yapılandırma değişikliklerini kaydetmek için Uygula'yı seçin.
JMeter betiğinde gizli değeri al ve kullan
Artık özel işlevi kullanarak GetSecret JMeter betiğindeki gizli dizi değerini alabilir ve uygulama isteğine geçirebilirsiniz. Örneğin, bir Authorization istekte OAuth belirteci geçirmek için HTTP üst bilgisi kullanın.
Kullanıcı tanımlı bir değişken oluşturun, bu değişken
GetSecretözel işleviyle gizli değeri alacak.İşlev,
GetSecretdeğerini Azure Key Vault'tan veya CI/CD gizli anahtar deposundan almayı soyutlar.JMeter örnek alıcı bileşenini istekte gizli bilgiyi geçirmek için güncelleyin.
Örneğin, bir OAuth2 erişim belirteci sağlamak için, HTTP üst bilgisine bir
AuthorizationekleyerekHTTP Header Manageryapılandırabilirsiniz.
Locust betiğindeki gizli değeri geri alma ve kullanma
Artık Locust betiğindeki gizli değeri alabilir ve uygulama isteğine iletebilirsiniz. Örneğin, bir Authorization istekte OAuth belirteci geçirmek için HTTP üst bilgisi kullanın.
Yük testi yapılandırmasında yapılandırılan gizli dizilere ortam değişkenleri olarak erişilebilir.
- Yük testi yapılandırmasında belirtilen gizli İsim'i kullanarak gizli değerle bir değişken başlatın.
my_secret = os.getenv("appToken")
- Azure KeyVault'ta depolanan gizli dizi değerini kullanmak için test betiğinizdeki değişkene başvurun.
İstemci sertifikalarıyla kimlik doğrulama
Bu senaryoda, uygulama uç noktası kimlik doğrulaması için bir istemci sertifikası kullanmanızı gerektirir. Azure Yük Testi, Ortak Anahtar Sertifikası Standart #12 (PKCS12) sertifika türünü destekler. Yük testinde birden çok istemci sertifikası da kullanabilirsiniz .
Aşağıdaki diyagramda, yük testinizde bir uygulama uç noktasıyla kimlik doğrulaması yapmak için istemci sertifikasının nasıl kullanılacağı gösterilmektedir.
İstemci sertifikalarıyla kimlik doğrulaması için akış şöyledir:
- İstemci sertifikasını Azure Key Vault'ta güvenli bir şekilde depolayın.
- Yük testi yapılandırmasında sertifikaya başvurun.
- JMeter tabanlı testler için Azure Load Testing, sertifikayı tüm uygulamaya saydam bir şekilde geçirir. Çekirge tabanlı testler için, test betiğinizdeki sertifikayı alabilir ve isteklere geçirebilirsiniz.
İstemci sertifikasını Azure Key Vault'ta depolama
JMeter betiğinin yanı sıra istemci sertifikasını depolamaktan ve açıklamaktan kaçınmak için sertifikayı Azure Key Vault'ta depolarsınız.
Sertifikanızı Azure Key Vault'ta depolamak için Sertifikayı içeri aktarma'daki adımları izleyin.
Önemli
Azure Yük Testi yalnızca PKCS12 sertifikalarını destekler. İstemci sertifikasını PFX dosya biçiminde karşıya yükleyin.
Azure anahtar kasanıza erişim izni verme
Yük testi gizli dizilerini veya sertifikalarını Azure Key Vault'ta depoladığınızda, yük testi kaynağınız anahtar kasasına erişmek için yönetilen bir kimlik kullanır. Yönetilen kimlik yapılandırmasını yaptıktan sonra, yük testi kaynağının yönetilen kimliğine anahtar kasasındaki bu değerleri okuma izni vermeniz gerekir.
Azure Key Vault'unuzdan gizli dizileri veya sertifikaları okumak için Azure yük testi kaynağınıza izin vermek için:
Azure portalında Azure Key Vault kaynağınıza gidin.
Anahtar kasanız yoksa, bir anahtar kasası oluşturmak için Azure Key Vault Hızlı Başlangıç kılavuzundaki yönergeleri izleyin.
Sol bölmede Erişim İlkeleri'ni ve ardından + Oluştur'u seçin.
İzinler sekmesindeki Gizli izinler altında Al'ı ve ardından İleri'yi seçin.
Uyarı
Azure Load Testing, sertifikanın özel anahtarının kullanılabilir olduğundan emin olmak için sertifikaları gizli dizi olarak alır.
Sorumlu sekmesinde, yük testi kaynağı için yönetilen kimliği arayıp seçin ve ardından İleri'yi seçin.
Sistem tarafından atanan bir yönetilen kimlik kullanıyorsanız, yönetilen kimlik adı Azure yük testi kaynağınızla eşleşir.
İleri'yi yeniden seçin.
Testiniz çalıştırıldığında, yük testi kaynağınızla ilişkili yönetilen kimlik artık anahtar kasanızdan yük testinizin gizli dizilerini veya sertifikalarını okuyabilir.
Yük testi yapılandırmasında sertifikaya başvurma
İstemci sertifikasını uygulama taleplerine geçirmek için yük testi yapılandırmasında sertifikaya referans vermeniz gerekir.
Azure portalında yük testinize bir istemci sertifikası eklemek için:
Azure portalında yük testi kaynağınıza gidin. Henüz bir yük testimiz yoksa JMeter betiği kullanarak yeni bir yük testi oluşturun.
Sol bölmede Testler'i seçerek yük testlerinin listesini görüntüleyin.
Yük testi yapılandırmasını düzenlemek için listeden testinizi seçin ve ardından Düzenle'yi seçin.
Parametreler sekmesinde sertifikanın ayrıntılarını girin.
Veri Alanı Değer İsim Sertifikanın adı. Değer Sertifikanın Azure Key Vault Gizli Dizi tanımlayıcısı ile eşleşir. Yük testi yapılandırma değişikliklerini kaydetmek için Uygula'yı seçin.
Yük testinizi çalıştırdığınızda, Azure Load Testing istemci sertifikasını Azure Key Vault'tan alır ve her JMeter web isteğine otomatik olarak ekler.
Locust tabanlı testler için sertifikayı alabilir ve test betiğinizde kullanabilirsiniz. Sertifika, yük testi yapılandırmasında ALT_CERTIFICATES_DIR içinde kullanılabilir.
cert_dir = os.getenv("ALT_CERTIFICATES_DIR")
key_path = "client.key.pem"
crt_path = "client.crt.pem"
@events.test_start.add_listener
def on_test_start(environment, **kwargs):
pfx_path = open(os.path.join(cert_dir, "cert_name_in_keyvault.pfx"))
# Generate the private key
subprocess.check_output(
f'openssl pkcs12 -in "{pfx_path}" -out "{key_path}" -nocerts -nodes -passin pass:',
shell=True,
stderr=subprocess.STDOUT,
)
# Generate the public certificate
subprocess.check_output(
f'openssl pkcs12 -in "{pfx_path}" -out "{crt_path}" -clcerts -nokeys -passin pass:',
shell=True,
stderr=subprocess.STDOUT,
)
Kimlik doğrulamasını yönetilen kimlikle yapın
Bu senaryoda, uygulama uç noktası kimlik doğrulaması için yönetilen kimlik kullanmanızı gerektirir. Hem sistem tarafından atanan hem de kullanıcı tarafından atanan yönetilen kimlikleri kullanabilirsiniz.
Yönetilen kimlik kullanarak kimlik doğrulaması için akış şöyledir:
- Hedef uç noktanın tanımlamış olduğu yönetilen kimliği Azure Yük Testi kaynağına atayın.
- Yük testi yapılandırmasında yönetilen kimliği seçin.
Yönetilen kimlik kullanarak erişim belirtecini getirmek ve hedef uç noktaya yönelik isteklerin kimliğini doğrulamak için belirteci kullanmak için yük testleri betiğinizi ayarlamanız gerekir. Örneğin, Azure Örnek Meta Veri Hizmeti (IMDS) uç noktasına bir HTTP REST çağrısı aracılığıyla belirteç alabilir ve ardından belirteci HTTP üst bilgisini kullanarak Authorization bir isteğe geçirebilirsiniz.
Yönetilen kimliği atayın
Hedef uç noktaya gerekli erişime sahip yönetilen kimliği Azure Yük Testi kaynağınıza atayın. Testi çalıştırdığınızda Azure Load Testing bu kimliği altyapı örneklerine atar. Bu, yönetilen kimliği kullanarak erişim belirteçlerini getirme isteklerinizin başarılı olmasını sağlar.
Sistem tarafından atanan yönetilen kimliği veya kullanıcı tarafından atanan yönetilen kimliği kullanabilirsiniz.
Sistem tarafından atanan yönetilen kimliği kullanmak için öncelikle Azure Yük Testi kaynağınıza sistem tarafından atanan bir yönetilen kimlik atayın . Etkinleştirildikten sonra, hedef uç noktada bu kimlik için gerekli RBAC izinlerini sağlayın.
Kullanıcı tarafından atanan yönetilen kimliği kullanmak için önce kullanıcı tarafından atanan kimliği Azure Yük Testi kaynağınıza atayın. Bu kimlik hedef uç noktada gerekli RBAC izinlerine sahip değilse, gerekli izinleri sağlayın. Test betiğiniz kullanıcı tarafından atanan birden çok kimlik kullanıyorsa, kaynağınıza birden çok kimlik atayın ve gerekli RBAC izinlerine sahip olduklarından emin olun.
Yük testi yapılandırmasında yönetilen kimliği seçme
Azure Load Testing'te test oluştururken veya düzenlerken gerekli yönetilen kimliği seçin.
Azure portalında kimlik doğrulaması için yönetilen kimlik seçmek ve yapılandırmak için:
Azure portalında yük testi kaynağınıza gidin ve yük testlerinin listesini görüntülemek için Testler'i seçin.
Listeden testinizi seçin ve ardından Düzenle'yi seçerek yük testi yapılandırmasını düzenleyin.
Test planı sekmesinde, kimlik doğrulama senaryoları için Yönetilen kimliği yapılandırın. Gerektiği gibi 'Sistem tarafından atanan kimlik' veya 'Kullanıcı tarafından atanan kimlik' seçeneğini belirleyin.
'Kullanıcı tarafından atanan kimlik' seçeneğini belirlediyseniz, Kullanıcı tarafından atanan kimlik açılan listesinden gerekli kimlikleri seçin.
Yük testi yapılandırma değişikliklerini kaydetmek için Uygula'yı seçin.
Önemli
Kimlik doğrulaması için yönetilen kimlikler kullandığınızda bölgeler arasında yük dağıtımı etkinleştirilmez.
İlgili içerik
Yük testlerini parametreleştirme hakkında daha fazla bilgi edinin.
Yük testinde birden çok sertifika kullanma hakkında daha fazla bilgi edinin.