Private Link を使用して Azure Digital Twins へのプライベート アクセスを有効にする
Azure Digital Twins を Azure Private Link と共に使用することで、Azure Digital Twins インスタンスのプライベート エンドポイントを有効にして、パブリック露出を排除し、仮想ネットワーク内のクライアントが Private Link 経由でインスタンスに安全にアクセスできるようにします。 Azure Digital Twins のこのセキュリティ戦略の詳細については、「Azure Digital Twins インスタンスのプライベート エンドポイントを使用した Private Link」を参照してください。
この記事では、次の手順を説明します。
- Private Link を有効にし、Azure Digital Twins インスタンス用のプライベート エンドポイントを構成します。
- Azure Digital Twins インスタンスのプライベート エンドポイントを表示、編集、または削除します。
- パブリック ネットワーク アクセス フラグを無効または有効にして、Private Link 接続のみに Azure Digital Twins の API アクセスを制限します。
この記事では、ARM テンプレートを使用して Private Link で Azure Digital Twins をデプロイし、構成のトラブルシューティングを行う方法についても説明します。
前提条件
プライベート エンドポイントをセットアップする前に、エンドポイントをデプロイできる Azure Virtual Network (VNet) が必要です。 VNet がまだない場合は、Azure Virtual Network のいずれかのクイックスタートに従って、これを設定できます。
Azure Digital Twins にプライベート エンドポイントを追加する
Azure portal または Azure CLI を使用して、Azure Digital Twins インスタンス用のプライベート エンドポイントを含む Private Link を有効にすることができます。
インスタンスの初期セットアップの一部として Private Link を設定する場合は、Azure portal を使用する必要があります。 それ以外の場合は、作成後のインスタンスで Private Link を有効にする場合は、Azure portal または Azure CLI を使用できます。 どちらの作成方法でも、構成オプションと、インスタンスに対する結果は同じです。
以下のセクションのタブを使用して、好みのエクスペリエンスの手順を選択してください。
ヒント
また、Azure Digital Twins インスタンスを使用するのではなく、Private Link サービスを使用して Private Link エンドポイントを設定することもできます。 その場合も、構成オプションと最終的な結果は同じです。
Private Link リソースの設定の詳細については、Azure portal、Azure CLI、Azure Resource Manager、または PowerShell の Private Link に関するドキュメントを参照してください。
インスタンスの作成時にプライベート エンドポイントを追加する
このセクションでは、Azure Digital Twins のインスタンスの初期セットアップの一部として、Private Link を使用するプライベート エンドポイントを作成します。 この作業は、Azure portal でのみ行うことができます。
このセクションでは、Azure portal で Azure Digital Twins のインスタンスを設定する間に、Private Link を有効にする方法について説明します。
Private Link のオプションは、インスタンスのセットアップの [ネットワーク] タブにあります。
Azure portal で Azure Digital Twins のインスタンスのセットアップを始めます。 手順については、インスタンスと認証の設定に関する記事を参照してください。
インスタンスのセットアップで [ネットワーク] タブまで来たら、 [接続方法] の [プライベート エンドポイント] オプションを選択することにより、プライベート エンドポイントを有効にできます。
これにより、追加される [プライベート エンドポイント接続] というセクションで、プライベート エンドポイントの詳細を構成できます。
** [+ 追加]** ボタンをクリックして続けます。[プライベート エンドポイントの作成] ページが表示されたら、新しいプライベート エンドポイントの詳細を入力します。
** [サブスクリプション]** と** [リソース グループ]** の選択を入力します。 [場所] を、使用する VNet と同じ場所に設定します。 エンドポイントの [名前] を選択し、 [Target sub-resources](ターゲット サブリソース) で [API] を選択します。次に、エンドポイントのデプロイに使用する [仮想ネットワーク] と [サブネット] を選択します。
最後に、 [プライベート DNS ゾーンと統合する] かどうかを選択します。 既定の [はい] をそのまま使用できます。または、このオプションの詳細については、ポータルのリンクに従って、プライベート DNS 統合の詳細を確認してください。
構成オプションを設定した後、 [OK] を選択して完了します。
このプロセスが完了すると、ポータルは Azure Digital Twins のインスタンスのセットアップの [ネットワーク] タブに戻ります。 新しいエンドポイントが [プライベート エンドポイントの接続] に表示されていることを確認します。
下部にあるナビゲーション ボタンを使用して、インスタンスの残りのセットアップを続けることができます。
既存のインスタンスにプライベート エンドポイントを追加する
このセクションでは、既に存在する Azure Digital Twins インスタンスでプライベート エンドポイントを備えた Private Link を有効にします。
まず、ブラウザーで Azure portal に移動します。 ポータルの検索バーで名前を検索して、Azure Digital Twins のインスタンスを表示します。
左側のメニューで、[ネットワーク] を選択します。
** [プライベート エンドポイント接続]** タブに切り替えます。** [+ プライベート エンドポイント]** を選択して、** [プライベート エンドポイントの作成]** の設定を開きます。[基本] タブで、プロジェクトの [サブスクリプション] と [リソース グループ]、およびエンドポイントの [名前] と [リージョン] を入力または選択します。 リージョンは、使用している VNet のリージョンと同じにする必要があります。
操作が完了したら、[次へ: リソース ] ボタンを選択して、次のタブに進んでください。
[リソース] タブで、次の情報を入力または選択します。
- [接続方法] : [マイ ディレクトリ内の Azure リソースに接続します] を選択して、お使いの Azure Digital Twins インスタンスを検索します。
- サブスクリプション:お使いのサブスクリプションを入力します。
- [リソースの種類] :Microsoft.DigitalTwins/digitalTwinsInstances を選択します
- リソース:お使いの Azure Digital Twins インスタンスの名前を選択します。
- [Target sub-resources](ターゲット サブリソース) : [API] を選択します。
操作が完了したら、[次へ: 構成 ] ボタンを選択して、次のタブに進んでください。
[構成] タブで、次の情報を入力または選択します。
** 仮想ネットワーク** :仮想ネットワークを選択します。** サブネット** :仮想ネットワークからサブネットを選択します。** プライベート DNS ゾーンと統合する** :** [プライベート DNS ゾーンと統合する]** かどうかを選択します。 既定の [はい] をそのまま使用できます。または、このオプションの詳細については、ポータルのリンクに従って、プライベート DNS 統合の詳細を確認してください。** [はい]** を選択した場合は、既定の構成情報をそのまま使用できます。
終わったら、
** [確認および作成]** ボタンを選択して、セットアップを完了します。[確認および作成] タブで選択内容を確認し、[作成] ボタンを選択します。
エンドポイントのデプロイが完了すると、Azure Digital Twins インスタンス用のプライベート エンドポイント接続に表示されます。
プライベート エンドポイントを管理する
このセクションでは、作成した後でプライベート エンドポイントを表示、編集、削除する方法について説明します。
Azure Digital Twins インスタンス用のプライベート エンドポイントを作成したら、Azure Digital Twins インスタンスの [ネットワーク] タブでそれを表示できます。 このページには、そのインスタンスに関連付けられているすべてのプライベート エンドポイント接続が表示されます。
エンドポイントを選択して、詳細情報を表示したり、構成設定を変更したり、接続を削除したりします。
ヒント
エンドポイントは、Azure portal の Private Link センターから表示することもできます。
パブリック ネットワーク アクセス フラグを無効または有効にする
すべてのパブリック接続を拒否し、プライベート アクセス エンドポイント経由の接続のみを許可してネットワーク セキュリティを強化するように Azure Digital Twins インスタンスを構成できます。 この操作は、パブリック ネットワーク アクセス フラグで行います。
このポリシーを使用すると、API アクセスを Private Link 接続のみに制限することができます。 パブリック ネットワーク アクセス フラグが disabled
に設定されていると、パブリック クラウドから Azure Digital Twins インスタンスのデータ プレーンへのすべての REST API 呼び出しで、403, Unauthorized
が返されます。 それ以外の場合は、ポリシーが "disabled
" に設定されていて、要求がプライベート エンドポイントを通して行われた場合は、API 呼び出しは成功します。
ネットワーク フラグの値は、Azure portal、Azure CLI、または ARMClient コマンド ツールを使用して更新できます。
Azure portal でパブリック ネットワーク アクセスを無効または有効にするには、ポータルを開き、お使いの Azure Digital Twins インスタンスに移動します。
Resource Manager テンプレートを使用してデプロイする
ARM テンプレートを使用して、Azure Digital Twins との Private Link を設定することもできます。
Azure 関数を Private Link エンドポイントを介して Azure Digital Twins に接続できるようにするサンプル テンプレートについては、Azure 関数と Private Link を使用する Azure Digital Twins (ARM テンプレート) に関する記事を参照してください。
このテンプレートを使用して Azure Digital Twins インスタンス、仮想ネットワーク、仮想ネットワークに接続された Azure 関数、Private Link 接続を作成し、プライベート エンドポイントを介して Azure 関数から Azure Digital Twins インスタンスにアクセスできるようにします。
トラブルシューティング
Azure Digital Twins で Private Link を使用する場合に発生する可能性がある一般的な問題を次に示します。
問題: Azure Digital Twins API にアクセスしようとすると、応答本文に HTTP エラー コード 403 と次のエラーが示されます。
{ "statusCode": 403, "message": "Public network access disabled by policy." }
解決策: このエラーが発生するのは、Azure Digital Twins インスタンスで
publicNetworkAccess
が無効になっていて、API 要求が Private Link を介して送られると想定されているのに対し、呼び出しがパブリック ネットワークを介してルーティングされた (おそらく、仮想ネットワーク用に構成されたロード バランサー経由で) 場合です。 API クライアントが、エンドポイントのホスト名を使用して API にアクセスしようとしているときに、プライベート エンドポイントのプライベート IP を解決していることを確認します。サブネット内のプライベート エンドポイントのプライベート IP にホスト名を解決できるように、プライベート DNS ゾーンを構成できます。 プライベート DNS ゾーンが仮想ネットワークに正しくリンクされていること、および正しいゾーン名 (
privatelink.digitaltwins.azure.net
など) を使用していることを確認します。問題: プライベート エンドポイントを介して Azure Digital Twins にアクセスしようとすると、接続がタイムアウトになります。
解決策: クライアントがプライベート エンドポイントおよびそのサブネットと通信できないようにするネットワーク セキュリティ グループ規則が存在しないことを確認します。 クライアントのソース IP アドレス/サブネットとプライベート エンドポイントの宛先 IP アドレス/サブネットとの間の、TCP ポート 443 での通信を許可する必要があります。
Private Link のトラブルシューティングに関するその他の推奨事項については、「Azure プライベート エンドポイント接続に関する問題のトラブルシューティング」を参照してください。
次の手順
ARM テンプレートを使用して Private Link がある保護された環境を迅速にセットアップする: Azure 関数と Private Link を使用する Azure Digital Twins。
または、Azure での Private Link の詳細を学ぶ: Azure Private Link サービスとは