Azure AD korumalı Azure İşlevleri için özel bağlayıcı oluşturma
Kimlik doğrulaması için Azure Active Directory (AAD) kullanan Power Apps bağlayıcılarının temel ilkesi, kullanıcıya zaten erişimi olan veriler dışında hiçbir veriye erişim vermemesidir. Bunun nedeni AAD korumalı hizmetine yapılan API çağrısının, bağlayıcıda oturum açmak için kullanılan kullanıcı kimliği altında yürütülmesidir. Dolayısıyla kimliği doğrulanmış kullanıcı için verilen izinleri zorlamak hedef hizmetin sorumluluğundadır.
Bu öğreticide Azure İşlevleri’ni kullanarak REST API oluşturmayı, AAD kimlik doğrulamasını etkinleştirmeyi ve ardından Özel Bağlayıcı olarak Power Apps’in kullanımına sunmayı gösterir.
Visual Studio Code kullanarak Azure işlevleri oluşturma
Azure İşlevleri ile barındırma seçenekleri, dil seçimi ve Azure Portalını, Visual Studio Code’u, Visual Studio’yu vb. kullanma gibi yazma seçenekleri de dahil olmak üzere dikkate alınması gereken birçok seçenek vardır. Bu öğreticide biz C# ve Visual Studio Code kullanacağız. Bu eğitmeni tamamlayabilmeniz için öncelikle hızlı başlangıç: Visual Studio Code kullanarak Azure İşlevleri projesi oluşturma'yı tamamlamalısınız. Projeyi Azure'da yayımlama adımında İşlev Uygulamanız için sağladığınız adı not alın.
Önemli
Kaynakları temizleme bölümünü tamamlamayın. Önceden yaptığınız işlemlerin üzerinden devam etmek için tüm kaynaklarınızı olduğu gibi tutmanız gerekir.
AAD kullanarak Azure İşlevleri'ne yapılan çağrıları koruma
Azure Portalı'nda İşlev Uygulamanızı bulun. Listede İşlev Uygulamanızın adını seçin.

En üst bölümde, Platform özellikleri sekmesine geçin.

Ardından Ağ grubundan Kimlik Doğrulaması / Yetkilendirme bağlantısını seçin.

Kimlik Doğrulaması / Yetkilendirme dikey penceresinde App Service Kimlik Doğrulaması geçiş düğmesini Açık konuma getirerek App Service Kimlik Doğrulamasını etkinleştirin.

İsteğin kimliği doğrulanmamış olduğunda gerçekleştirilecek eylem açılan listesindeki değeri Azure Active Directory ile oturum aç olarak değiştirin. Bu ayar, API'ye yapılan anonim isteklere izin verilmemesini sağlar.

Ardından, kimlik doğrulama sağlayıcıları listesinde Azure Active Directory öğesini seçin.

Azure Active Directory Ayarları dikey penceresinde Yönetim modu seçeneğini Hızlı olarak ayarlayın. İkinci Yönetim modu seçeneğini Yeni AD Uygulaması Oluştur olarak ayarlayın.

Önemli
Devam etmeden önce Uygulama Oluştur alanındaki değeri not alın ve daha sonra kullanmak üzere kopyalayıp bir yere yapıştırın. Bu değer, API'nin güvenliğini sağlamak için kullanacağınız AAD uygulamasının adını temsil eder. Daha sonra Özel Bağlayıcınızı yapılandırırken bu değeri kullanacaksınız.
Seçiminizi onaylamak için Tamam düğmesini seçin.
Kimlik Doğrulaması / Yetkilendirme dikey penceresine dönün ve İşlev Uygulamasının kimlik doğrulaması ve yetkilendirme ayarlarını güncelleştirmek için Kaydet'i seçin.

Kaydettikten sonra, Azure Active Directory kimlik doğrulama sağlayıcıları bölümünde öğesini seçin.

Azure AD Uygulaması’nı seçin, ardından İstemci Kimliği değerini kopyalayın ve daha sonra kullanmak üzere bir yere yapıştırın.

Gizli modda yeni bir tarayıcı penceresi açarak ve API'ye giderek API'nin doğru bir şekilde güvenlik altına alındığını onaylayın. İşlev Uygulamanızın URL'si, İşlev Uygulaması dikey penceresinin Genel Bakış bölümünde bulunabilir. Kimlik doğrulaması ayarları doğru uygulandıysa Azure AD oturum açma sayfasına yeniden yönlendirilmeniz gerekir.

Azure İşleviniz için Özel Bağlayıcı oluşturma
AAD kimlik doğrulamasını kullanan bir Özel Bağlayıcı oluşturmak için bir AAD uygulama kaydı oluşturup Özel Bağlayıcının güvenliğini sağlamalı ve AAD kullanarak Azure İşlevleri'ne yapılan çağrıları koruma bölümünde oluşturulan AAD uygulama kaydı tarafından korunan Azure İşlevleri'ne temsilci erişimi almalısınız.
AAD'de Özel Bağlayıcınız için uygulama kaydı oluşturma
İlk olarak Özel Bağlayıcınız için bir AAD uygulaması oluşturun. Bu, Özel Bağlayıcıya Azure İşlevleri'nizi çağırma izni vermek için gereklidir.
Azure Portalı'nda Uygulama kayıtları sayfasına gidin.

Kayıtlı uygulamalar listesinde, Yeni kayıt'ı seçin.

Uygulamanız için bir ad girin, aşağıdaki ekran görüntüsünde gösterilen seçenekleri belirleyin ve ardından Kaydet düğmesini seçin.

Not
Uygulama kaydı seçenekleri hakkında daha fazla bilgi edinmek için bkz. Hızlı Başlangıç: Microsoft kimlik platformuna sahip bir uygulamayı kaydettirme.
Kaydet düğmesini seçtikten sonra Uygulama kaydınız için API izinleri gösterilir.

İzin ekle düğmesini seçin.

Kuruluşumun kullandığı API'ler sekmesini seçin, ardından AAD kullanarak Azure İşlevleri'ne yapılan çağrıları koruma bölümünün 7. adımındaki uygulama adını arayın. Uygulama adını bulduğunuzda bu ada tıklayın.
Önemli
Uygulama adınız ekran görüntüsünde gösterilenden farklı olacaktır.

user_impersonation onay kutusunu seçin ve İzin ekle düğmesine tıklayın.

Not
İzinler hakkında daha fazla bilgi edinmek için bkz. Microsoft kimlik platformu uç noktasında izinler ve onay.
Sertifikalar ve gizli anahtarlar'ı ve ardından Yeni gizli anahtar düğmesini seçin.

Gizli anahtarınız için bir açıklama girin, süre sonu dönemini belirleyin ve ardından Ekle'yi seçin.

Yeni gizli anahtarınız görüntülenir. Değeri kopyalayıp bir yere yapıştırın. Buna daha sonra ihtiyacınız olacak.

Genel Bakış'ı seçin, ardından Uygulama (istemci) kimliği değerini kopyalayıp bir yere yapıştırın. Buna daha sonra ihtiyacınız olacak.

Daha sonra dönebilmek için bu sayfayı açık bırakın. Azure portalında bir adım daha vardır, ancak öncelikle özel bir bağlayıcı oluşturun.
Özel bağlayıcı oluşturma
AAD uygulamasını yapılandırdığınıza göre artık Özel Bağlayıcı'yı oluşturabilirsiniz. Özel Bağlayıcı oluşturmak için, bağlanmak istediğiniz API'yi açıklayarak bağlayıcının bu API'nin işlemlerini ve veri yapılarını anlamasını sağlamanız gerekir. Özel Bağlayıcılar için Azure İşlevleri oluştururken, genellikle aşağıdaki adımları tekrarlayıp bağlayıcınızı yinelemeli bir yöntemle oluşturursunuz:
- Visual Studio Code ile Azure İşlevini yerel olarak oluşturun, test edin ve hatalarını ayıklayın.
- İşlev Uygulamanızı Azure'a dağıtın.
- Özel Bağlayıcı yapılandırmasını, İşlev Uygulamanızdaki değişiklikleri yansıtacak şekilde güncelleştirin.
Postman, web API'lerini test etmeye yönelik popüler bir araçtır. Bu araç genellikle Azure İşlevleri'ni test etmek için kullanılır. Bu konuda, Postman koleksiyonundan bir özel bağlayıcı oluşturacaksınız. Postman koleksiyonu size sağlanacaktır.
Not
Kendi koleksiyonunuzu oluşturmayı öğrenmek için Özel bağlayıcı için Postman koleksiyonu oluşturma konusuna bakın. Özel Bağlayıcı oluştururken Postman kullanmak seçeneklerden biridir. Diğer seçenekler hakkında bilgi edinmek için API'yi açıklama ve özel bağlayıcıyı tanımlama konusuna bakın.
Yeni bir tarayıcı sekmesinde, veya Power Apps veya Power Automate olarak oturum açın.
Aşağıdaki kodu kopyalayın. Tercih ettiğiniz metin düzenleyicisini kullanarak yeni bir dosya oluşturun ve dosyanın içeriği olarak kodu yapıştırın. Dosyayı kaydedin. Dosyaya istediğiniz adı verebilirsiniz ancak bu adı unutmamanız gerekir (örneğin: tutorial-custom-connector.json). Bu dosyayı sonraki adımlarda kullanmanız gerekecektir.
{ "id": "c4b5deba-f97b-47d0-82a5-a2b32561fb01", "name": "Custom Connector", "description": null, "auth": null, "events": null, "variables": [], "order": [ "374365a1-ede5-4ead-8068-d878085dad26" ], "folders_order": [], "protocolProfileBehavior": {}, "folders": [], "requests": [ { "id": "374365a1-ede5-4ead-8068-d878085dad26", "name": "Hello", "url": "http://localhost:7071/api/Hello", "description": "", "data": [], "dataOptions": { "raw": { "language": "json" } }, "dataMode": "raw", "headerData": [ { "key": "Content-Type", "name": "Content-Type", "value": "application/json", "description": "", "type": "text" } ], "method": "POST", "pathVariableData": [], "queryParams": [], "auth": null, "events": null, "folder": null, "responses": [ { "id": "46baba58-7b85-4a2e-8c7d-303080e08ba9", "name": "Hello", "status": null, "mime": null, "language": "plain", "text": "Hello, Marc. This HTTP triggered function executed successfully.", "responseCode": { "code": 200, "name": "OK" }, "requestObject": { "data": [], "dataMode": "raw", "dataOptions": { "raw": { "language": "json" } }, "headerData": [ { "key": "Content-Type", "name": "Content-Type", "value": "application/json", "description": "", "type": "text" } ], "method": "POST", "pathVariableData": [], "queryParams": [], "url": "http://localhost:7071/api/Hello", "rawModeData": "{\n\t\"name\": \"Marc\"\n}" }, "headers": [ { "key": "Date", "value": "Wed, 04 Mar 2020 22:32:06 GMT" }, { "key": "Content-Type", "value": "text/plain; charset=utf-8" }, { "key": "Server", "value": "Kestrel" }, { "key": "Transfer-Encoding", "value": "chunked" } ], "cookies": null, "request": "374365a1-ede5-4ead-8068-d878085dad26", "collection": "c4b5deba-f97b-47d0-82a5-a2b32561fb01" } ], "rawModeData": "{\n\t\"name\": \"Marc\"\n}", "headers": "Content-Type: application/json\n", "pathVariables": {} } ] }Gezinti bölmesinde, Veri'yi seçerek genişletin ve ardından Özel Bağlayıcılar'ı seçin.

Sağ üst köşede, Yeni özel bağlayıcı'yı ve ardından Postman koleksiyonunu içeri aktar'ı seçin.

Bağlayıcının adını girin, İçeri Aktar düğmesini seçin, 2. adımda oluşturduğunuz dosyaya göz atın ve Devam'ı seçin.

Genel sayfası açılır. Düzen'i HTTPS olarak değiştirin, Ana Bilgisayar değerini İşlev Uygulamanızın etki alanıyla değiştirin ve ardından sihirbazın Güvenlik sayfasına ilerleyin.

Güvenlik sayfasında, uygulamanızın AAD bilgilerini girin.
İstemci kimliği olarak, AAD'de Özel Bağlayıcınız için uygulama kaydı oluşturma bölümünün 11. adımında kopyaladığınız Uygulama (istemci) kimliği değerini girin.
Gizli anahtar olarak AAD'de Özel Bağlayıcınız için uygulama kaydı oluşturma bölümünün 11. adımında kopyaladığınız gizli anahtar değerini girin.
Kaynak URL'si olarak İşlev Uygulamanızın URL'sini girin.
https://[function-app-name].azurewebsites.netbiçiminde olacaktır.

Güvenlik bilgilerini girdikten sonra Bağlayıcıyı güncelleştir düğmesini seçerek Özel Bağlayıcı'yı oluşturun.
Güvenlik sayfasında yeniden yönlendirme URL'si alanı dolduruldu. Bu URL'yi kopyalayarak, Bu öğreticinin sonraki bölümünde kullanabilirsiniz.
Not
Yeniden Yönlendirme URL'sini görmek için aşağı kaydırmanız gerekebilir.

Başka bir tarayıcı sekmesinde, AAD'de Özel Bağlayıcınız için uygulama kaydı oluşturma bölümünde oluşturduğunuz uygulama kaydına dönün. Genel Bakış bölümünde olduğunuzdan emin olun ve Yeniden Yönlendirme URI'sı Ekle seçeneğini belirleyin.

Platform ekle düğmesini seçin.

Platformları yapılandır bölmesinde, Web'i seçin.

Web'i Yapılandır bölmesinde, 7. adımdaki Yeniden Yönlendirme URL'sini yapıştırın ve ardından Yapılandır düğmesini seçin.

Özel Bağlayıcı yapılandırmasını içeren tarayıcı sekmesine dönün. Sihirbazın Güvenlik sayfasında olmanız gerekir.
Tanım sözcüğünü seçerek sihirbazın Tanım sayfasına ilerleyin ve inceleyin.

Not
Tanım, içeri aktardığınız Postman koleksiyonundan alınır. Hızlı Bşalangıç: Visual Studio Code Azure İşlevleri projesi oluşturma'da herhangi bir kod değiştirdiyseniz, alma dosyası API'nizin şekliyle eşleşmeyebilir. Yeni bir Postman koleksiyonu oluşturmanız veya eylemi Özel Bağlayıcı'da el ile ayarlamanız gerekir. Yeni Postman koleksiyonu oluşturmak için bu öğreticinin önceki bölümlerinde paylaşılan buradaki bağlantıları kullanın. Eylemi el ile ayarlamak için Sıfırdan özel bağlayıcı oluşturma öğreticisinin Bağlayıcı tanımı oluşturma bölümünü inceleyebilirsiniz.
Bağlayıcıyı test etme
Şimdi de oluşturduğunuz bağlantının düzgün çalıştığından emin olmak için bağlantıyı test edin. Sınama Şu anda yalnızca Power Automate ve Power Apps uygulamasında kullanılabilir.
Test sözcüğünü seçerek sihirbazın Test sayfasına ilerleyin.

Test sayfasında, Yeni bağlantı'yı seçin.

Oluştur düğmesini seçin ve ardından AAD kullanıcı bilgilerinizle oturum açın.

Test sayfasına dönün.
Power Automate’da Test sayfasına geri dönersiniz. Bağlantı bilgilerinin güncelleştirildiğinden emin olmak için yenile simgesini seçin.

Power Apps'te geçerli ortamda kullanılabilen bağlantıların listesine yönlendirilirsiniz. Gezinti bölmesinde, Özel Bağlayıcılar'ı seçin. Özel Bağlayıcınızı bulun ve düzenle simgesini seçin.

Test sayfasına dönün, ad alanına bir değer girin ve ardından Test işlemi'ni seçin.

İstek ve Yanıt'ı inceleyin.


Sonraki adımlar
Artık özel bir bağlayıcı oluşturup bağlayıcının davranışlarını tanımladığınıza göre bağlayıcıyı kullanabilirsiniz.