Aracılığıyla paylaş


Yaşam Döngüsü İş Akışı kullanımı için Mantıksal Uygulama yapılandırma

Mevcut Azure Mantıksal Uygulamasını Yaşam Döngüsü İş Akışları'nın özel görev uzantısı özelliğiyle kullanabilmeniz için önce mantıksal uygulamanın uyumlu hale getirilmesi gerekir. Bu başvuru kılavuzu, Azure Logic App'i uyumlu hale getirmek için izlenmesi gereken adımların listesini sağlar. Yaşam Döngüsü İş Akışları portalı aracılığıyla yeni uyumlu bir Mantıksal Uygulama oluşturma kılavuzu için bkz . Özel görev uzantılarını temel alan Logic Apps'i tetikleme.

Özel görev uzantınızın belirteç güvenliğinin türünü belirleme

Azure Logic App özel uzantınızı Yaşam Döngüsü İş Akışları ile kullanmak üzere yapılandırmadan önce ne tür belirteç güvenliğine sahip olduğunu öğrenmelisiniz. İki belirteç güvenlik türü olabilir:

  • Normal
  • Sahiplik Kanıtı (POP)

Özel görev uzantınızın güvenlik belirteci türünü belirlemek için Özel uzantılar sayfasını kontrol edebilirsiniz:

Özel görev uzantısının ve belirteç türünün ekran görüntüsü.

Not

Yeni özel görev uzantıları yalnızca Sahiplik Kanıtı (POP) belirteci güvenlik türüne sahip olur. Yalnızca Sahiplik Kanıtı belirteci güvenlik türü eklenmeden önce oluşturulan görev uzantıları normal türünde olur.

LCW kullanımı için mevcut Logic Apps'i yapılandırma

Bir Azure Logic uygulamasının Özel Görev Uzantısı ile çalışacak şekilde uyumlu hale getirilmesi için aşağıdaki adımlar gerekir:

  • Mantıksal uygulama tetikleyicisini yapılandırma
  • Geri çağırma eylemini yapılandırın (Yalnızca geri çağırma senaryosu için geçerlidir.)
  • Sistem tarafından atanan yönetilen kimliği etkinleştirin (Normal güvenlik belirteci türü uzantıları için her zaman gereklidir. Bu, özel görev uzantılarına sahip geri çağırma senaryoları için de varsayılandır. Bu ve diğer özel görev uzantısı dağıtım senaryoları hakkında daha fazla bilgi için bkz. Özel görev uzantısı dağıtım senaryoları.)
  • AuthZ ilkelerini yapılandırma

Bunları yapılandırmak için şu adımları izleyin:

  1. Yaşam Döngüsü İş Akışı ile kullanmak istediğiniz Azure Logic App'i açın. Logic Apps sizi sağ üst köşedeki X işaretiyle kapatabileceğiniz bir giriş ekranıyla karşılayabilir.

  2. Ekranın sol tarafında Mantıksal Uygulama kod görünümü'nü seçin.

  3. Düzenleyicide aşağıdaki kodu yapıştırın:

    {
      "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {
          "HTTP": {
            "inputs": {
              "authentication": {
                "audience": "https://graph.microsoft.com",
                "type": "ManagedServiceIdentity"
              },
              "body": {
                "data": {
                  "operationStatus": "Completed"
                },
                "source": "sample",
                "type": "lifecycleEvent"
              },
              "method": "POST",
              "uri": "https://graph.microsoft.com/beta@{triggerBody()?['data']?['callbackUriPath']}"
            },
            "runAfter": {},
            "type": "Http"
          }
        },
        "contentVersion": "1.0.0.0",
        "outputs": {},
        "parameters": {},
        "triggers": {
          "manual": {
            "inputs": {
              "schema": {
                "properties": {
                  "data": {
                    "properties": {
                      "callbackUriPath": {
                        "description": "CallbackUriPath used for Resume Action",
                        "title": "Data.CallbackUriPath",
                        "type": "string"
                      },
                      "subject": {
                        "properties": {
                          "displayName": {
                            "description": "DisplayName of the Subject",
                            "title": "Subject.DisplayName",
                            "type": "string"
                          },
                          "email": {
                            "description": "Email of the Subject",
                            "title": "Subject.Email",
                            "type": "string"
                          },
                          "id": {
                            "description": "Id of the Subject",
                            "title": "Subject.Id",
                            "type": "string"
                          },
                          "manager": {
                            "properties": {
                              "displayName": {
                                "description": "DisplayName parameter for Manager",
                                "title": "Manager.DisplayName",
                                "type": "string"
                              },
                              "email": {
                                "description": "Mail parameter for Manager",
                                "title": "Manager.Mail",
                                "type": "string"
                              },
                              "id": {
                                "description": "Id parameter for Manager",
                                "title": "Manager.Id",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "userPrincipalName": {
                            "description": "UserPrincipalName of the Subject",
                            "title": "Subject.UserPrincipalName",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "task": {
                        "properties": {
                          "displayName": {
                            "description": "DisplayName for Task Object",
                            "title": "Task.DisplayName",
                            "type": "string"
                          },
                          "id": {
                            "description": "Id for Task Object",
                            "title": "Task.Id",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "taskProcessingResult": {
                        "properties": {
                          "createdDateTime": {
                            "description": "CreatedDateTime for TaskProcessingResult Object",
                            "title": "TaskProcessingResult.CreatedDateTime",
                            "type": "string"
                          },
                          "id": {
                            "description": "Id for TaskProcessingResult Object",
                            "title": "TaskProcessingResult.Id",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "workflow": {
                        "properties": {
                          "displayName": {
                            "description": "DisplayName for Workflow Object",
                            "title": "Workflow.DisplayName",
                            "type": "string"
                          },
                          "id": {
                            "description": "Id for Workflow Object",
                            "title": "Workflow.Id",
                            "type": "string"
                          },
                          "workflowVersion": {
                            "description": "WorkflowVersion for Workflow Object",
                            "title": "Workflow.WorkflowVersion",
                            "type": "integer"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "source": {
                    "description": "Context in which an event happened",
                    "title": "Request.Source",
                    "type": "string"
                  },
                  "type": {
                    "description": "Value describing the type of event related to the originating occurrence.",
                    "title": "Request.Type",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "kind": "Http",
            "type": "Request"
          }
        }
      },
      "parameters": {}
    }
    
  4. Kaydet'i seçin.

  5. Logic App tasarımcısına geçin ve yapılandırılan tetikleyici ve geri çağırma eylemini inceleyin. Özel iş mantığınızı oluşturmak için tetikleyici ve geri çağırma eylemi arasına başka eylemler ekleyin. Yalnızca yangın ve unutma senaryosuyla ilgileniyorsanız geri çağırma eylemini kaldırabilirsiniz.

  6. Ekranın sol tarafında Kimlik'i seçin.

  7. Sistem tarafından atanan sekmesinde durumu etkinleştirerek Microsoft Entra Id'ye kaydedin.

  8. Kaydet'i seçin.

POP güvenlik belirteci türüyle özel görev uzantısı için yetkilendirme ilkesini yapılandırma

Özel görev uzantınız için güvenlik belirteci türü Sahiplik Kanıtı (POP) ise, şu adımları izleyerek yetkilendirme ilkesini ayarlarsınız:

  1. Oluşturduğunuz mantıksal uygulamaya gidin ve Yetkilendirme'yi seçin.

  2. Aşağıdaki tabloyu temel alan bir yetkilendirme ilkesi oluşturun:

    İlke adı: POP-Policy

    İlke türü: AADPOP

    Talep Değer
    Sertifikayı veren https://sts.windows.net/(Tenant Kimlik)/
    Appıd 00001111-aaaa-2222-bbbb-3333cccc4444
    m POST
    u management.azure.com
    ös /subscriptions/(subscriptionId)/resourceGroups/(resourceGroupName)/providers/Microsoft.Logic/workflows/(LogicApp adı)
  3. Yetkilendirme ilkesini kaydedin.

Dikkat

Küçük farklılıklar daha sonra sorunlara yol açabileceği için lütfen ayrıntılara dikkat edin.

  • için Issuer, Kiracı Kimliğinizden sonra eğik çizgi eklediğinizden emin olun
  • için appidözel talebin küçük harfle yazılmasını appid sağlayın. Değer Yaşam appid Döngüsü İş Akışlarını temsil eder ve her zaman aynıdır.

Normal güvenlik belirteci türüyle özel görev uzantısı için yetkilendirme ilkesini yapılandırma

Özel görev uzantınız için güvenlik belirteci türü Normal ise, aşağıdaki adımları izleyerek yetkilendirme ilkesini ayarlarsınız:

  1. Logic Apps yetkilendirme ilkesi için yönetilen kimlikler Uygulama Kimliği gerekir. Microsoft Entra yönetim merkezi yalnızca Nesne Kimliğini gösterdiğinden, Uygulama Kimliğini aramamız gerekir. Gerekli Uygulama Kimliğini bulmak için Microsoft Entra yönetim merkezindeki Kurumsal Uygulamalar'ın altında Nesne Kimliğine göre yönetilen kimliği arayabilirsiniz.

  2. Oluşturduğunuz mantıksal uygulamaya dönün ve Yetkilendirme'yi seçin.

  3. Bu tabloları temel alan iki yetkilendirme ilkesi oluşturun:

    İlke adı: AzureADLifecycleWorkflowsAuthPolicy

    İlke türü: AAD

    Talep Değer
    Sertifikayı veren https://sts.windows.net/(Tenant Kimlik)/
    Hedef Kitle Logic Apps Yönetilen Kimliğinizin Uygulama Kimliği
    Appıd 00001111-aaaa-2222-bbbb-3333cccc4444

    İlke adı: AzureADLifecycleWorkflowsAuthPolicyV2App

    İlke türü: AAD

    Talep Değer
    Sertifikayı veren https://login.microsoftonline.com/(Tenant Kimlik)/v2.0
    Hedef Kitle Logic Apps Yönetilen Kimliğinizin Uygulama Kimliği
    azp ce79fdc4-cd1d-4ea5-8139-e74d7dbe0bb7
  4. Yetkilendirme ilkesini kaydedin.

Dikkat

Küçük farklılıklar daha sonra sorunlara yol açabileceği için lütfen ayrıntılara dikkat edin.

  • için Issuer, Kiracı Kimliğinizden sonra eğik çizgi eklediğinizden emin olun.
  • hedef kitle için Yönetilen Kimliğinizin Nesne Kimliğini değil Uygulama Kimliğini kullandığınızdan emin olun.
  • için appidözel talebin küçük harfle yazılmasını appid sağlayın. Değer Yaşam appid Döngüsü İş Akışlarını temsil eder ve her zaman aynıdır.

Yaşam Döngüsü İş Akışları ile Mantıksal Uygulamayı Kullanma

Mantıksal uygulamanız Artık Yaşam Döngüsü İş Akışları ile kullanılmak üzere yapılandırıldığına göre, kullanıcı arabirimi veya API aracılığıyla özel bir görev uzantısı oluşturabilir ve bunu yaşam döngüsü iş akışında kullanabilirsiniz.

Sonraki adımlar