Azure Policy を使用して Azure Web PubSub サービス リソースのコンプライアンスを監査する

Azure Policy は、規則と効果を適用するポリシーを作成、割り当て、管理する Azure の無料サービスであり、リソースが企業の標準やサービス レベル アグリーメントに準拠した状態を確実に維持できます。 これらのポリシーを使って、Web PubSub リソースのコンプライアンスを監査します。

この記事では、Azure Web PubSub Service の組み込みポリシーについて説明します。

組み込みのポリシー定義

次の表は、Azure Web PubSub の Azure Policy 組み込みポリシー定義のインデックスを示しています。 他のサービス用の Azure Policy 組み込みについては、Azure Policy 組み込み定義に関する記事を参照してください。

各組み込みポリシー定義の名前は、Azure portal のポリシー定義にリンクしています。 [バージョン] 列のリンクを使うと、Azure Policy GitHub リポジトリのソースを確認できます。

名前
(Azure portal)
説明 効果 Version
(GitHub)
Azure Web PubSub サービスではパブリック ネットワーク アクセスを無効にする必要がある パブリック ネットワーク アクセスを無効にすると、Azure Web PubSub サービスがパブリック インターネットに公開されなくなるため、セキュリティが向上します。 プライベート エンドポイントを作成すると、Azure Web PubSub サービスの公開を制限できます。 詳細については、https://aka.ms/awps/networkacls を参照してください。 Audit、Deny、Disabled 1.0.0
Azure Web PubSub サービスで診断ログを有効にする必要がある 診断ログが有効になっていることを監査します。 これにより、セキュリティ インシデントが発生した場合やお使いのネットワークが侵害された場合に、調査目的で使用するアクティビティ証跡を再作成できます AuditIfNotExists、Disabled 1.0.0
Azure Web PubSub サービスではローカルの認証方法を無効にする必要がある ローカルの認証方法を無効にすると、Azure Web PubSub サービスで Azure Active Directory ID のみを認証に使用できるようになるため、セキュリティが向上します。 Audit、Deny、Disabled 1.0.0
Azure Web PubSub サービスでは、プライベート リンクをサポートする SKU を使用する必要がある サポートされる SKU を使用すると、Azure Private Link により、接続元または接続先でパブリック IP アドレスを使用せずに、仮想ネットワークを Azure サービスに接続できます。 Private Link プラットフォームでは、Azure のバックボーン ネットワークを介してコンシューマーとサービスの間の接続が処理されます。 プライベート エンドポイントを Azure Web PubSub サービスにマッピングすると、データ漏えいのリスクを軽減できます。 プライベート リンクの詳細については、https://aka.ms/awps/privatelink を参照してください。 Audit、Deny、Disabled 1.0.0
Azure Web PubSub サービスではプライベート リンクを使用する必要がある Azure Private Link を使用すると、接続元または接続先にパブリック IP アドレスを使用せずに、仮想ネットワークを Azure サービスに接続できます。 プライベート リンク プラットフォームでは、Azure のバックボーン ネットワークを介してコンシューマーとサービスの間の接続が処理されます。 プライベート エンドポイントを Azure Web PubSub サービスにマッピングすると、データ漏えいのリスクを軽減できます。 プライベート リンクの詳細については、https://aka.ms/awps/privatelink を参照してください。 Audit、Disabled 1.0.0
ローカル認証を無効にするように Azure Web PubSub サービスを構成する ローカルの認証方法を無効にして、Azure Web PubSub サービスで Azure Active Directory ID のみを認証に使用できるようにします。 Modify、Disabled 1.0.0
パブリック ネットワーク アクセスを無効にするように Azure Web PubSub サービスを構成する Azure Web PubSub リソースのパブリック ネットワーク アクセスを無効にして、パブリック インターネット経由でアクセスできないようにします。 これにより、データ漏えいのリスクを軽減することができます。 詳細については、https://aka.ms/awps/networkacls を参照してください。 Modify、Disabled 1.0.0
プライベート DNS ゾーンを使用するように Azure Web PubSub サービスを構成する プライベート DNS ゾーンを使用して、プライベート エンドポイントの DNS 解決をオーバーライドします。 プライベート DNS ゾーンは、仮想ネットワークにリンクされ、Azure Web PubSub サービスに解決されます。 詳細については、https://aka.ms/awps/privatelink を参照してください。 DeployIfNotExists、Disabled 1.0.0
プライベート エンドポイントを使用して Azure Web PubSub サービスを構成する プライベート エンドポイントを使用すると、接続元または接続先にパブリック IP アドレスを使用せずに、仮想ネットワークを Azure サービスに接続できます。 プライベート エンドポイントを Azure Web PubSub サービスにマッピングすると、データ漏えいのリスクを軽減できます。 プライベート リンクの詳細については、https://aka.ms/awps/privatelink を参照してください。 DeployIfNotExists、Disabled 1.0.0

ポリシー定義を割り当てる

ポリシー定義を割り当てる場合:

  • Azure portalAzure CLIResource Manager テンプレート、または Azure Policy SDK を使ってポリシー定義を割り当てることができます。
  • ポリシーの割り当ては、リソース グループ、サブスクリプション、または Azure 管理グループにスコープを設定できます。
  • ポリシー適用の有効と無効はいつでも切り替えられます。
  • Web PubSub ポリシーの割り当ては、スコープ内の既存および新規の Web PubSub リソースに適用されます。

Note

ポリシーを割り当てるか、更新した後、定義されている範囲内のリソースに割り当てが適用されるまで少し時間がかかります。 詳細は、ポリシー評価トリガーを参照してください。

ポリシーのコンプライアンスを確認する

Azure portal、Azure コマンドライン ツール、または Azure Policy SDK を使用し、ポリシー割り当てによって生成されたコンプライアンス情報にアクセスします。 詳細については、「Azure リソースのコンプライアンス データを取得する」を参照してください。

リソースのコンプライアンス違反には多くの理由が考えられます。 理由や原因となった変更を特定する方法については、「コンプライアンス違反の原因の特定」をご覧ください。

ポータルのポリシー コンプライアンス:

  1. Azure portal を開き、[ポリシー] を探します。
  2. [ポリシー] を選びます。
  3. [コンプライアンス] を選択します。
  4. [スコープ][種類]、または [コンプライアンスの状態] 別に表示するには、フィルターを使います。 名前または ID による検索リストを使います。 Screenshot showing policy compliance in portal.
  5. ポリシーを選択し、集約コンプライアンスの詳細とイベントを確認します。
  6. リソース コンプライアンスに対して特定の Web PubSub を選びます。

Azure CLI のポリシー コンプライアンス

Azure CLI を使ってコンプライアンス データを取得できます。 az policy assignment list コマンドを使い、適用されている Azure Web PubSub Service ポリシーのポリシー ID を取得します。

az policy assignment list --query "[?contains(displayName,'Web PubSub')].{name:displayName, ID:id}" --output table

出力例:

Name                                                                                   ID
-------------------------------------------------------------------------------------  --------------------------------------------------------------------------------------------------------------------------------
[Preview]: Azure Web PubSub Service should use private links  /subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Authorization/policyAssignments/<assignmentId>

特定のリソース グループの下にあるリソースすべてのコンプライアンスの状態を JSON 形式で返すには、az policy state list コマンドを実行します。

az policy state list --g <resourceGroup>

特定の Web PubSub リソースのコンプライアンスの状態を JSON 形式で返すには、az policy state list コマンドを実行します。

az policy state list \
 --resource /subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.SignalRService/WebPubSub/<resourceName> \
 --namespace Microsoft.SignalRService \
 --resource-group <resourceGroup>

次のステップ