Google Cloud Armor
このドキュメントでは、Google Cloud Armor を Google Security Operations と構成して統合する際に役立つガイダンスを提供します。
前提条件
統合を構成する前に、前提条件の手順をすべて完了してください。
IAM ロールを作成して構成する
Google Cloud コンソールで、[IAM ロール] ページに移動します。
[ロールを作成] をクリックして、統合に必要な権限を持つカスタムロールを作成します。
新しいカスタムロールの場合は、タイトル、説明、一意の ID を指定します。
[ロールのリリース段階] を [一般提供] に設定します。
作成したロールに次の権限を付与します。
compute.backendBuckets.setSecurityPolicycompute.backendServices.setSecurityPolicycompute.regionBackendServices.setSecurityPolicycompute.regionSecurityPolicies.createcompute.regionSecurityPolicies.getcompute.regionSecurityPolicies.listcompute.regionSecurityPolicies.updatecompute.securityPolicies.createcompute.securityPolicies.getcompute.securityPolicies.listcompute.securityPolicies.update
[作成] をクリックします。
サービス アカウントを作成する
サービス アカウントを作成するには、サービス アカウントの作成の手順に沿って操作します。
サービス アカウントを作成したら、JSON ファイルとしてダウンロードします。統合パラメータを構成するときに、ダウンロードした JSON ファイルの内容を指定する必要があります。
サービス アカウントの JSON ファイルの内容ではなく、Workload Identity Federation for GKE のメールアドレスを使用するには、統合で使用するサービス アカウントに
Service Account Token Creatorロールを割り当てます。
Cloud Armor を Google SecOps と統合する
統合を構成するには、次のパラメータを使用します。
| パラメータ | |
|---|---|
API Root |
必須 Cloud Armor サービスの API ルート。 デフォルト値は |
Project ID |
Optional Cloud Armor の統合に使用するプロジェクト ID。値が指定されていない場合、プロジェクト ID は [User Service Account] パラメータで指定された JSON ファイルのコンテンツから抽出されます。 |
Workload Identity Email |
Optional サービス アカウントのクライアント メールアドレス。 このパラメータまたはユーザー サービス アカウント パラメータのいずれかを構成できます。 Workload Identity Federation for GKE のメールアドレスでサービス アカウントの権限を借用するには、サービス アカウントに「サービス アカウント トークン作成者」ロールを付与します。ワークロード ID とその使用方法の詳細については、ワークロードの ID をご覧ください。 |
User Service Account |
Optional Cloud Armor サービスに使用するサービス アカウントの JSON ファイルの内容。 サービス アカウントの JSON ファイルの内容をすべて提供します。 このパラメータまたは Workload Identity メール パラメータのいずれかを構成できます。 |
Verify SSL |
Optional 選択すると、Cloud Armor サービスへの接続用の SSL 証明書が有効かどうかが検証されます。 デフォルトで選択されています。 |
操作
一部のアクションでは入力パラメータは必要ありません。
セキュリティ ポリシーにルールを追加する
Cloud Armor サービスのセキュリティ ポリシーに新しいルールを追加します。
エンティティ
このアクションはエンティティでは実行されません。
アクション入力
アクションを構成するには、次のパラメータを使用します。
| パラメータ | |
|---|---|
Policy Name |
必須 新しいルールを追加するセキュリティ ポリシーの名前。 |
Region |
Optional ルールを追加するポリシーのリージョン。 値が指定されていない場合、ルールはグローバル レベルのセキュリティ ポリシーに追加されます。 |
Rule JSON |
必須 追加するルールの JSON 定義。 ポリシーにルールを追加する方法の詳細については、メソッド: securityPolicies.addRule をご覧ください。 |
アクションの出力
| アクションの出力タイプ | |
|---|---|
| ケースウォールのアタッチメント | なし |
| ケースのウォールのリンク | なし |
| ケースウォール テーブル | なし |
| 拡充テーブル | なし |
| JSON の結果 | 利用可能 |
| スクリプトの結果 | 利用可能 |
スクリプトの結果
| スクリプトの結果名 | 値 |
|---|---|
| is_success | 正誤問題 |
JSON の結果
{
"kind": "compute#securityPolicy",
"id": "ID",
"creationTimestamp": "2024-04-14T05:39:05.798-07:00",
"name": "example",
"description": "Test for integration",
"rules": [
{
"kind": "compute#securityPolicyRule",
"description": "test",
"priority": 100,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
},
{
"kind": "compute#securityPolicyRule",
"description": "Default rule, higher priority overrides it",
"priority": 2147483647,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
}
],
"fingerprint": "A3hq2ZQYxj8=",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
"type": "CLOUD_ARMOR",
"labelFingerprint": "42WmSpB8rSM=",
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
ケースウォール
このアクションでは、次の出力メッセージが表示されます。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully added a new rule to the security policy! |
アクションが成功しました。 |
Error executing action "Add a Rule to a Security Policy".
Reason: ERROR_REASON |
操作を実行できませんでした。 サーバーへの接続、入力パラメータ、認証情報、リージョン名、JSON ファイルの内容、またはポリシー名を確認します。 |
セキュリティ ポリシーを作成する
Cloud Armor サービスでセキュリティ ポリシーを作成します。
エンティティ
このアクションはエンティティでは実行されません。
アクション入力
アクションを構成するには、次のパラメータを使用します。
| パラメータ | |
|---|---|
Region |
Optional ポリシーを作成するリージョン。 値が指定されていない場合、グローバル レベルのセキュリティ ポリシーが作成されます。 |
Policy JSON |
必須 作成するポリシーの JSON 定義。 ポリシーの詳細については、REST リソース: securityPolicies をご覧ください。 |
アクションの出力
| アクションの出力タイプ | |
|---|---|
| ケースウォールのアタッチメント | なし |
| ケースのウォールのリンク | なし |
| ケースウォール テーブル | なし |
| 拡充テーブル | なし |
| JSON の結果 | 利用可能 |
| スクリプトの結果 | 利用可能 |
スクリプトの結果
| スクリプトの結果名 | 値 |
|---|---|
| is_success | 正誤問題 |
JSON の結果
{
"kind": "compute#securityPolicy",
"id": "ID",
"creationTimestamp": "2024-04-14T05:39:05.798-07:00",
"name": "example",
"description": "Test for integration",
"rules": [
{
"kind": "compute#securityPolicyRule",
"description": "test",
"priority": 100,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
},
{
"kind": "compute#securityPolicyRule",
"description": "Default rule, higher priority overrides it",
"priority": 2147483647,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
}
],
"fingerprint": "A3hq2ZQYxj8=",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
"type": "CLOUD_ARMOR",
"labelFingerprint": "42WmSpB8rSM=",
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
ケースウォール
このアクションでは、次の出力メッセージが表示されます。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully created a new security policy! |
アクションが成功しました。 |
Error executing action "Create a Security Policy". Reason:
ERROR_REASON |
操作を実行できませんでした。 サーバーへの接続、入力パラメータ、認証情報、リージョン名、JSON ファイルの内容を確認します。 |
Ping
統合構成ページで提供されるパラメータを使用して、Cloud Armor サービスへの接続性をテストします。
エンティティ
このアクションはエンティティでは実行されません。
アクション入力
なし
アクションの出力
| アクションの出力タイプ | |
|---|---|
| ケースウォールのアタッチメント | なし |
| ケースのウォールのリンク | なし |
| ケースウォール テーブル | なし |
| 拡充テーブル | なし |
| JSON の結果 | なし |
| スクリプトの結果 | 利用可能 |
スクリプトの結果
| スクリプトの結果名 | 値 |
|---|---|
| is_success | 正誤問題 |
ケースウォール
このアクションでは、次の出力メッセージが表示されます。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully connected to the Google Cloud Armor service with
the provided connection parameters! |
アクションが成功しました。 |
Failed to connect to the Google Cloud Armor service! Error is
ERROR_REASON |
操作を実行できませんでした。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
セキュリティ ポリシーを更新する
Cloud Armor サービスで既存のセキュリティ ポリシーを更新します。
この操作では、ポリシーのルールを更新できません。関連するポリシーにルールを追加するには、[セキュリティ ポリシーにルールを追加する] アクションを使用します。
エンティティ
このアクションはエンティティでは実行されません。
アクション入力
アクションを構成するには、次のパラメータを使用します。
| パラメータ | |
|---|---|
Policy Name |
必須 新しいルールを追加するセキュリティ ポリシーの名前。 |
Region |
Optional 更新されたポリシーのリージョン。 値が指定されていない場合は、グローバル レベルのセキュリティ ポリシーが作成されます。 |
Rule JSON |
必須 更新するポリシーの JSON 定義。 ポリシーの更新の詳細については、メソッド: securityPolicies.patch をご覧ください。 この操作ではルールを更新できません。ポリシーにルールを追加するには、[セキュリティ ポリシーにルールを追加する] アクションを使用します。 |
アクションの出力
| アクションの出力タイプ | |
|---|---|
| ケースウォールのアタッチメント | なし |
| ケースのウォールのリンク | なし |
| ケースウォール テーブル | なし |
| 拡充テーブル | なし |
| JSON の結果 | 利用可能 |
| スクリプトの結果 | 利用可能 |
スクリプトの結果
| スクリプトの結果名 | 値 |
|---|---|
| is_success | 正誤問題 |
JSON の結果
{
"kind": "compute#securityPolicy",
"id": "ID",
"creationTimestamp": "2024-04-14T05:39:05.798-07:00",
"name": "example",
"description": "Test for integration",
"rules": [
{
"kind": "compute#securityPolicyRule",
"description": "test",
"priority": 100,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
},
{
"kind": "compute#securityPolicyRule",
"description": "Default rule, higher priority overrides it",
"priority": 2147483647,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
}
],
"fingerprint": "A3hq2ZQYxj8=",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
"type": "CLOUD_ARMOR",
"labelFingerprint": "42WmSpB8rSM=",
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
ケースウォール
このアクションでは、次の出力メッセージが表示されます。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully added comment to the
identity protection detection with ID
DETECTION_ID in CrowdStrike |
アクションが成功しました。 |
Error executing action "Update a Security Policy". Reason:
ERROR_REASON |
操作を実行できませんでした。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。