この記事では、ネットワーク セキュリティ境界の診断ログと、ログ記録を有効にする方法について学習します。 使用されるアクセス ログ カテゴリについて学習します。 その後、診断ログを格納するためのオプションと、Azure portal を介してログ記録を有効にする方法を確認します。
重要
ネットワーク セキュリティ境界は、すべての Azure パブリック クラウド リージョンで一般提供されるようになりました。 サポートされているサービスの詳細については、サポートされている PaaS サービスの オンボードされたプライベート リンク リソース に関するページを参照してください。"
アクセス ログのカテゴリ
ネットワーク セキュリティ境界のアクセス ログ カテゴリは、アクセス規則評価の結果に基づいています。 診断設定で選択されたログ カテゴリは、お客様が選択したストレージの場所に送信されます。 適用可能なモードを含む各アクセス ログ カテゴリの説明を以下に示します。
| ログのカテゴリ | 説明 | モードに適用可能 |
|---|---|---|
| NspPublicInboundPerimeterRulesAllowed(Nspパブリックインバウンド境界ルール許可) | 受信アクセスは、ネットワーク セキュリティ境界アクセス規則に基づいて許可されます。 | 移行/強制 |
| NspPublicInboundPerimeterRulesDenied | ネットワークセキュリティの境界によって外部からのアクセスが拒否されました。 | 強制 |
| NspPublicOutboundPerimeterRulesAllowed | 送信アクセスは、ネットワーク セキュリティ境界アクセス規則に基づいて許可されます。 | 移行/強制 |
| NspPublicOutboundPerimeterRulesDenied | ネットワークセキュリティ境界によって外部への公開アクセスが拒否されました。 | 強制 |
| NspOutboundAttempt | ネットワーク セキュリティ境界内の送信試行。 | 移行/強制 |
| NspIntraPerimeterInboundAllowed | 境界内の受信アクセスが許可されています。 | 移行/強制 |
| NspPublicInboundResourceRulesAllowed | ネットワーク セキュリティ境界規則で拒否されると、PaaS リソース規則に基づいて受信アクセスが許可されます。 | Transition |
| NSPパブリックインバウンドリソースルール拒否 | ネットワーク セキュリティ境界規則で拒否されると、PaaS リソース規則で受信アクセスが拒否されます。 | Transition |
| NspPublicOutboundResourceRulesAllowed | ネットワーク セキュリティ境界規則で拒否されると、PaaS リソース規則に基づいて送信アクセスが許可されます。 | Transition |
| NspPublicOutboundResourceRulesDenied | ネットワーク セキュリティ境界規則で拒否されると、PaaS リソース規則で送信アクセスが拒否されます。 | Transition |
| NspPrivateInboundAllowed | プライベート エンドポイント トラフィックは許可されます。 | 移行/強制 |
注意
ネットワーク セキュリティ境界で使用できるアクセス モードは、遷移と強制です。 遷移モードは、以前は学習モードという名前でした。 場合によっては、引き続き 学習モードへの参照が表示されることがあります。
アクセス ログ スキーマ
ネットワーク セキュリティ境界に関連付けられているすべての PaaS リソースは、有効にすると統合ログ スキーマを含むアクセス ログを生成します。
注意
ネットワーク セキュリティ境界アクセス ログが集計されている可能性があります。 フィールド 'count' と 'timeGeneratedEndTime' が見つからない場合は、集計カウントを 1 と見なします。
| 価値 | 説明 |
|---|---|
| 時間 | ログ集計ウィンドウの最初のイベントのタイムスタンプ (UTC)。 |
| timeGeneratedEndTime | ログ集計ウィンドウの最後のイベントのタイムスタンプ (UTC)。 |
| 数える | 集計されたログの数。 |
| resourceId | ネットワーク セキュリティ境界のリソース ID。 |
| 場所 | ネットワーク セキュリティ境界のリージョン。 |
| operationName | このイベントによって表される PaaS リソース操作の名前。 |
| オペレーションバージョン | 操作に関連付けられている API バージョン。 |
| カテゴリー | Access ログに対して定義されているログ カテゴリ。 |
| プロパティ | このカテゴリのイベントに関連するネットワーク セキュリティ境界固有の拡張プロパティ。 |
| 結果の説明 | PaaS リソースに対するこの操作の静的テキストの説明 (例: "ストレージ ファイルの取得")。 |
ネットワーク セキュリティ境界固有のプロパティ
このセクションでは、ログ スキーマのネットワーク セキュリティ境界固有のプロパティについて説明します。
注意
プロパティの適用には、ログ カテゴリの種類が適用されます。 適用性については、それぞれのログ カテゴリ スキーマを参照してください。
| 価値 | 説明 |
|---|---|
| serviceResourceId | ネットワーク セキュリティ境界アクセス ログを出力する PaaS リソースのリソース ID。 |
| serviceFqdn | ネットワーク セキュリティ境界アクセス ログを出力する PaaS リソースの完全修飾ドメイン名。 |
| プロフィール | リソースに関連付けられているネットワーク セキュリティ境界プロファイルの名前。 |
| パラメーター | JSON 文字列形式のオプションの PaaS リソース プロパティの一覧。 例: { {Param1}: {value1}, {Param2}: {value2}, ...}. |
| appId | Azure Active Directory 内のリソースのアプリ ID を表す一意の GUID。 |
| matchedRule | 一致した accessRule 名 {"accessRule" : "{ruleName}"} を含む JSON プロパティ バッグ。 ネットワーク セキュリティ境界アクセス規則名またはリソース 規則名 (ArmId ではなく) のいずれかを指定できます。 |
| source | 受信接続のソースを記述する JSON プロパティ バッグ。 |
| 行き先 | 送信接続の宛先を記述する JSON プロパティ バッグ。 |
| accessRulesVersion | リソースのアクセス規則バージョンを含む JSON プロパティ バッグ。 |
ソースのプロパティ
受信接続のソースを記述するプロパティ。
| 価値 | 説明 |
|---|---|
| resourceId | 受信接続のソース PaaS リソースのリソース ID。 該当する場合は存在します。 |
| ipAddress | 受信接続を行う送信元の IP アドレス。 該当する場合は存在します。 |
| ポート | 受信接続のポート番号。 リソースの種類によっては存在しない場合があります。 |
| 議定書 | {AppProtocol}:{TptProtocol} 形式の受信接続用のアプリケーションおよびトランスポート層プロトコル。 たとえば、HTTPS:TCP などです。 リソースの種類によっては存在しない場合があります。 |
| perimeterGuids | ソース リソースの境界 GUID の一覧。 これは、境界 GUID に基づいて許可されている場合にのみ指定する必要があります。 |
| appId | Azure Active Directory のソースのアプリ ID を表す一意の GUID。 |
| パラメーター | JSON 文字列形式の省略可能なソース プロパティの一覧。 例: { {Param1}: {value1}, {Param2}: {value2}, ...}. |
宛先のプロパティ
送信接続の宛先を記述するプロパティ。
| 価値 | 説明 |
|---|---|
| resourceId | 送信接続の宛先 PaaS リソースのリソース ID。 該当する場合は存在します。 |
| fullyQualifiedDomainName | 宛先の完全修飾ドメイン (FQDN) 名。 |
| パラメーター | JSON 文字列形式の省略可能な変換先プロパティの一覧。 例: { {Param1}: {value1}, {Param2}: {value2}, ...}. |
| ポート | 送信接続のポート番号。 リソースの種類によっては存在しない場合があります。 |
| 議定書 | {AppProtocol}:{TptProtocol} 形式の送信接続用のアプリケーションおよびトランスポート層プロトコル。 たとえば、HTTPS:TCP などです。 リソースの種類によっては存在しない場合があります。 |
受信カテゴリのサンプル ログ エントリ
{
"time" : "{timestamp}",
"timeGeneratedEndTime" : "{timestamp}",
"count" : "{countOfAggregatedLogs}",
"resourceId" : "/SUBSCRIPTIONS/{subsId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYPERIMETERS/{perimeterName}",
"operationName" : "{PaaSOperationName}" ,
"operationVersion" : "{api-version}",
"category" : "{inboundCategory}",
"location" : "{networksecurityperimeterRegion}",
"properties" : {
"serviceResourceId" : "/subscriptions/{paasSubsId}/resourceGroups/{paasResourceGroupName}/providers/{provider}/{resourceType}/{resourceName}",
"serviceFqdn": "{PaaSResourceFQDN}",
"accessRulesVersion" : "{accessRulesVersion}",
"profile" : "{networksecurityperimeterProfileName}",
"appId" : "{resourceAppId}",
"parameters" : "{ {ParameterType1}: {value1}, {ParameterType2}: {value2}, ...}", // Parsable JSON
"matchedRule" : {
"accessRule" : "{matchedRuleName}",
},
"source" : {
"resourceId" : "/subscriptions/{sourceSubscriptionId}/resourceGroups/{sourceResourceGroupName}/providers/{sourceProvider}/{sourceResourceType}/{sourceResourceName}",
"ipAddress": "{sourceIPAddress}",
"perimeterGuids" : ["{sourcePerimeterGuid}"], // Only included if request comes from perimeter
"appId" : "{sourceAppId}",
"port" : "{Port}",
"protocol" : "{Protocol}",
"parameters" : "{ {ParameterType1}: {value1}, {ParameterType2}: {value2}, ...}", // Parsable JSON
},
},
"resultDescription" : "The static text description of this operation on the PaaS resource. For example, \"Get storage file.\""
}
送信カテゴリのサンプル ログ エントリ
{
"time" : "{timestamp}",
"timeGeneratedEndTime" : "{timestamp}",
"count" : "{countOfAggregatedLogs}",
"resourceId" : "/SUBSCRIPTIONS/{subsId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYPERIMETERS/{perimeterName}",
"operationName" : "{PaaSOperationName}" ,
"operationVersion" : "{api-version}",
"category" : "{outboundCategory}",
"location" : "{networksecurityperimeterRegion}",
"properties" : {
"serviceResourceId" : "/subscriptions/{paasSubsId}/resourceGroups/{paasResourceGroupName}/providers/{provider}/{resourceType}/{resourceName}",
"serviceFqdn": "{PaaSResourceFQDN}",
"accessRulesVersion" : "{accessRulesVersion}",
"profile" : "{networksecurityperimeterProfileName}",
"appId" : "{resourceAppId}",
"parameters" : "{{ParameterType1}: {value1}, {ParameterType2}: {value2}, ...}", // Parsable JSON
"matchedRule" : {
"accessRule" : "{matchedRuleName}",
},
"destination" : {
"resourceId" : "/subscriptions/{destSubsId}/resourceGroups/{destResourceGroupName}/providers/{destProvider}/{destResourceType}/{destResourceName}",
"fullyQualifiedDomainName" : "{destFQDN}",
"appId" : "{destAppId}",
"port" : "{Port}",
"protocol" : "{Protocol}",
"parameters" : "{ {ParameterType1}: {value1}, {ParameterType2}: {value2}, ...}", // Parsable JSON
},
},
"resultDescription" : "The static text description of this operation on the PaaS resource. For example, \"Get storage file.\""
}
アクセス ログのログ出力先オプション
ネットワーク セキュリティ境界の診断ログを格納する宛先には、Log Analytic ワークスペース (テーブル名: NSPAccessLogs)、Azure Storage アカウント、Azure Event Hubs などのサービスが含まれます。 サポートされている宛先の完全なリストと詳細については、診断ログのサポートされている宛先に関するページを参照してください。
Azure portal を使用したログの有効化
ネットワーク セキュリティ境界の診断ログは、Azure portal の [診断設定] を使って有効にすることができます。 診断設定を追加するときに、収集するログ カテゴリと、ログを配信する宛先を選ぶことができます。
注意
ネットワーク セキュリティ境界で Azure Monitor を使用する場合、ネットワーク セキュリティ境界に関連付ける Log Analytics ワークスペースは、Azure Monitor でサポートされているリージョンのいずれかに配置する必要があります。
警告
PaaS リソース ログの適切なフローを確保するには、ログの宛先が PaaS リソースと同じネットワーク セキュリティ境界内にある必要があります。 オンボードされたプライベート リンク リソースの一覧に含まれていないリソースの診断設定を構成または既に構成すると、それらのリソースのログ フローが停止します。