次の方法で共有


言語リソースのマネージド ID

Azure リソースのマネージド ID は、Microsoft Entra ID と、Azure 管理対象リソースに対する特定のアクセス許可を作成するサービス プリンシパルです。 マネージド ID は、ストレージ データへのアクセスを許可し、ソースとターゲットのコンテナー URL に Shared Access Signature トークン (SAS) を含めるという要件を置き換えるためのより安全な方法です。

Screenshot of managed identity flow (RBAC).

  • マネージド ID を使用すると、独自のアプリケーションを含む、Microsoft Entra 認証をサポートする任意のリソースへのアクセス権を付与できます。

  • Azure リソースにアクセス権を付与するには、Azure ロールベースのアクセス制御 (Azure RBAC) を使用して、マネージド ID に Azure ロールを割り当てます。

  • Azure でマネージド ID を使用するために追加コストはかかりません。

重要

  • マネージド ID を使用する場合、HTTP 要求に SAS トークン URL を含めないでください。要求は失敗します。 マネージド ID を使用すると、Shared Access Signature Token トークン (SAS) をソースとターゲットのコンテナー URL に含めるという要件が置き換えられます。

  • 言語操作にマネージド ID を使用するには、米国東部などの特定の地理的 Azure リージョンに言語リソースを作成する必要があります。 言語リソース リージョンがグローバルに設定されている場合、マネージド ID 認証を使用できません。 ただし、引き続き Shared Access Signature トークン (SAS) を使用できます。

前提条件

作業を開始するには、次のリソースが必要です。

  • アクティブな Azure アカウント。 アカウントがない場合は、無料アカウントを作成できます。

  • リージョンの場所に作成された単一サービスの Azure AI Language リソース。

  • Azure portal で使用する Azure ロールベースのアクセス制御 (Azure RBAC) の概要の理解。

  • 言語リソースと同じリージョンにある Azure BLOB Storage アカウント。 また、ストレージ アカウント内に BLOB データを格納して整理するためのコンテナーを作成する必要があります。

  • ストレージ アカウントがファイアウォールの内側にある場合、次の構成を有効にする必要があります

    1. Azure portal に移動し、ご自分の Azure アカウントにサインインします。

    2. ストレージ アカウントを選択します。

    3. 左側のペインの [セキュリティとネットワーク] グループで、[ネットワーク] を選択します。

    4. [ファイアウォールと仮想ネットワーク] タブで、[選択した仮想ネットワークと IP アドレスから有効] を選択します。

      Screenshot that shows the elected networks radio button selected.

    5. すべてのチェック ボックスの選択を解除します。

    6. [Microsoft ネットワーク ルーティング] が選択されていることを確認します。

    7. [リソース インスタンス] セクションで、リソースの種類として Microsoft.CognitiveServices/accounts を選択し、インスタンス名としてご使用の言語リソースを選択します。

    8. [信頼されたサービスの一覧にある Azure サービスがこのストレージ アカウントにアクセスすることを許可します] ボックスがオンになっていることを確認します。 例外の管理に関する詳細については、「Azure Storage ファイアウォールおよび仮想ネットワークを構成する」を参照してください。

      Screenshot that shows the allow trusted services checkbox in the Azure portal.

    9. [保存] を選択します。

      Note

      ネットワークの変更が反映されるまでに最大 5 分かかる場合があります。

    ネットワーク アクセスは許可されていますが、言語リソースはまだストレージ アカウントのデータにアクセスできません。 言語リソースのマネージド ID を作成し、特定のアクセス ロールを割り当てる必要があります。

マネージド ID の割り当て

マネージド ID には、システム割り当てユーザー割り当ての 2 種類があります。 現在、ドキュメント翻訳では、システム割り当てマネージド ID がサポートされています。

  • システム割り当てマネージド ID は、サービス インスタンス上で直接有効化されます。 既定では有効になっていないため、リソースにアクセスして、ID 設定を更新する必要があります。

  • システム割り当てマネージド ID は、ライフサイクル全体を通してリソースに関連付けされます。 リソースを削除すると、マネージド ID も削除されます。

以下の手順では、システム割り当てマネージド ID を有効にし、言語リソースに Azure Blob Storage アカウントへの制限付きアクセスを許可します。

システム割り当てマネージド ID を有効にする

言語リソースには、BLOB の作成、読み取り、削除を行えるように、あらかじめストレージ アカウントへのアクセスを許可しておく必要があります。 システム割り当てマネージド ID のある言語リソースを有効にしたら、Azure ロールベースのアクセス制御 (Azure RBAC) を使用して、ご利用の Azure ストレージ コンテナーへのアクセス権を言語機能に付与できます。

  1. Azure portal に移動し、ご自分の Azure アカウントにサインインします。

  2. 言語リソースを選びます。

  3. 左側のペインの [リソース管理] グループで、[ID] を選択します。 リソースがグローバル リージョンに作成された場合、[ID] タブは表示されません。 認証には、引き続き Shared Access Signature トークン (SAS) を使用できます。

  4. [システム割り当て済み] タブで、[状態] トグルをオンにします。

    Screenshot that shows the resource management identity tab in the Azure portal.

    重要

    ユーザー割り当てマネージド ID は、バッチ処理ストレージ アカウント シナリオの要件を満たしません。 必ずシステム割り当てマネージド ID を有効にするようにしてください。

  5. [保存] を選択します。

言語リソースにストレージ アカウントへのアクセスを許可する

重要

システム割り当てマネージド ID ロールを割り当てるには、ストレージ リソースのストレージ スコープで、所有者ユーザー アクセス管理者などの Microsoft.Authorization/roleAssignments/write アクセス許可が必要です。

  1. Azure portal に移動し、ご自分の Azure アカウントにサインインします。

  2. 言語リソースを選びます。

  3. 左側のペインの [リソース管理] グループで、[ID] を選択します。

  4. [アクセス許可] で、 [Azure ロールの割り当て] を選択します。

    Screenshot that shows the enable system-assigned managed identity in Azure portal.

  5. 開いた [Azure ロールの割り当て] ページで、ドロップダウン メニューからサブスクリプションを選択し、[+ ロールの割り当ての追加] を選択します。

    Screenshot that shows the Azure role assignments page in the Azure portal.

  6. 次に、言語サービス リソースにストレージ BLOB データ共同作成者ロールを割り当てます。 ストレージ BLOB データ共同作成者ロールにより、(システム割り当てマネージド ID で表される) 言語に、BLOB コンテナーとデータへの読み取り、書き込み、削除アクセス権が付与されます。 [ロールの割り当ての追加] ポップアップ ウィンドウで、以下のようにフィールドに入力して、 [保存] を選択します。

    フィールド
    スコープ Storage
    サブスクリプション ストレージ リソース に関連付けられているサブスクリプション
    リソース ストレージ リソースの名前
    ロール ストレージ BLOB データ共同作成者

    Screenshot that shows the role assignments page in the Azure portal.

  7. [ロールの割り当てが追加されました] 確認メッセージが表示されたら、ページを更新して追加されたロールの割り当てを確認します。

    Screenshot that shows the added role assignment confirmation pop-up message.

  8. 新しいロールの割り当てがすぐに表示されない場合は、もう一度ページを更新してみてください。 ロールを割り当てたり、ロールの割り当てを削除したりした場合、変更が適用されるまでに最大 30 分かかることがあります。

HTTP 要求

  • ネイティブ ドキュメント言語サービス操作要求は、POST 要求を介して言語サービス エンドポイントに送信されます。

  • マネージド ID と Azure RBAC を使用すると、SAS URL を含める必要はなくなります。

  • 成功した場合、POST メソッドから 202 Accepted 応答コードが返され、サービスによって要求が作成されます。

  • 処理されたドキュメントがターゲット コンテナーに表示されます。

次のステップ