適用対象: ✔️ Front Door Standard ✔️ Front Door Premium
Microsoft Entra ID によって提供されるマネージド ID を使用すると、Azure Front Door Standard/Premium インスタンスは、資格情報を管理することなく、Azure Blob Storage などの他の Microsoft Entra で保護されたリソースに安全にアクセスできます。 詳細については、「 Azure リソースのマネージド ID とは」を参照してください。
Azure Front Door のマネージド ID を有効にし、マネージド ID に配信元に必要なアクセス許可を付与すると、Front Door はマネージド ID を使用して、指定されたリソースにアクセスするためのアクセス トークンを Microsoft Entra ID から取得します。 トークンが正常に取得されると、Front Door はベアラー スキームを使用して Authorization ヘッダー内のトークンの値を設定し、要求を配信元に転送します。 Front Door は、有効期限が切れるまでトークンをキャッシュします。
Note
この機能は現在、Front Door で Private Link が有効になっているオリジンではサポートされていません。
Azure Front Door では、次の 2 種類のマネージド ID がサポートされています:
- システム割り当て ID: この ID はサービスに関連付けられ、サービスが削除されると削除されます。 それぞれのサービスで、システム割り当て ID を 1 つだけ設定できます。
- ユーザー割り当て ID: これは、サービスに割り当てることができるスタンドアロンの Azure リソースです。 それぞれのサービスで、複数のユーザー割り当て ID を設定できます。
マネージド ID は、Azure サブスクリプションがホストされている Microsoft Entra テナントに固有です。 サブスクリプションが別のディレクトリに移動された場合は、ID を再作成して再構成する必要があります。
Prerequisites
アクティブなサブスクリプションを持つ Azure アカウント。 無料でアカウントを作成できます。
Azure Front Door Standard または Premium プロファイル。 新しいプロファイルを作成するには、「Azure Front Door を作成する」を参照してください。
マネージド ID の有効化
既存の Azure Front Door プロファイルに移動します。 左側のメニューの [セキュリティ] で [ID] を選択します。
システム割り当てマネージド ID またはユーザー割り当てマネージド ID のいずれかを選択します。
システム割り当て - Azure Front Door プロファイルライフサイクルに関連付けられたマネージド ID。
ユーザー割り当て - 独自のライフサイクルを持つスタンドアロンマネージド ID リソース。
システム割り当て済み
[状態] を [オン] に切り替え、[保存] を選択します。
プロンプトが表示されたら、[ はい ] を選択して、Front Door プロファイルのシステム マネージド ID の作成を確認します。
ユーザー割り当て済み
ユーザー割り当てマネージド ID を使用するには、既に作成してある必要があります。 新しい ID を作成する手順については、「ユーザー割り当てマネージド ID の作成」を参照してください。
[ ユーザー割り当て ] タブで、[ + 追加 ] を選択して、ユーザー割り当てマネージド ID を追加します。
ユーザー割り当てマネージド ID を検索して選択します。 次に、[ 追加] を選択して Azure Front Door プロファイルにアタッチします。
選択したユーザー割り当てマネージド ID の名前が Azure Front Door プロファイルに表示されます。
ID を配信元グループに関連付ける
Note
この関連付けは、以下の場合にのみ機能します。
- 配信元グループに、プライベート リンクが有効になっている配信元が含まれていない。
- 配信元グループ設定で、正常性プローブ プロトコルが [HTTPS] に設定されている。
- ルート設定で、転送プロトコルが [HTTPS のみ] に設定されている。
- ルール セットで、'ルート構成のオーバーライド' アクションを使用する場合の転送プロトコルが [HTTPS のみ] に設定されている。
既存の Azure Front Door プロファイルに移動し、配信元グループを開きます。
配信元が既に構成されている既存の配信元グループを選択します。
[ 認証 ] セクションまで下にスクロールします。
配信元認証を有効にします。
システム割り当てマネージド ID またはユーザー割り当てマネージド ID を選択します。
[ スコープ ] フィールドに正しい スコープ を入力します。
[更新] をクリックします。
オリジンリソースへのアクセス提供
- 配信元リソースの管理ページに移動します。 たとえば、配信元が Azure Blob Storage の場合は、そのストレージ アカウント管理ページに移動します。
Note
次の手順では、配信元が Azure Blob Storage であることを前提としています。 別のリソースの種類を使用している場合は、ロールの割り当て時に適切な ジョブ機能ロール を選択してください。 それ以外の場合、ほとんどのリソースの種類に関する手順は同じです。
-
[アクセス制御 (IAM)] セクションに移動し、[追加] をクリックします。 ドロップダウン メニューから [ ロールの割り当ての追加] を選択します。
-
[ロール] タブの [職務権限] で、一覧から適切なロール (例: ストレージ BLOB データ閲覧者) を選択し、[次へ] を選択します。
Important
マネージド ID を含む任意の ID にサービスへのアクセス許可を付与する場合は、必要なアクションを実行するために必要な最小限のアクセス許可を常に付与します。 たとえば、マネージド ID を使用してストレージ アカウントからデータを読み取る場合、その ID アクセス許可がストレージ アカウントにデータを書き込むのを許可する必要はありません。 追加のアクセス許可を付与する (たとえば、マネージド ID を必要でないときにストレージ アカウントの共同作成者にする) と、書き込み操作と削除操作が可能な AFD 経由で要求を行うことができます。
- [ メンバー ] タブの [ アクセスの割り当て] で、[ マネージド ID ] を選択し、[ メンバーの選択] をクリックします。
- [ マネージド ID の選択] ウィンドウが開きます。 Front Door が配置されているサブスクリプションを選択し、[ マネージド ID ] ドロップダウンで [ Front Door と CDN プロファイル] を選択します。 [ 選択 ] ドロップダウンで、Front Door 用に作成されたマネージド ID を選択します。 下部にある [選択 ] ボタンをクリックします。
- [ 確認して割り当てる ] を選択し、検証が完了した後に [ 確認と割り当て ] をもう一度選択します。
配信元認証を使用するときのヒント
- 配信元グループの構成時にエラーが発生する場合は、以下の手順を実行します。
- 正常性プローブ プロトコルが HTTPS に設定されていることを確認します。
- ルート設定、ルート構成オーバーライド設定 (ルール セット内、どちらか一方または両方) で、転送プロトコルが [HTTPS のみ] に設定されていることを確認します。
- 配信元グループ内にプライベート リンクが有効な配信元がないことを確認します。
- 配信元からの応答に "アクセスが拒否されました" が含まれている場合は、配信元リソースにアクセスするための適切なロールがマネージド ID に割り当てられていることを確認します。
- ストレージの SAS トークンからの移行: SAS トークンからマネージド ID に移行する場合は、ダウンタイムを回避するための段階的なアプローチに従ってください。 マネージド ID を有効にし、配信元に関連付け、SAS トークンの使用を停止します。
- 配信元グループ設定で配信元認証を有効にした後は、Front Door ポータルの ID 設定から ID を直接無効化または削除したり、マネージド ID ポータルでユーザー割り当てマネージド ID を直接削除したりしないでください。 これを行うと、オリジン認証がすぐに失敗するようになります。 配信元認証機能の使用を停止したい場合や、ID を削除または無効化したい場合は、まず、配信元リソースの [アクセス制御 (IAM)] セクションでアクセス制限を無効化して、マネージド ID や Entra ID トークンなしで配信元にアクセスできるようにします。 その後、Front Door 配信元グループ設定で配信元認証を無効にします。 構成が更新されるまでしばらく待ってから、必要に応じて ID を削除または無効化にします。
- クライアントが Authorization ヘッダーの下で既に独自のトークンを送信している場合、トークン値は AFD によって配信元認証トークンで上書きされます。 AFD でクライアント トークンを配信元に送信する場合は、サーバー変数 {http_req_header_Authorization} を使用して別のヘッダーの下にトークンを送信するように AFD ルールを構成できます。
- 配信元認証と AFD から Azure Key Vault への認証には、異なるマネージド ID を使用することをお勧めします。
- マネージド ID を使用する際のベスト プラクティスについては、 マネージド ID のベスト プラクティスに関する推奨事項を参照してください。
- Azure ストレージ アカウントに RBAC ロールを割り当てる際のベスト プラクティスについては、「BLOB データにアクセスするための Azure ロールの割り当て」を参照してください