Share via


Kimlik bilgisi yöneticisini yapılandırma - arka uç API'sine kullanıcı tarafından atanan erişim

UYGULANANLAR: Tüm API Management katmanları

Bu makale, Microsoft Entra kullanıcılarına veya gruplarına bir arka uç OAuth 2.0 API'sine temsilci izinleri veren bir yönetilen bağlantı yapılandırma ve kullanma konusunda size yol gösterir. Bir istemci uygulamasının (veya botun) kimliği doğrulanmış bir kullanıcı adına arka uç güvenli çevrimiçi kaynaklarına erişmesi gerektiğinde (örneğin, e-postaları denetleme veya sipariş verme) senaryolar için bu adımları izleyin.

Senaryoya genel bakış

Not

Bu senaryo yalnızca yetkilendirme kodu verme türüyle yapılandırılmış kimlik bilgisi sağlayıcıları için geçerlidir.

Bu senaryoda, bir istemci uygulamasının (veya botun) bir Microsoft Entra kullanıcısı veya grubu adına bir arka uç API'sine erişmesini sağlayan yönetilen bir bağlantı yapılandıracaksınız. Örneğin, arka uç GitHub API'sine erişen ve oturum açmış kullanıcıya özgü verilere erişmek istediğiniz statik bir web uygulamanız olabilir. Aşağıdaki diyagramda senaryo gösterilmektedir.

Kullanıcı tarafından atanan izinler için işlem akışını gösteren diyagram.

  • Kullanıcının, güvenli kaynaklara kendi adına erişmesi için uygulamayı yetkilendirmesi ve uygulamayı yetkilendirmesi için kullanıcının kimliğini doğrulaması gerekir
  • Kullanıcı adına işlemler gerçekleştirmek için uygulama, Microsoft Graph veya GitHub gibi dış arka uç hizmetini çağırır
  • Her dış hizmetin bu çağrıların güvenliğini sağlamanın bir yolu vardır. Örneğin, kullanıcıyı benzersiz olarak tanımlayan bir kullanıcı belirteci
  • Dış hizmete yapılan çağrının güvenliğini sağlamak için uygulamanın kullanıcının belirtecini alması için kullanıcıdan oturum açmasını istemesi gerekir
  • Yapılandırmanın bir parçası olarak, API Management örneğindeki kimlik bilgisi yöneticisi kullanılarak bir kimlik bilgisi sağlayıcısı kaydedilir. Kullanılacak kimlik sağlayıcısı hakkında bilgilerin yanı sıra geçerli bir OAuth istemci kimliği ve gizli dizisi, etkinleştirileceği OAuth kapsamları ve bu kimlik sağlayıcısı tarafından gereken diğer bağlantı meta verileri içerir.
  • Ayrıca, kullanıcının oturum açmasına yardımcı olmak ve yönetilebilmesi için kullanıcı belirtecini almak için bir bağlantı oluşturulur ve kullanılır

Önkoşullar

  • Uygulama kaydı oluşturma ve uygulamanın izinleri için yönetici onayı verme izinlerinizin olduğu bir Microsoft Entra kiracısına erişim. Daha fazla bilgi edinin

    Kendi geliştirici kiracınızı oluşturmak istiyorsanız Microsoft 365 Geliştirici Programı'na kaydolabilirsiniz.

  • Kiracıda izinlerin temsilci olarak atanacağı bir veya daha fazla kullanıcı veya grup.

  • Çalışan bir API Management örneği. Gerekirse bir Azure API Management örneği oluşturun.

  • Kullanıcı veya grup adına erişmek istediğiniz bir arka uç OAuth 2.0 API'si.

1. Adım: Azure API Management Veri Düzlemi hizmet sorumlusu sağlama

Kullanıcılara veya gruplara gerekli temsilci izinlerini vermek için Azure API Management Veri Düzlemi hizmet sorumlusunu sağlamanız gerekir. Azure PowerShell kullanarak hizmet sorumlusunu sağlamak için aşağıdaki adımları kullanın.

  1. Azure PowerShell oturumu açın.

  2. AzureAD modülü henüz yüklü değilse, aşağıdaki komutla yükleyin:

    Install-Module -Name AzureAD -Scope CurrentUser -Repository PSGallery -Force
    
  3. Aşağıdaki komutla kiracınıza Bağlan:

    Connect-AzureAD -TenantId "<YOUR_TENANT_ID>"
    
  4. İstenirse kiracınızın yönetici hesabı kimlik bilgileriyle oturum açın.

  5. Azure API Management Veri Düzlemi hizmet sorumlusunu aşağıdaki komutla sağlayın:

    New-AzureADServicePrincipal -AppId c8623e40-e6ab-4d2b-b123-2ca193542c65 -DisplayName "Azure API Management Data Plane"
    

2. Adım: Microsoft Entra uygulama kaydı oluşturma

Kullanıcı temsilcisi için bir Microsoft Entra ID uygulaması oluşturun ve API Management'ta bağlantıyı okumak için uygun izinleri verin.

  1. Kiracıda yeterli izinlere sahip bir hesapla Azure portalında oturum açın.
  2. Azure Hizmetleri'nin altında Microsoft Entra Id için arama yapın.
  3. Soldaki menüden Uygulama kayıtları ve ardından + Yeni kayıt'ı seçin.
  4. Uygulamayı kaydet sayfasında uygulama kayıt ayarlarınızı girin:
    1. Ad alanına, uygulama kullanıcılarına görüntülenecek UserPermissions gibi anlamlı bir ad girin.
    2. Desteklenen hesap türleri bölümünde senaryonuza uygun bir seçenek belirleyin; örneğin, Yalnızca bu kuruluş dizinindeki hesaplar (Tek kiracı).
    3. Yeniden Yönlendirme URI'siniWeb olarak ayarlayın ve girinhttps://www.postman-echo.com/get.
  5. Sol menüde API izinleri'ni ve ardından + İzin ekle'yi seçin.
    1. Kuruluşumun kullandığı API'leri seçin, Azure API Management Veri Düzlemi yazın ve seçin.
    2. İzinler'in altında Authorizations.Read'i ve ardından İzin ekle'yi seçin.
  6. Soldaki menüde Genel Bakış'ı seçin. Genel Bakış sayfasında Uygulama (istemci) kimliği değerini bulun ve daha sonraki bir adımda kullanmak üzere kaydedin.
  7. Sol menüde Sertifikalar ve gizli diziler'i ve ardından + Yeni istemci gizli dizisi'ni seçin.
    1. Bir Açıklama girin.
    2. Süresi Dolanlar için bir seçenek belirleyin.
    3. Ekle'yi seçin.
    4. Sayfadan çıkmadan önce istemci gizli dizisinin Değerini kopyalayın. Sonraki adımlardan birinde gerekecektir.

3. Adım: API Management'ta kimlik bilgisi sağlayıcısı yapılandırma

  1. Portalda oturum açın ve API Management örneğine gidin.
  2. Sol menüde Kimlik bilgisi yöneticisi'ni ve ardından + Oluştur'u seçin.
    Portalda API kimlik bilgisi oluşturma işleminin ekran görüntüsü.
  3. Kimlik bilgisi sağlayıcısı oluştur sayfasında, API'nizin kimlik bilgisi sağlayıcısının ayarlarını girin. Bu senaryo için, Verme türü bölümünde Yetkilendirme kodu'nu seçmeniz gerekir. Daha fazla bilgi için bkz . Kimlik bilgisi yöneticisinde kimlik bilgisi sağlayıcılarını yapılandırma.
  4. Oluştur'u belirleyin.
  5. İstendiğinde, görüntülenen OAuth yeniden yönlendirme URL'sini gözden geçirin ve uygulama kaydına girdiğiniz URL ile eşleşip eşleşmediğini onaylamak için Evet'i seçin.

4. Adım: Bağlantı yapılandırma

Kimlik bilgisi sağlayıcısı oluşturduktan sonra sağlayıcıya bağlantı ekleyebilirsiniz. Bağlan ion sekmesinde bağlantınızın adımlarını tamamlayın:

  1. bir Bağlan ion adı girin ve Kaydet'i seçin.
  2. 2. Adım: Bağlantınızda oturum açın altında, kimlik bilgisi sağlayıcısında oturum açmak için bağlantıyı seçin. Erişimi yetkilendirmek ve API Management'a dönmek için buradaki adımları tamamlayın.
  3. 3. Adım: Bu bağlantıya kimlerin erişeceğini belirleme (Erişim ilkesi) altında + Ekle'yi seçin. Temsilci senaryonuza bağlı olarak Kullanıcılar veya Grup'ı seçin.
  4. Öğe seç penceresinde, seçimleri aşağıdaki sırayla yapın:
    1. İlk olarak, eklemek için bir veya daha fazla kullanıcı (veya grup) arayın ve seçim kutusunu işaretleyin.
    2. Ardından, görüntülenen listede önceki bölümde oluşturduğunuz uygulama kaydını arayın.
    3. Ardından Seç'e tıklayın.
  5. Tamamla’yı seçin.

Yeni bağlantı, bağlantılar listesinde görünür ve Bağlan durumunu gösterir. Kimlik bilgisi sağlayıcısı için başka bir bağlantı oluşturmak istiyorsanız, önceki adımları tamamlayın.

İpucu

İstediğiniz zaman bir kimlik bilgisi sağlayıcısına bağlantı eklemek, güncelleştirmek veya silmek için portalı kullanın. Daha fazla bilgi için bkz . Birden çok bağlantı yapılandırma.

5. Adım: Microsoft Entra Id erişim belirteci alma

Arka uç API'sine kullanıcı tarafından atanan erişimi etkinleştirmek için, ilkedeki çalışma zamanında get-authorization-context temsilci kullanıcı veya grup için bir erişim belirteci sağlanmalıdır. Bu genellikle istemci uygulamanızda Program aracılığıyla Microsoft Kimlik Doğrulama Kitaplığı (MSAL) kullanılarak yapılır. Bu bölümde, test için erişim belirteci oluşturmaya yönelik el ile adımlar sağlanır.

  1. Ve değerlerini Microsoft Entra uygulama kaydınızdaki değerlerle <tenant-id><client-id> değiştirerek tarayıcınıza aşağıdaki URL'yi yapıştırın:

    https://login.microsoftonline.com/<tenant-id>/oauth2/authorize?client_id=<client-id>&response_type=code&redirect_uri=https://www.postman-echo.com/get&response_mode=query&resource=https://azure-api.net/authorization-manager&state=1234`
    
  2. İstendiğinde oturum açın. Yanıt gövdesinde, sağlanan kodun değerini kopyalayın (örnek: "0.AXYAh2yl…").

  3. Aşağıdaki POST isteği belirteç uç noktasına gönderin; değerini kiracı kimliğiniz ile değiştirin <tenant-id> ve uygulama kaydınızdaki belirtilen üst bilgi ve gövde parametrelerini ve önceki adımda kopyaladığınız kodu ekleyin.

    POST https://login.microsoftonline.com/<tenant-id>/oauth2/token HTTP/1.1
    

    Üstbilgi

    Content-Type: application/x-www-form-urlencoded

    Gövde

    grant_type: "authorization_code"
    client_id: <client-id>
    client_secret: <client-secret>
    redirect_uri: <redirect-url> 
    code: <code>   ## The code you copied in the previous step
    
  4. Yanıt gövdesinde, sağlanan access_token değerini kopyalayın (örnek: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjZqQmZ1...). Sonraki adımda ilke yapılandırmasında bu değeri geçireceksiniz.

6. Adım: Arka uç API'si için get-authorization-context ilkesini yapılandırma

Kullanıcı veya grup adına erişmek istediğiniz arka uç API'sinin get-authorization-context ilkesini yapılandırın. Test amacıyla, önceki bölümde edindiğiniz kullanıcı için Microsoft Entra ID erişim belirtecini kullanarak ilkeyi yapılandırabilirsiniz.

  1. Portalda oturum açın ve API Management örneğine gidin.

  2. Sol menüde API'leri ve ardından OAuth 2.0 arka uç API'nizi seçin.

  3. Tüm işlemler’i seçin. Gelen işleme bölümünde (/>) (<kod düzenleyicisi) simgesini seçin.

  4. bölümünde ilkeyi get-authorization-contextinbound yapılandırın ve ayarını olarak jwtayarlayınidentity-type:

    <policies>
        <inbound>
            [...]
            <get-authorization-context provider-id="<credential-provider-id>" authorization-id="<connection-id>" context-variable-name="auth-context" identity-type="jwt" identity="<access-token>" ignore-error="false" />
            [...]
        </inbound> 
    </policies>
    

Önceki ilke tanımında şunu değiştirin:

  • <credential-provider-id> ve <connection-id> önceki adımda yapılandırdığınız kimlik bilgisi sağlayıcısının ve bağlantının adlarıyla birlikte.

  • <access-token> önceki adımda oluşturduğunuz Microsoft Entra Id erişim belirteciyle.

7. Adım: API'yi test edin

  1. Test sekmesinde, yapılandırdığınız bir işlemi seçin.

  2. Gönder'i seçin.

    Başarılı bir yanıt, arka uç API'sinden kullanıcı verilerini döndürür.