Azure Logic Apps でマネージド ID を使用して Azure リソースへのアクセスを認証するAuthenticate access to Azure resources by using managed identities in Azure Logic Apps

サインインすることなく他の Azure Active Directory (Azure AD) テナント内のリソースへのアクセスと ID の認証を行うために、ロジック アプリは、資格情報やシークレットではなく マネージド ID (以前はマネージド サービス ID (MSI) と呼ばれていました) を使用できます。To access resources in other Azure Active Directory (Azure AD) tenants and authenticate your identity without signing in, your logic app can use a managed identity (formerly Managed Service Identity or MSI), rather than credentials or secrets. この ID は、ユーザーの代わりに Azure で管理されます。ユーザーがシークレットを提供したりローテーションしたりする必要がないため、資格情報の保護に役立ちます。Azure manages this identity for you and helps secure your credentials because you don't have to provide or rotate secrets.

Azure Logic Apps では、"システム割り当て" と "ユーザー割り当て" の両方のマネージド ID がサポートされます。Azure Logic Apps supports both system-assigned and user-assigned managed identities. ロジック アプリでは、システムによって割り当てられた ID または "単一" のユーザー割り当て ID のいずれかを使用できます。これは、ロジック アプリのグループ全体で共有できますが、両方を共有することはできません。Your logic app can use either the system-assigned identity or a single user-assigned identity, which you can share across a group of logic apps, but not both. 現在、特定の組み込みトリガーおよびアクションでのみマネージド ID がサポートされ、マネージド コネクタや接続はサポートされません。以下に例を示します。Currently, only specific built-in triggers and actions support managed identities, not managed connectors or connections, for example:

  • HTTPHTTP
  • Azure FunctionsAzure Functions
  • Azure API ManagementAzure API Management
  • Azure App ServiceAzure App Services

この記事では、ロジック アプリ用に両方の種類のマネージド ID を設定する方法について説明します。This article shows how to set up both kinds of managed identities for your logic app. 詳細については、以下のトピックを参照してください。For more information, see these topics:

前提条件Prerequisites

  • Azure サブスクリプション。An Azure subscription. サブスクリプションをお持ちでない場合には、無料の Azure アカウントにサインアップしてください。If you don't have a subscription, sign up for a free Azure account. マネージド ID とアクセスする必要があるターゲット Azure リソースの両方で、同じ Azure サブスクリプションを使用する必要があります。Both the managed identity and the target Azure resource where you need access must use the same Azure subscription.

  • マネージド ID に Azure リソースへのアクセス権を付与するには、その ID のターゲット リソースにロールを追加する必要があります。To give a managed identity access to an Azure resource, you need to add a role to the target resource for that identity. ロールを追加するには、対応する Azure AD テナント内の ID にロールを割り当てることができる、Azure AD 管理者のアクセス許可が必要です。To add roles, you need Azure AD administrator permissions that can assign roles to identities in the corresponding Azure AD tenant.

  • アクセスするターゲット Azure リソース。The target Azure resource that you want to access. このリソースでは、マネージ ID のロールを追加します。これにより、ロジック アプリはターゲット リソースへのアクセスを認証できます。On this resource, you'll add a role for the managed identity, which helps the logic app authenticate access to the target resource.

  • トリガーまたはマネージド ID をサポートするアクションを使用する必要があるロジック アプリ。The logic app where you want to use the trigger or actions that support managed identities

マネージド ID の有効化Enable managed identity

使用するマネージ ID を設定するには、該当する ID のリンクに従ってください。To set up the managed identity that you want to use, follow the link for that identity:

システム割り当て ID を有効にするEnable system-assigned identity

ユーザー割り当て ID とは異なり、システム割り当て ID を手動で作成する必要はありません。Unlike user-assigned identities, you don't have to manually create the system-assigned identity. ロジック アプリ用のシステム割り当て ID を設定する際は、次のオプションを使用できます。To set up the system-assigned identity for your logic app, here are the options that you can use:

Azure portal でシステム割り当て ID を有効にするEnable system-assigned identity in Azure portal

  1. Azure Portal のロジック アプリ デザイナーでロジック アプリを開きます。In the Azure portal, open your logic app in Logic App Designer.

  2. ロジック アプリのメニューの [設定] で、 [ID] を選択します。On the logic app menu, under Settings, select Identity. [システム割り当て済み] > [オン] > [保存] を選択します。Select System assigned > On > Save. 確認を求めるメッセージが表示されたら、 [はい] を選択します。When Azure prompts you to confirm, select Yes.

    システム割り当て ID を有効にする

    注意

    マネージド ID を 1 つだけ持つことができるというエラーが表示される場合、ロジック アプリは既にユーザー割り当て ID に関連付けられています。If you get an error that you can have only a single managed identity, your logic app is already associated with the user-assigned identity. システム割り当て ID を追加できるようにするには、まず、ロジック アプリからユーザー割り当て ID を "削除" する必要があります。Before you can add the system-assigned identity, you must first remove the user-assigned identity from your logic app.

    これで、ロジック アプリでシステム割り当て ID を使用できるようになりました。この ID は Azure Active Directory に登録され、オブジェクト ID で表されます。Your logic app can now use the system-assigned identity, which is registered with Azure Active Directory and is represented by an object ID.

    システム割り当て ID のオブジェクト ID

    プロパティProperty Value 説明Description
    オブジェクト IDObject ID <identity-resource-ID><identity-resource-ID> Azure AD テナント内のロジック アプリのシステム割り当て ID を表すグローバル一意識別子 (GUID)A Globally Unique Identifier (GUID) that represents the system-assigned identity for your logic app in an Azure AD tenant
  3. 次に、このトピックの後半にある、ID にリソースへのアクセス権を付与する手順に従います。Now follow the steps that give that identity access to the resource later in this topic.

Azure Resource Manager テンプレートでシステム割り当て ID を有効にするEnable system-assigned identity in Azure Resource Manager template

ロジック アプリなどの Azure リソースの作成とデプロイを自動化するために、Azure Resource Manager テンプレートを使用できます。To automate creating and deploying Azure resources such as logic apps, you can use Azure Resource Manager templates. テンプレートでロジック アプリのシステム割り当てマネージド ID を有効にするには、次のように、テンプレートのロジック アプリのリソース定義に identity オブジェクトと type 子プロパティを追加します。To enable the system-assigned managed identity for your logic app in the template, add the identity object and the type child property to the logic app's resource definition in the template, for example:

{
   "apiVersion": "2016-06-01",
   "type": "Microsoft.logic/workflows",
   "name": "[variables('logicappName')]",
   "location": "[resourceGroup().location]",
   "identity": {
      "type": "SystemAssigned"
   },
   "properties": {
      "definition": {
         "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
         "actions": {},
         "parameters": {},
         "triggers": {},
         "contentVersion": "1.0.0.0",
         "outputs": {}
   },
   "parameters": {},
   "dependsOn": []
}

Azure によってロジック アプリのリソース定義が作成されると、identity オブジェクトで次の追加のプロパティが取得されます。When Azure creates your logic app resource definition, the identity object gets these additional properties:

"identity": {
   "type": "SystemAssigned",
   "principalId": "<principal-ID>",
   "tenantId": "<Azure-AD-tenant-ID>"
}
プロパティ (JSON)Property (JSON) Value 説明Description
principalId <principal-ID><principal-ID> Azure AD テナント内のロジック アプリを表すマネージド ID のサービス プリンシパル オブジェクトのグローバル一意識別子 (GUID)。The Globally Unique Identifier (GUID) of the service principal object for the managed identity that represents your logic app in the Azure AD tenant. この GUID は、"オブジェクト ID" (objectID) として表されることがあります。This GUID sometimes appears as an "object ID" or objectID.
tenantId <Azure-AD-tenant-ID><Azure-AD-tenant-ID> ロジック アプリが現在メンバーとなっている Azure AD テナントを表すグローバル一意識別子 (GUID)。The Globally Unique Identifier (GUID) that represents the Azure AD tenant where the logic app is now a member. Azure AD テナント内では、サービス プリンシパルは、ロジック アプリ インスタンスと同じ名前を持ちます。Inside the Azure AD tenant, the service principal has the same name as the logic app instance.

ユーザー割り当て ID を有効にするEnable user-assigned identity

ロジック アプリにユーザー割り当てのマネージド ID を設定するには、最初にその ID を別のスタンドアロン Azure リソースとして作成する必要があります。To set up a user-assigned managed identity for your logic app, you must first create that identity as a separate standalone Azure resource. 次に、使用できるオプションを示します。Here are the options that you can use:

Azure portal でユーザー割り当て ID を作成するCreate user-assigned identity in the Azure portal

  1. Azure portal で、任意のページの検索ボックスに「managed identities」と入力し、 [マネージド ID] を選択します。In the Azure portal, in the search box on any page, enter managed identities, and select Managed Identities.

    "マネージド ID" を検索して選択する

  2. [マネージド ID] の下の [追加] を選択します。Under Managed Identities, select Add.

    新しいマネージド ID の追加

  3. 次の例のようにマネージド ID に関する情報を指定し、 [作成] を選択します。Provide information about your managed identity, and then select Create, for example:

    ユーザー割り当てマネージド ID を作成する

    プロパティProperty 必須Required Value 説明Description
    リソース名Resource Name はいYes <user-assigned-identity-name><user-assigned-identity-name> ユーザー割り当て ID に付与する名前。The name to give your user-assigned identity. この例では、"Fabrikam-user-assigned-identity" を使用します。This example uses "Fabrikam-user-assigned-identity".
    サブスクリプションSubscription はいYes <Azure サブスクリプション名><Azure-subscription-name> 使用する Azure サブスクリプションの名前。The name for the Azure subscription to use
    リソース グループResource group はいYes <Azure-resource-group-name><Azure-resource-group-name> 使用するリソース グループの名前。The name for the resource group to use. 新しいグループを作成するか、既存のグループを選択します。Create a new group, or select an existing group. この例では、"fabrikam-managed-identities-RG" という名前の新しいグループを作成します。This example creates a new group named "fabrikam-managed-identities-RG".
    場所Location はいYes <Azure-region><Azure-region> リソースに関する情報の保存先となる Azure リージョン。The Azure region where to store information about your resource. この例では "米国西部" を使用します。This example uses "West US".

    これで、ユーザー割り当て ID をロジック アプリに追加できるようになりました。Now you can add the user-assigned identity to your logic app. ロジック アプリに複数のユーザー割り当て ID を追加することはできません。You can't add more than one user-assigned identity to your logic app.

  4. Azure portal のロジック アプリ デザイナーで、ロジック アプリを選択して開きます。In the Azure portal, find and open your logic app in Logic App Designer.

  5. ロジック アプリのメニューの [設定] で、 [ID] を選択してから、 [ユーザー割り当て済み] > [追加] の順に選択します。On the logic app menu, under Settings, select Identity, and then select User assigned > Add.

    ユーザー割り当てマネージド ID の追加

  6. [ユーザー割り当てマネージド ID の追加] ウィンドウで、 [サブスクリプション] の一覧から、まだ選択されていない場合は使用する Azure サブスクリプションを選択します。On the Add user assigned managed identity pane, from the Subscription list, select your Azure subscription if not already selected. そのサブスクリプションの "すべての" マネージド ID を示す一覧から、目的のユーザー割り当て ID を検索して選択します。From the list that shows all the managed identities in that subscription, find and select the user-assigned identity that you want. 一覧をフィルター処理するには、 [ユーザー割り当て済みマネージド ID] 検索ボックスに、ID またはリソース グループの名前を入力します。To filter the list, in the User assigned managed identities search box, enter the name for the identity or resource group. 終了したら、 [追加] を選択します。When you're done, select Add.

    使用するユーザー割り当て ID を選択する

    注意

    マネージド ID を 1 つだけ持つことができるというエラーが表示される場合、ロジック アプリは既にシステム割り当て ID に関連付けられています。If you get an error that you can have only a single managed identity, your logic app is already associated with the system-assigned identity. ユーザー割り当て ID を追加できるようにするには、まず、ロジック アプリのシステム割り当て ID を無効にする必要があります。Before you can add the user-assigned identity, you must first disable the system-assigned identity on your logic app.

    これで、ロジック アプリがユーザー割り当てのマネージド ID に関連付けられました。Your logic app is now associated with the user-assigned managed identity.

    ユーザー割り当て ID との関連付け

  7. 次に、このトピックの後半にある、ID にリソースへのアクセス権を付与する手順に従います。Now follow the steps that give that identity access to the resource later in this topic.

Azure Resource Manager テンプレートでシステム割り当て ID を作成するCreate user-assigned identity in an Azure Resource Manager template

ロジック アプリなどの Azure リソースの作成とデプロイを自動化するために、Azure Resource Manager テンプレートを使用できます。これは認証のためのユーザー割り当て ID をサポートしています。To automate creating and deploying Azure resources such as logic apps, you can use Azure Resource Manager templates, which support user-assigned identities for authentication. テンプレートの resources セクションでは、ロジック アプリのリソース定義に次の項目が必要です。In your template's resources section, your logic app's resource definition requires these items:

  • type プロパティが UserAssigned に設定されている identity オブジェクトAn identity object with the type property set to UserAssigned

  • ID のリソース ID を指定する子 userAssignedIdentities オブジェクト。これは、principalIdclientId プロパティを持つ別の子オブジェクトですA child userAssignedIdentities object that specifies the identity's resource ID, which is another child object that has the principalId and clientId properties

この例では、HTTP PUT 要求のロジック アプリのリソース定義を示しています。パラメーター化されていない identity オブジェクトが含まれています。This example shows a logic app resource definition for an HTTP PUT request and includes a non-parameterized identity object. PUT 要求への応答と後続の GET 操作にも、この identity オブジェクトが含まれています。The response to the PUT request and subsequent GET operation also have this identity object:

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   "parameters": {<template-parameters>},
   "resources": [
      {
         "apiVersion": "2016-06-01",
         "type": "Microsoft.logic/workflows",
         "name": "[variables('logicappName')]",
         "location": "[resourceGroup().location]",
         "identity": {
            "type": "UserAssigned",
            "userAssignedIdentities": {
               "/subscriptions/<Azure-subscription-ID>/resourceGroups/<Azure-resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned-identity-name>": {
                  "principalId": "<principal-ID>",
                  "clientId": "<client-ID>"
               }
            }
         },
         "properties": {
            "definition": {<logic-app-workflow-definition>}
         },
         "parameters": {},
         "dependsOn": []
      },
   ],
   "outputs": {}
}
プロパティ (JSON)Property (JSON) Value 説明Description
principalId <principal-ID><principal-ID> Azure AD テナント内のユーザー割り当てマネージド ID のグローバル一意識別子 (GUID)The Globally Unique Identifier (GUID) for the user-assigned managed identity in the Azure AD tenant
clientId <client-ID><client-ID> 実行時の呼び出しに使用されるロジック アプリの新しい ID のグローバル一意識別子 (GUID)A Globally Unique Identifier (GUID) for your logic app's new identity that's used for calls during runtime

テンプレートにマネージド ID のリソース定義も含まれている場合は、identity オブジェクトをパラメーター化できます。If your template also includes the managed identity's resource definition, you can parameterize the identity object. この例では、子 userAssignedIdentities オブジェクトが、テンプレートの variables セクションで定義した userAssignedIdentity 変数を参照する方法を示しています。This example shows how the child userAssignedIdentities object references a userAssignedIdentity variable that you define in your template's variables section. この変数は、ユーザー割り当て ID のリソース ID を参照しています。This variable references the resource ID for your user-assigned identity.

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   "parameters": {
      "Template_LogicAppName": {
         "type": "string"
      },
      "Template_UserAssignedIdentityName": {
         "type": "securestring"
      }
   },
   "variables": {
      "logicAppName": "[parameters(`Template_LogicAppName')]",
      "userAssignedIdentityName": "[parameters('Template_UserAssignedIdentityName')]"
   },
   "resources": [
      {
         "apiVersion": "2016-06-01",
         "type": "Microsoft.logic/workflows",
         "name": "[variables('logicAppName')]",
         "location": "[resourceGroup().location]",
         "identity": {
            "type": "UserAssigned",
            "userAssignedIdentities": {
               "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', variables('userAssignedIdentityName'))]": {}
            }
         },
         "properties": {
            "definition": {<logic-app-workflow-definition>}
         },
         "parameters": {},
         "dependsOn": [
            "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', variables('userAssignedIdentityName'))]"
         ]
      },
      {
         "apiVersion": "2018-11-30",
         "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
         "name": "[parameters('Template_UserAssignedIdentityName')]",
         "location": "[resourceGroup().location]",
         "properties": {
            "tenantId": "<tenant-ID>",
            "principalId": "<principal-ID>",
            "clientId": "<client-ID>"
         }
      }
  ]
}
プロパティ (JSON)Property (JSON) Value 説明Description
tenantId <Azure-AD-tenant-ID><Azure-AD-tenant-ID> ユーザー割り当て ID が新しくメンバーとなった Azure AD テナントを表すグローバル一意識別子 (GUID)。The Globally Unique Identifier (GUID) that represents the Azure AD tenant where the user-assigned identity is now a member. Azure AD テナント内では、サービス プリンシパルは、ユーザー割り当て ID 名と同じ名前を持ちます。Inside the Azure AD tenant, the service principal has the same name as the user-assigned identity name.
principalId <principal-ID><principal-ID> Azure AD テナント内のユーザー割り当てマネージド ID のグローバル一意識別子 (GUID)The Globally Unique Identifier (GUID) for the user-assigned managed identity in the Azure AD tenant
clientId <client-ID><client-ID> 実行時の呼び出しに使用されるロジック アプリの新しい ID のグローバル一意識別子 (GUID)A Globally Unique Identifier (GUID) for your logic app's new identity that's used for calls during runtime

ID にリソースへのアクセス権を付与するGive identity access to resources

ロジック アプリのマネージド ID を認証に使用するには、ID を使用する予定の Azure リソースに対するその ID のアクセスを設定します。Before you can use your logic app's managed identity for authentication, set up access for that identity on the Azure resource where you plan to use the identity. このタスクを完了するには、ターゲットの Azure リソース上でその ID に適切な役割を割り当てます。To complete this task, assign the appropriate role to that identity on the target Azure resource. 次に、使用できるオプションを示します。Here are the options that you can use:

Azure portal 上でアクセスを割り当てるAssign access in the Azure portal

  1. Azure portal で、マネージド ID にアクセス権を与える Azure リソースに移動します。In the Azure portal, go to the Azure resource where you want your managed identity to have access.

  2. リソースのメニューから、 [アクセス制御 (IAM)] > [ロールの割り当て] を選択します。ここで、そのリソースの現在のロールの割り当てを確認できます。From the resource's menu, select Access control (IAM) > Role assignments where you can review the current role assignments for that resource. ツール バーで、 [追加] > [ロールの割り当ての追加] の順に選択します。On the toolbar, select Add > Add role assignment.

    [追加] > [ロールの割り当ての追加] の順に選択する

    ヒント

    [ロールの割り当ての追加] オプションが無効になっている場合は、ご自分にアクセス許可がない可能性があります。If the Add role assignment option is disabled, you most likely don't have permissions. リソースのロールを管理するためのアクセス許可の詳細については、「Azure Active Directory での管理者ロールのアクセス許可」をご覧ください。For more information about the permissions that let you manage roles for resources, see Administrator role permissions in Azure Active Directory.

  3. [ロールの割り当ての追加] で、ID にターゲット リソースへのアクセスに必要なアクセス権を与えるロールを選択します。Under Add role assignment, select a Role that gives your identity the necessary access to the target resource.

    このトピックの例では、ID に Azure Storage コンテナー内の BLOB にアクセスできるロールが必要です。For this topic's example, your identity needs a role that can access the blob in an Azure Storage container.

    [ストレージ BLOB データ共同作成者] ロールを選択する

  4. 使用するマネージド ID ついて、次の手順に従います。Follow these steps for your managed identity:

    • システム割り当て IDSystem-assigned identity

      1. [アクセスの割り当て先] ボックスで、 [ロジック アプリ] を選択します。In the Assign access to box, select Logic App. [サブスクリプション] プロパティが表示されたら、ID に関連付けられている Azure サブスクリプションを選択します。When the Subscription property appears, select the Azure subscription that's associated with your identity.

        システム割り当て ID のアクセス権を選択する

      2. [選択] ボックスで、一覧からロジック アプリを選択します。Under the Select box, select your logic app from the list. 一覧が長すぎる場合は、 [選択] ボックスを使用して一覧をフィルター処理します。If the list is too long, use the Select box to filter the list.

        システム割り当て ID を設定するロジック アプリを選択する

    • ユーザー割り当て IDUser-assigned identity

      1. [アクセスの割り当て先] ボックスで、 [ユーザー割り当てマネージド ID] を選択します。In the Assign access to box, select User assigned managed identity. [サブスクリプション] プロパティが表示されたら、ID に関連付けられている Azure サブスクリプションを選択します。When the Subscription property appears, select the Azure subscription that's associated with your identity.

        ユーザー割り当て ID のアクセス権を選択する

      2. [選択] ボックスで、一覧から ID を選択します。Under the Select box, select your identity from the list. 一覧が長すぎる場合は、 [選択] ボックスを使用して一覧をフィルター処理します。If the list is too long, use the Select box to filter the list.

        ユーザー割り当て ID の選択

  5. 終了したら、 [保存] を選択します。When you're done, select Save.

    ターゲット リソースの [ロールの割り当て] の一覧に、選択したマネージド ID とロールが表示されます。The target resource's role assignments list now shows the selected managed identity and role. この例では、1 つのロジック アプリに対してシステム割り当て ID を使用し、他のロジック アプリのグループに対してユーザー割り当て ID を使用する方法を示します。This example shows how you can use the system-assigned identity for one logic app and a user-assigned identity for a group of other logic apps.

    ターゲット リソースに追加されたマネージド ID とロール

    詳細については、「Azure portal を使用してリソースにマネージド ID アクセスを割り当てる」を参照してください。For more information, Assign a managed identity access to a resource by using the Azure portal.

  6. 次に、マネージド ID がサポートされているトリガーまたはアクションで ID 使用してアクセスを認証する手順に従います。Now follow the steps to authenticate access with the identity in a trigger or action that supports managed identities.

マネージド ID を利用してアクセスを認証するAuthenticate access with managed identity

ロジック アプリに対してマネージド ID を有効にし、その ID にターゲット リソースまたはエンティティへのアクセス権を付与したら、その ID をマネージド ID がサポートされているトリガーとアクションで使用できます。After you enable the managed identity for your logic app and give that identity access to the target resource or entity, you can use that identity in triggers and actions that support managed identities.

重要

システム割り当て ID を使用する Azure 関数がある場合は、先に Azure Functions の認証を有効にします。If you have an Azure function where you want to use the system-assigned identity, first enable authentication for Azure functions.

次の手順では、Azure portal を通じて、トリガーまたはアクションでマネージド ID を使用する方法を示します。These steps show how to use the managed identity with a trigger or action through the Azure portal. トリガーまたはアクションの基になる JSON 定義でマネージド ID を指定する方法については、「マネージド ID 認証」をご覧ください。To specify the managed identity in a trigger or action's underlying JSON definition, see Managed identity authentication.

  1. Azure portal のロジック アプリ デザイナーでロジック アプリを開きます。In the Azure portal, open your logic app in the Logic App Designer.

  2. まだ行っていない場合は、マネージド ID がサポートされているトリガーまたはアクションを追加します。If you haven't done so yet, add the trigger or action that supports managed identities.

    たとえば、HTTP トリガーまたはアクションでは、ロジック アプリに対して有効にしたシステム割り当て ID を使用できます。For example, the HTTP trigger or action can use the system-assigned identity that you enabled for your logic app. 一般に、HTTP トリガーまたはアクションでは、次のプロパティを使用して、アクセスするリソースまたはエンティティを指定します。In general, the HTTP trigger or action uses these properties to specify the resource or entity that you want to access:

    プロパティProperty 必須Required 説明Description
    方法Method はいYes 実行する操作によって使用される HTTP メソッドThe HTTP method that's used by the operation that you want to run
    URIURI はいYes ターゲットの Azure リソースまたはエンティティにアクセスするためのエンドポイント URL。The endpoint URL for accessing the target Azure resource or entity. URI 構文には、通常、Azure リソースまたはサービスのリソース ID が含まれています。The URI syntax usually includes the resource ID for the Azure resource or service.
    ヘッダーHeaders いいえNo コンテンツ タイプなど、送信要求に含める必要がある (または含めたい) ヘッダーの値Any header values that you need or want to include in the outgoing request, such as the content type
    クエリQueries いいえNo 特定の操作のパラメーターや実行する操作の API バージョンなど、要求に含める必要がある (または含めたい) クエリ パラメーターAny query parameters that you need or want to include in the request, such as the parameter for a specific operation or the API version for the operation that you want to run
    認証Authentication はいYes ターゲット リソースまたはエンティティへのアクセスの認証に使用する認証の種類The authentication type to use for authenticating access to the target resource or entity

    具体的な例として、以前に ID 用のアクセスを設定した Azure Storage アカウントの BLOB に対して Snapshot Blob 操作を実行するとします。As a specific example, suppose that you want to run the Snapshot Blob operation on a blob in the Azure Storage account where you previously set up access for your identity. しかし、Azure Blob Storage コネクタでは現在、この操作が提供されていません。However, the Azure Blob Storage connector doesn't currently offer this operation. 代わりに、HTTP アクションまたは別の BLOB サービス REST API 操作を使用して、この操作を実行できます。Instead, you can run this operation by using the HTTP action or another Blob Service REST API operation.

    重要

    HTTP 要求とマネージド ID を使用してファイアウォールの背後にある Azure Storage アカウントにアクセスするには、信頼された Microsoft サービスによるアクセスを許可する例外を使用してストレージ アカウントを設定する必要もあります。To access Azure storage accounts behind firewalls by using HTTP requests and managed identities, make sure that you also set up your storage account with the exception that allows access by trusted Microsoft services.

    Snapshot Blob 操作を実行するには、HTTP アクションで次のプロパティを指定します。To run the Snapshot Blob operation, the HTTP action specifies these properties:

    プロパティProperty 必須Required 値の例Example value 説明Description
    方法Method はいYes PUT Snapshot Blob 操作で使用する HTTP メソッドThe HTTP method that the Snapshot Blob operation uses
    URIURI はいYes https://{storage-account-name}.blob.core.windows.net/{blob-container-name}/{folder-name-if-any}/{blob-file-name-with-extension} この構文を使用する Azure Global (パブリック) 環境内の Azure Blob Storage ファイルのリソース IDThe resource ID for an Azure Blob Storage file in the Azure Global (public) environment, which uses this syntax
    ヘッダーHeaders はい (Azure Storage の場合)Yes, for Azure Storage x-ms-blob-type = BlockBlob

    x-ms-version = 2019-02-02

    Azure Storage 操作に必要な x-ms-blob-type ヘッダーと x-ms-version ヘッダーの値。The x-ms-blob-type and x-ms-version header values that are required for Azure Storage operations.

    重要:Azure Storage の発信 HTTP トリガーおよびアクションの要求では、ヘッダーに x-ms-version プロパティと実行する操作の API バージョンが必要です。Important: In outgoing HTTP trigger and action requests for Azure Storage, the header requires the x-ms-version property and the API version for the operation that you want to run.

    詳細については、以下のトピックを参照してください。For more information, see these topics:

    - 要求ヘッダー - Snapshot Blob- Request headers - Snapshot Blob
    - Azure Storage サービスのバージョン管理- Versioning for Azure Storage services

    クエリQueries はい (この操作の場合)Yes, for this operation comp = snapshot Snapshot Blob 操作のクエリ パラメーターの名前と値。The query parameter name and value for the Snapshot Blob operation.

    上記すべてのプロパティ値を示す HTTP アクションの例:Here is the example HTTP action that shows all these property values:

    Azure リソースにアクセスするための HTTP アクションを追加する

  3. 次に、HTTP アクションに Authentication プロパティを追加します。Now add the Authentication property to the HTTP action. [新しいパラメーターの追加] 一覧で [認証] を選択します。From the Add new parameter list, select Authentication.

    HTTP アクションに "認証" プロパティを追加する

    注意

    すべてのトリガーとアクションで認証の種類を追加できるわけではありません。Not all triggers and actions support letting you add an authentication type. 詳しくは、「送信呼び出しに認証を追加する」をご覧ください。For more information, see Add authentication to outbound calls.

  4. [認証タイプ] 一覧から、 [マネージド ID] を選択します。From the Authentication type list, select Managed Identity.

    [認証] で [マネージド ID] を選択する

  5. マネージド ID の一覧から、シナリオに基づいて使用可能なオプションを選択します。From the managed identity list, select from the available options based on your scenario.

    • システム割り当て ID を設定した場合は、 [システム割り当てマネージド ID] を選択します (まだ選択されていない場合)。If you set up the system-assigned identity, select System Assigned Managed Identity if not already selected.

      [システム割り当てマネージド ID] を選択

    • ユーザー割り当て ID を設定した場合は、その ID を選択します (まだ選択されていない場合)。If you set up a user-assigned identity, select that identity if not already selected.

      ユーザー割り当て ID の選択

    この例では、 [システム割り当てマネージド ID] を使用して先に進みます。This example continues with the System Assigned Managed Identity.

  6. 一部のトリガーとアクションでは、ターゲット リソース ID を設定するために [対象ユーザー] プロパティも表示されます。On some triggers and actions, the Audience property also appears for you to set the target resource ID. [対象ユーザー] プロパティはターゲット リソースまたはサービスのリソース ID に設定します。Set the Audience property to the resource ID for the target resource or service. そうしないと、既定では、 [対象ユーザー] プロパティに Azure Resource Manager のリソース ID である https://management.azure.com/ リソース ID が使用されます。Otherwise, by default, the Audience property uses the https://management.azure.com/ resource ID, which is the resource ID for Azure Resource Manager.

    重要

    ターゲット リソース ID は、必要な末尾のスラッシュも含めて、Azure Active Directory (AD) で予想される値と正確に一致するようにします。Make sure that the target resource ID exactly matches the value that Azure Active Directory (AD) expects, including any required trailing slashes. たとえば、すべての Azure Blob Storage アカウントのリソース ID には、末尾のスラッシュが必要です。For example, the resource ID for all Azure Blob Storage accounts requires a trailing slash. ただし、特定のストレージ アカウントのリソース ID については、末尾のスラッシュは必要ありません。However, the resource ID for a specific storage account doesn't require a trailing slash. Azure AD 認証をサポートしている Azure サービスのリソース ID」をご覧ください。Check the resource IDs for the Azure services that support Azure AD.

    この例では、 [対象ユーザー] プロパティを https://storage.azure.com/ に設定して、認証に使用されるアクセス トークンをすべてのストレージ アカウントに対して有効にしています。This example sets the Audience property to https://storage.azure.com/ so that the access tokens used for authentication are valid for all storage accounts. ただし、特定のストレージ アカウントに対してルート サービス URL (https://fabrikamstorageaccount.blob.core.windows.net) を指定することもできます。However, you can also specify the root service URL, https://fabrikamstorageaccount.blob.core.windows.net, for a specific storage account.

    [対象ユーザー] プロパティをターゲット リソース ID に設定する

    Azure AD を使用した Azure Storage へのアクセスの承認について詳しくは、次のトピックをご覧ください。For more information about authorizing access with Azure AD for Azure Storage, see these topics:

  7. 必要な方法でロジック アプリの構築を続行します。Continue building the logic app the way that you want.

マネージド ID を無効にするDisable managed identity

ロジック アプリのマネージド ID の使用を停止する場合は、次のオプションがあります。To stop using a managed identity for your logic app, you have these options:

ロジック アプリを削除すると、Azure によってマネージド ID が Azure AD から自動的に削除されます。If you delete your logic app, Azure automatically removes the managed identity from Azure AD.

Azure portal でマネージド ID を無効にするDisable managed identity in the Azure portal

Azure portal で、まず、ターゲット リソースに対する ID のアクセス権を削除します。In the Azure portal, first remove the identity's access to your target resource. 次に、システム割り当て ID をオフにするか、ユーザー割り当て ID を ロジック アプリから削除します。Next, turn off the system-assigned identity or remove the user-assigned identity from your logic app.

リソースから ID のアクセス権を削除するRemove identity access from resources

  1. Azure portal で、マネージド ID のアクセス権を削除するターゲット Azure リソースに移動します。In the Azure portal, go to the target Azure resource where you want to remove access for the managed identity.

  2. ターゲット リソースのメニューから [アクセス制御 (IAM)] を選択します。From the target resource's menu, select Access control (IAM). ツール バーで、 [ロールの割り当て] を選択します。Under the toolbar, select Role assignments.

  3. ロールの一覧で、削除するマネージド ID を選択します。In the roles list, select the managed identities that you want to remove. ツール バーの [削除] を選択します。On the toolbar, select Remove.

    ヒント

    [削除] オプションが無効になっている場合は、ご自分にアクセス許可がない可能性があります。If the Remove option is disabled, you most likely don't have permissions. リソースのロールを管理するためのアクセス許可の詳細については、「Azure Active Directory での管理者ロールのアクセス許可」をご覧ください。For more information about the permissions that let you manage roles for resources, see Administrator role permissions in Azure Active Directory.

マネージド ID が削除され、ターゲット リソースにアクセスできなくなりました。The managed identity is now removed and no longer has access to the target resource.

ロジック アプリのマネージド ID を無効にするDisable managed identity on logic app

  1. Azure Portal のロジック アプリ デザイナーでロジック アプリを開きます。In the Azure portal, open your logic app in Logic App Designer.

  2. ロジック アプリのメニューの [設定] で、 [ID] を選択してから、お使いの ID の手順に従います。On the logic app menu, under Settings, select Identity, and then follow the steps for your identity:

    • [システム割り当て済み] > [オン] > [保存] を選択します。Select System assigned > On > Save. 確認を求めるメッセージが表示されたら、 [はい] を選択します。When Azure prompts you to confirm, select Yes.

      システム割り当て ID を無効にする

    • [ユーザー割り当て済み] とマネージド ID を選択し、 [削除] を選択します。Select User assigned and the managed identity, and then select Remove. 確認を求めるメッセージが表示されたら、 [はい] を選択します。When Azure prompts you to confirm, select Yes.

      ユーザー割り当て ID の削除

これで、マネージド ID がロジック アプリで無効になりました。The managed identity is now disabled on your logic app.

Resource Manager テンプレートでマネージド ID を無効にするDisable managed identity in Azure Resource Manager template

Azure Resource Manager テンプレートを使用してロジック アプリのマネージド ID を作成した場合は、identity オブジェクトの type 子プロパティを None に設定します。If you created the logic app's managed identity by using an Azure Resource Manager template, set the identity object's type child property to None. システムマネージド ID の場合、この操作により、プリンシパル ID も Azure AD から削除されます。For the system-managed identity, this action also deletes the principal ID from Azure AD.

"identity": {
   "type": "None"
}

次のステップNext steps