Microsoft Entra Id ile Azure Container Apps'te kimlik doğrulamasını ve yetkilendirmeyi etkinleştirme

Bu makalede, uygulamanızın kimlik doğrulama sağlayıcısı olarak Microsoft kimlik platformunu kullanarak kullanıcılarda oturum açması için Azure Container Apps için kimlik doğrulamasının nasıl yapılandırıldığı açıklanır.

Container Apps kimlik doğrulaması, Microsoft kimlik platformuyla otomatik olarak bir uygulama kaydı oluşturabilir. Ayrıca, sizin veya dizin yöneticisinin ayrı olarak oluşturduğu bir kaydı da kullanabilirsiniz.

1. Seçenek: Otomatik olarak yeni bir uygulama kaydı oluşturma

Bu seçenek, kimlik doğrulamasını etkinleştirmeyi basit hale getirmek için tasarlanmıştır ve yalnızca birkaç adım gerektirir.

  1. Azure portalında oturum açın ve uygulamanıza gidin.

  2. Sol bölmede Güvenlik>Kimlik Doğrulaması'nı seçin. Kimlik sağlayıcı ekle'yi seçin.

  3. Kimlik sağlayıcısı listesinden Microsoft'u seçin. Yeni kayıt oluşturma seçeneği varsayılan olarak seçilidir. Kaydın adını veya desteklenen hesap türlerini değiştirebilirsiniz.

    İstemci sırrı oluşturulur ve kapsayıcı uygulamasında bir gizli olarak depolanır.

  4. İstemci gizli anahtarı bitiş listesinde bir son kullanma tarihi seçin.

  5. Bu uygulama için ilk kimlik sağlayıcısını yapılandırıyorsanız bir Container App kimlik doğrulama ayarları bölümü görürsünüz. Aksi takdirde, sonraki adıma geçersiniz.

    Bu seçenekler uygulamanızın kimliği doğrulanmamış isteklere nasıl yanıt vereceğini belirler. Varsayılan seçimler, tüm istekleri bu yeni sağlayıcıyla oturum açmak üzere yeniden yönlendirir. Bu davranışı şimdi özelleştirebilir veya daha sonra ana Kimlik Doğrulama bölmesinde Kimlik doğrulama ayarları'nın yanındaki Düzenle'yi seçerek bu ayarları ayarlayabilirsiniz. Bu seçenekler hakkında daha fazla bilgi edinmek için bkz . Kimlik doğrulama akışı.

  6. (İsteğe bağlı) İleri: İzinler'i seçin ve uygulamanın ihtiyaç duyduğu kapsamları ekleyin. Kapsamlar uygulama kaydına eklenir, ancak bunları daha sonra da değiştirebilirsiniz.

  7. Ekle'yi seçin.

Artık uygulamanızda kimlik doğrulaması için Microsoft kimlik platformu kullanmaya hazırsınız. Sağlayıcı , Kimlik Doğrulaması bölmesinde listelenir. Buradan bu sağlayıcı yapılandırmasını düzenleyebilir veya silebilirsiniz.

Seçenek 2: Ayrı olarak oluşturulan mevcut bir kaydı kullanma

Ayrıca uygulamanızı Microsoft kimlik platformu için el ile kaydedebilir, kaydı özelleştirebilir ve kayıt ayrıntılarıyla Container Apps Kimlik Doğrulamasını yapılandırabilirsiniz. Bu yaklaşım, uygulamanızın tanımlandığı kiracı olmayan bir Microsoft Entra kiracısından uygulama kaydı kullanmak istediğinizde kullanışlıdır.

Kapsayıcı uygulamanız için Microsoft Entra Id'de uygulama kaydı oluşturma

İlk olarak, uygulama kaydınızı oluşturursunuz. Bunu yaparken, daha sonra kapsayıcı uygulamasında kimlik doğrulamasını yapılandırırken ihtiyacınız olan aşağıdaki bilgileri toplayın:

  • Müşteri Kimliği
  • Kiracı kimliği
  • istemci sırrı (isteğe bağlı)
  • Başvuru kodu URI

Uygulamayı kaydetmek için aşağıdaki adımları uygulayın:

  1. Azure Portal’ında oturum açın.

  2. Container Apps'i arayıp seçin ve ardından uygulamanızı seçin. Genel Bakış bölmesinde uygulamanızın Uygulama Url'sini not edin. Bunu, Microsoft Entra uygulama kaydınızı yapılandırmak için kullanırsınız.

  3. Portalın giriş sayfasına dönmek için Giriş'i seçin. Microsoft Entra ID öğesini arayıp seçin.

  4. Genel Bakış bölmesinde Ekle'yi ve ardından Uygulama kaydı'nı seçin.

    1. Uygulama kaydetme bölmesinde, uygulama kaydınız için bir Ad girin.

    2. Yeniden Yönlendirme URI'si bölümünde Web'i seçin ve aşağıdakileri girin. Daha önce not aldığınız uygulama URL'si ile \<APP_URL\> değerini değiştirin.

      <APP_URL>/.auth/login/aad/callback

      Örneğin: https://<CONTAINER_APP_NAME>.<ENVIRONMENT_UNIQUE_ID>.<REGION_NAME>.azurecontainerapps.io/.auth/login/aad/callback

    3. Kaydet'i seçin.

    4. Sol bölmedeki Yönet'in altında Kimlik Doğrulaması (Önizleme) öğesini seçin.

    5. Container Apps'ten OpenID Connect kullanıcı oturum açma işlemlerine izin vermek için Ayarlar sekmesinde Kimlik belirteçlerini (örtük ve karma akışlar için kullanılır) seçin. Kaydetseçeneğini seçin.

  5. Yeni uygulama kaydına gidin.

    1. Genel Bakış bölmesinde, uygulama (istemci) kimliğini ve sonraki sürümler için Dizin (kiracı) kimliğini kopyalayın.
    2. (İsteğe bağlı) Yeniden yönlendirme URI'sini uygulama kaydına eklemediyseniz, bunu şimdi yapabilirsiniz.
      1. Sol bölmedeki Yönet'in altında Kimlik Doğrulaması (Önizleme) öğesini seçin.

      2. Kimlik Doğrulaması (Önizleme) bölmesinde Yeniden Yönlendirme URI'sini Ekle'yi seçin.

      3. Yeniden yönlendirme URI'sini eklemek için bir platform seçin bölmesinde Web'i seçin.

      4. Yeniden Yönlendirme URI'sini Ekle bölmesindeki Yeniden Yönlendirme URI'si kutusuna aşağıdakileri girin. Daha önce not aldığınız uygulama URL'si ile \<APP_URL\> değerini değiştirin.

        <APP_URL>/.auth/login/aad/callback

        Örneğin: https://<CONTAINER_APP_NAME>.<HOSTNAME>.<LOCATION>.azurecontainerapps.io/.auth/login/aad/callback

      5. Yapılandır'yı seçin.

    3. (İsteğe bağlı) Sol bölmedeki Yönet'in altında Markalama ve özellikler'i seçin. Giriş sayfası URL'si kutusuna kapsayıcı uygulamanızın URL'sini girin ve Kaydet'i seçin.
    4. Sol bölmedeki Yönet'in altında API'yi kullanıma sunma'yı seçin.
      1. Uygulama Kimliği URI'si'nin yanındaki Ekle'yi seçin.

        Uygulama Kimliği URI'si, kaynak olarak kullanıldığında uygulamanızı benzersiz olarak tanımlar. İstenen belirteçlere erişim izni verilmesine olanak tanır. Değer, oluşturduğunuz kapsamlar için ön ek olarak da kullanılır.

        Tek kiracılı bir uygulama için, biçimindeki api://<APPLICATION_CLIENT_ID>varsayılan değeri kullanabilirsiniz. Kiracınız için doğrulanmış etki alanlarından birine göre https://contoso.com/api gibi daha okunabilir bir URI de belirtebilirsiniz. Çok kiracılı bir uygulama için özel bir URI sağlamanız gerekir. Uygulama kimliği URI'leri için kabul edilen biçimler hakkında daha fazla bilgi edinmek için bkz. Microsoft Entra Id'de uygulama özellikleri için en iyi güvenlik yöntemleri.

        Değer otomatik olarak kaydedilir.

      2. Yeni bir kapsam ekle'yi seçin.

      3. Kapsam ekle bölmesinde, Uygulama Kimliği URI'si önceki adımda ayarladığınız değerdir.

      4. Kaydet ve devam et’i seçin.

      5. Kapsam adı kutusuna user_impersonation girin.

      6. Yöneticilerin onay sayfasında görmesini istediğiniz Yönetici onayı görünen adını ve Yönetici onayı açıklamasını girin. Örnek bir onay görünen adı Erişim <uygulama-adı>'dır.

      7. Kapsam ekle'yi seçin.

    5. Sol bölmedeki Yönet'in altında Sertifikalar ve gizli diziler'i seçin.
      1. Sertifikalar ve gizli diziler bölmesinde İstemci gizli dizileri'ni seçin.
      2. Yeni gizli anahtar'ı seçin.
      3. Bir Açıklama girin ve Süre sonu alanında bir son kullanma tarihi seçin.
      4. Ekle'yi seçin.
      5. Sayfada gösterilen istemci gizli anahtarı değerini kopyalayın. Site bunu size bir daha göstermeyecek.

Kapsayıcı uygulamanızda Microsoft Entra Kimliğini etkinleştirme

  1. Azure portalında oturum açın ve uygulamanıza gidin.

  2. Sol bölmedeki Güvenlik'in altında Kimlik Doğrulaması'nı seçin. Sağlayıcı ekle'yi seçin.

  3. Kimlik sağlayıcısı listesinden Microsoft'u seçin.

  4. Uygulama kayıt türü için, Gerekli uygulama bilgilerini otomatik olarak toplayan Bu dizinde var olan bir uygulama kaydını seç'i seçebilirsiniz. Kaydınız başka bir kiracıdan geliyorsa veya kayıt nesnesini görüntüleme izniniz yoksa Mevcut bir uygulama kaydının ayrıntılarını belirtin'i seçin. Bu seçenek için aşağıdaki yapılandırma ayrıntılarını sağlamanız gerekir:

    Uyarı

    Mümkün olduğunda örtük verme akışı kullanmaktan kaçının. Çoğu senaryoda daha güvenli alternatifler kullanılabilir ve önerilir. Bu akışın belirli yapılandırmaları, uygulamaya yüksek düzeyde güven gerektirir ve diğer akışlarda mevcut olmayan riskleri taşır. Bu akışı yalnızca diğer daha güvenli akışlar uygun olmadığında kullanmalısınız. Daha fazla bilgi için örtük izin akışıyla ilgili güvenlik endişelerine bakın.

    Setting Açıklama
    Uygulama (istemci) kimliği Uygulama kaydının Uygulama (istemci) kimliğini kullanın.
    İstemci gizli anahtarı Uygulama kaydında oluşturduğunuz istemci sırrını kullanın. İstemci sırları hibrit akışı kullanır ve uygulama erişim ve yenileme jetonlarını döndürür. İstemci gizli anahtarı ayarlı olmadığında dolaylı akış kullanılır ve sadece bir kimlik belirteci dönülür. Sağlayıcı belirteçleri gönderir ve EasyAuth belirteç deposunda depolanır.
    İssuer URL <AUTHENTICATION-ENDPOINT>/<TENANT-ID>/v2.0kullanın. AUTHENTICATION-ENDPOINT< değerini bulut ortamınızın kimlik doğrulama uç noktasıyla değiştirin> (örneğin, "https://login.microsoftonline.com" genel Azure için). TENANT-ID< değerini, uygulama kaydının oluşturulduğu Dizin (kiracı) kimliğiyle değiştirin>. Bu değer, kullanıcıları doğru Microsoft Entra kiracısına yönlendirmek ve örneğin uygun belirteç imzalama anahtarlarını ve belirteç veren talep değerini belirlemek üzere meta verileri indirmek için kullanılır. Azure Active Directory v1 kullanan uygulamalar için URL'de /v2.0'yi çıkarın.
    İzin verilen jeton hedef kitleleri Yapılandırılan Uygulama (istemci) kimliğiher zaman örtük olarak izin verilen bir hedef kitle olarak kabul edilir. Bu değer bir bulut veya sunucu uygulamasına başvuruyorsa ve bir istemci kapsayıcı uygulamasından kimlik doğrulama belirteçlerini kabul etmek istiyorsanız (kimlik doğrulama belirteci üst bilgiden X-MS-TOKEN-AAD-ID-TOKEN alınabilir), istemci uygulamasının Uygulama (istemci) kimliğini buraya ekleyin.

    İstemci sırrı, kapsayıcı uygulamanızda gizli dizi olarak depolanır.

  5. Uygulama için yapılandırılan ilk kimlik sağlayıcısı buysa , bir Container Apps kimlik doğrulama ayarları bölümü görürsünüz. Aksi takdirde, sonraki adıma geçersiniz.

    Bu seçenekler uygulamanızın kimliği doğrulanmamış isteklere nasıl yanıt vereceğini belirler. Varsayılan seçimler, tüm istekleri bu yeni sağlayıcıyla oturum açmak üzere yeniden yönlendirir. Bu davranışı şimdi değiştirebilir veya daha sonra ana Kimlik Doğrulama bölmesinde Kimlik doğrulama ayarları'nın yanındaki Düzenle'yi seçerek ayarlayabilirsiniz. Bu seçenekler hakkında daha fazla bilgi edinmek için bkz . Kimlik doğrulama akışı.

  6. Ekle'yi seçin.

Artık uygulamanızda kimlik doğrulaması için Microsoft kimlik platformu kullanmaya hazırsınız. Sağlayıcı , Kimlik Doğrulaması bölmesinde listelenir. Buradan bu sağlayıcı yapılandırmasını düzenleyebilir veya silebilirsiniz.

İstemci uygulamalarını kapsayıcı uygulamanıza erişecek şekilde yapılandırma

Önceki bölümde, kullanıcıların kimliğini doğrulamak için kapsayıcı uygulamanızı kaydettiniz. Bu bölümde, yerel istemci veya daemon uygulamalarını kaydedersiniz. Daha sonra kapsayıcı uygulamanız tarafından kullanıcılar veya kendileri adına kullanıma sunulan API'lere erişim isteyebilirler. Yalnızca kullanıcıların kimliğini doğrulamak istiyorsanız bu bölümdeki adımları tamamlamanız gerekmez.

Yerel istemci uygulaması

Kapsayıcı uygulamanızın API'lerine oturum açmış bir kullanıcı adına erişim istemek için yerel istemcileri kaydedebilirsiniz.

  1. Azure portalındaMicrosoft Entra Id'yi arayın ve seçin.

  2. Genel Bakış bölmesindeUygulama kaydı> seçin.

  3. Uygulama kaydetme bölmesinde, uygulama kaydınız için bir Ad girin.

  4. Yeniden Yönlendirme URI'si'nin altında Genel istemci (mobil ve masaüstü) öğesini seçin ve URL'yi <app-url>/.auth/login/aad/callbackyazın. Örneğin, https://<hostname>.azurecontainerapps.io/.auth/login/aad/callback.

    Not

    Bir Microsoft Store uygulaması için bunun yerine URI olarak SID paketini kullanın.

  5. Kaydet'i seçin.

  6. Uygulama kaydı oluşturulduktan sonra Uygulama (istemci) kimliği değerini kopyalayın.

  7. Sol bölmedeki Yönet'in altında API izinleri'ni seçin. İzin> ekleAPI'lerim'i seçin.

  8. Kapsayıcı uygulamanız için daha önce oluşturduğunuz uygulama kaydını seçin. Uygulama kaydını görmüyorsanız, Microsoft Entra ID'de kapsayıcı uygulamanız için uygulama kaydı oluştururken user_impersonation kapsamını eklediğinizden emin olun.

  9. Temsilci izinleri altında user_impersonation'ı seçin ve ardından İzin ekle'yi seçin.

Daemon istemci uygulaması (hizmetler arası çağrılar)

Uygulamanız, kapsayıcı uygulamanızda barındırılan bir Web API'sini kendisi adına çağırmak için bir belirteç alabilir (kullanıcı adına değil). Bu senaryo, oturum açmış bir kullanıcı olmadan görevler gerçekleştiren etkileşimli olmayan daemon uygulamaları için kullanışlıdır. Standart OAuth 2.0 istemci kimlik bilgileri verme işlevini kullanır.

  1. Azure portalındaMicrosoft Entra Id'yi arayın ve seçin.
  2. Genel Bakış bölmesindeUygulama kaydı> seçin.
  3. Uygulama kaydetme bölmesinde, daemon uygulama kaydınız için bir Ad girin.
  4. Bir daemon uygulaması için Yeniden Yönlendirme URI'sine ihtiyacınız yoktur, bu nedenle bu alanı boş bırakabilirsiniz.
  5. Kaydet'i seçin.
  6. Uygulama kaydı oluşturulduktan sonra Uygulama (istemci) kimliği değerini kopyalayın.
  7. Sol bölmedeki Yönet'in altında Sertifikalar ve gizli diziler'i seçin.
  8. Sertifikalar ve sırlar bölmesinde Yeni istemci sırrı seçin.
  9. Ekle bölmesinde İstemci gizli anahtarı ekle'yi seçin. Sayfada gösterilen istemci gizli anahtarı değerini kopyalayın. Bir daha gösterilmez.

Şimdi resource parametresini hedef uygulamanın Uygulama Kimliği URI'sine ayarlayarak istemci kimliğini ve istemci gizli dizisini kullanarak bir erişim belirteci isteyebilirsiniz. Ardından, standart OAuth 2.0 Yetkilendirme üst bilgisini kullanarak sonuçta elde edilen erişim belirtecini hedef uygulamaya sunabilirsiniz. Container Apps kimlik doğrulaması/yetkilendirmesi, çağrıyı yapanın (bu örnekte kullanıcı değil, uygulama) kimliğinin doğrulandığını belirtmek için her zamanki gibi belirteci doğrular ve kullanır.

Bu işlem, Microsoft Entra kiracınızdaki tüm istemci uygulamalarının erişim belirteci istemesine ve hedef uygulamada kimlik doğrulaması yapmasına olanak tanır. Yalnızca belirli istemci uygulamalarına izin vermek için yetkilendirmeyi zorunlu kılmak istiyorsanız, yapılandırmayı ayarlamanız gerekir.

  1. Korumak istediğiniz kapsayıcı uygulamasını temsil eden uygulama kaydının bildiriminde bir uygulama rolü tanımlayın.
  2. Yetkilendirmesi gereken istemciyi temsil eden uygulama kaydında API izinleri>İzin ekle'yi seçin.
  3. API izinleri iste bölmesinde API'lerim'i seçin.
  4. Daha önce oluşturduğunuz uygulama kaydını seçin. Uygulama kaydını görmüyorsanız bir uygulama rolü eklediğinizden emin olun.
  5. Uygulama izinleri'nin altında, daha önce oluşturduğunuz uygulama rolünü seçin ve ardından İzin ekle'yi seçin.
  6. İstemci uygulamasının izin istemek üzere yetkilendirilmesi için Yönetici onayını ver seçeneğini seçtiğinizden emin olun.
  7. Önceki senaryoda olduğu gibi (herhangi bir rol eklenmeden önce), artık aynı hedef için resource. Erişim belirteci, istemci uygulaması için yetkilendirilmiş uygulama rollerini içeren bir roles talep içerir.
  8. Hedef Container Apps kodunda, beklenen rollerin artık belirteçte mevcut olduğunu doğrulayın. Container Apps kimlik doğrulama katmanı doğrulama adımlarını gerçekleştirmez. Daha fazla bilgi için Access kullanıcı talepleri bölümüne bakın.

Kimliği doğrulanmış kullanıcılarla çalışma

Kimliği doğrulanmış kullanıcılarla çalışma hakkında ayrıntılı bilgi için aşağıdaki kaynaklara bakın.

Sonraki adım