マネージド ID は、Microsoft Entra ID で自動的にマネージド ID を提供することで、Azure サービスへのセキュリティで保護された資格情報のないアクセスを可能にします。 これらの ID は、コードで資格情報を管理しなくても、Microsoft Entra 認証をサポートするサービスに対する認証に使用できます。 詳細については、「 Azure リソースのマネージド ID」を参照してください。
仮想ネットワーク フロー ログでは、 ユーザー割り当てマネージド ID を使用 して、フロー ログが格納されているストレージ アカウントに対して安全に認証できます。 この方法では、スクリプトまたは構成ファイルに資格情報を埋め込む必要がなくなり、資格情報漏えいのリスクが軽減され、運用管理が簡素化されます。
仮想ネットワーク フロー ログでマネージド ID を使用する利点
仮想ネットワーク フロー ログでマネージド ID を使用すると、いくつかの利点があります。
- 管理者は、ロールベースのアクセス制御 (RBAC) を使用して、ストレージ アカウントへのアクセスを安全に許可できます。
- ID 管理は、Microsoft Entra ID を通じて一元化されます。
- 複数の仮想ネットワーク間でフロー ログが有効になっている大規模な環境で役立ちます。
トラフィック分析との統合
Traffic Analytics では、資格情報を管理しなくても、Log Analytics ワークスペースへのフロー ログの安全な取り込みを有効にすることで、ユーザー割り当てマネージド ID のメリットが得られます。 この方法の特徴は次のとおりです。
- 自動デプロイのアクセス制御を効率化します。
- ゼロ トラストの原則に準拠します。
- 全体的なセキュリティ体制を強化します。
[前提条件]
フロー ログが有効になっている仮想ネットワーク。 詳細については、「 仮想ネットワーク フロー ログの作成」を参照してください。
Azure ストレージ アカウント。 詳しくは、「ストレージ アカウントの作成」をご覧ください。
トラフィック分析用の Log Analytics ワークスペース。 詳細については、「Log Analytics ワークスペースを作成する」を参照してください。
ユーザーによって割り当てられた管理済みID。 詳細については、「ユーザー割り当てマネージド ID を作成する」を参照してください。
マネージド ID に割り当てられたストレージ BLOB データ共同作成者ロール。 詳細については、「 リソースへのマネージド ID アクセスを許可する」を参照してください。
Azure Cloud Shell または Azure PowerShell。
この記事の手順では、Azure Cloud Shell で Azure PowerShell コマンドレットを対話型で実行します。 Cloud Shell でコマンドレットを実行するには、コード ブロックの右上隅にある [Cloud Shell を開く ] を選択します。 [コピー] を選択してコードをコピーし、Cloud Shell に貼り付けて実行します。 Azure portal 内から Cloud Shell を実行することもできます。
Azure PowerShell をローカルにインストールしてコマンドレットを実行することもできます。 PowerShell をローカルで実行している場合は、Connect-AzAccount コマンドレットを使用して Azure にサインインします。
仮想ネットワーク フロー ログでユーザー割り当てマネージド ID を使用する
ユーザー割り当てマネージド ID を使用して新しい仮想ネットワーク フロー ログを作成するには、パラメーター と共に -UserAssignedIdentityId コマンドレットを使用します。
New-AzNetworkWatcherFlowLog -Enabled $true -Name <FLOW LOG NAME> -NetworkWatcherName NetworkWatcher_{REGION} -ResourceGroupName NetworkWatcherRG -StorageId <STORAGE ID> -TargetResourceId <VNET ID> -UserAssignedIdentityId <USER ASSIGNED MANAGED IDENTITY ID>
ユーザー割り当てマネージド ID を既存の仮想ネットワーク フロー ログに関連付けるか関連付け解除するには、パラメーター と-UserAssignedIdentityId コマンドレットを使用します。
# Associate a user-assigned managed identity to an existing flow log
Set-AzNetworkWatcherFlowLog -Enabled $true -Name <FLOW LOG NAME> -NetworkWatcherName NetworkWatcher_<REGION> -ResourceGroupName NetworkWatcherRG -StorageId <STORAGE ID> -TargetResourceId <VNET ID> -UserAssignedIdentityId <USER ASSIGNED MANAGED IDENTITY ID>
# Dissociate a user-assigned managed identity from an existing flow log
Set-AzNetworkWatcherFlowLog -Enabled $true -Name <FLOW LOG NAME> -NetworkWatcherName NetworkWatcher_<REGION> -ResourceGroupName NetworkWatcherRG -StorageId <STORAGE ID> -TargetResourceId <VNET ID> -UserAssignedIdentityId {None}