Recommender を Google SecOps と統合する
統合バージョン: 7.0
このドキュメントでは、Recommender を Google Security Operations と統合する方法について説明します。
始める前に
Google SecOps プラットフォームで Recommender 統合を構成する前に、次のことを確認してください。
カスタム Identity and Access Management ロール: プロジェクトまたは組織全体で推奨事項を表示および更新するために必要な特定の権限を含むロール。
認証方法: 推奨の Workload Identity(キーレス)方式またはサービス アカウントの JSON キーを選択します。
API サービスルート: Recommender API と Cloud Resource Manager API のエンドポイントへのアクセス。
カスタム IAM ロールの権限
Google Cloud コンソールでカスタムロールを作成し、統合が正しく機能するために必要な権限を割り当てます。
Google Cloud コンソールで、[IAM と管理] > [ロール] ページに移動します。
[ロールを作成] をクリックします。
ロールのタイトル、説明、一意の ID を入力します。
[ロールのリリース段階] を
General Availabilityに設定します。[権限を追加] をクリックし、以下を追加します。
Recommender API:
recommender.iamPolicyInsights.getrecommender.iamPolicyInsights.listrecommender.iamPolicyRecommendations.getrecommender.iamPolicyRecommendations.listrecommender.iamPolicyRecommendations.update
Cloud Resource Manager API:
resourcemanager.projects.getresourcemanager.projects.listresourcemanager.projects.getIamPolicyresourcemanager.projects.setIamPolicy
位置情報へのアクセス:
recommender.locations.getrecommender.locations.list
その他のリソースへのアクセス:
resourcemanager.folders.getresourcemanager.folders.getIamPolicyresourcemanager.folders.setIamPolicyresourcemanager.organizations.getresourcemanager.organizations.getIamPolicyresourcemanager.organizations.setIamPolicy
[作成] をクリックします。
認証構成
Google SecOps は 2 つの認証パスをサポートしています。次のいずれかの方法を構成します。
オプション 1: Workload Identity(推奨): この方法は、長期間有効な JSON キーの管理とローテーションの必要性を排除することで、優れたセキュリティ体制を実現するため、推奨されます。
オプション 2: サービス アカウントの JSON キー: 認証に標準の JSON キーファイルを使用します。この方法は、Workload Identity が環境で使用できない場合にのみ使用してください。
Workload Identity を使用して認証する(推奨)
この方法では、サービス アカウントの権限借用を使用して、プラットフォームがリソースに安全にアクセスできるようにします。
ターゲット サービス アカウントを作成します。
統合が Google Cloud リソースにアクセスできるようにするには、プロジェクトに専用のサービス アカウントを作成し、必要な権限を割り当てる必要があります。
- Google Cloud コンソールで、[IAM と管理>サービス アカウント] に移動します。
- [サービス アカウントを作成] をクリックします。
- 名前と ID を指定して、[作成して続行] をクリックします。
- [このサービス アカウントにプロジェクトへのアクセスを許可する] で、前のセクションで作成したカスタム IAM ロールを選択します。
- [完了] をクリックします。
- サービス アカウントのメールアドレスをコピーします。
Google SecOps インスタンスの ID を特定します。
安全な権限借用を有効にするには、まず、特定の Google SecOps インスタンスで使用される一意のサービス アカウント ID を特定する必要があります。
- Google SecOps で、[コンテンツ ハブ] > [レスポンス統合] に移動します。
- Recommender 統合を検索して選択します。
- 移行先のサービス アカウントのメールアドレスを
Workload Identity Emailに貼り付けます。 - [保存]、[テスト] の順にクリックします。テストは失敗することが想定されます。
- [テスト] の右にある close_small をクリックし、エラー メッセージで
gke-init-python@またはsoar-python@で始まるメールアドレスを検索します。この固有のメールアドレスをコピーします。
権限借用権を付与します。
最後のステップは、インスタンス ID にターゲット サービス アカウントとして動作する権限を付与することです。これにより、静的キーファイルを使用せずにアクションを実行できます。
- Google Cloud コンソールの [IAM と管理> サービス アカウント] に戻ります。
- 作成したターゲット サービス アカウントの名前を選択します。
- [権限] タブに移動し、[アクセス権を付与] をクリックします。
- [新しいプリンシパル] フィールドに、メールアドレスを貼り付けます。
- [ロールを選択] フィールドで、[サービス アカウント トークン作成者](
roles/iam.serviceAccountTokenCreator)を選択します。 - [保存] をクリックします。接続テストが成功するまでに、この権限が反映されるまでに数分かかることがあります。
サービス アカウントの JSON キーを使用して認証する
この方法は、Workload Identity が環境で使用できない場合にのみ使用してください。
サービス アカウントの作成:
鍵ベースの認証を使用するには、まずGoogle Cloud プロジェクトにサービス アカウントを作成して、統合の ID として機能させる必要があります。
- Google Cloud コンソールで、[IAM と管理] > [サービス アカウント] に移動します。
- [サービス アカウントを作成] をクリックします。
- 名前と ID を指定して、[作成して続行] をクリックします。
- [このサービス アカウントにプロジェクトへのアクセスを許可する] で、作成したカスタム IAM ロールを選択します。
- [完了] をクリックします。
JSON キーを生成して保存します。
サービス アカウントを作成したら、Google SecOps のログインに必要な認証情報を含む非公開 JSON キーファイルを生成する必要があります。
- [IAM と管理> サービス アカウント] で、作成したサービス アカウントを選択します。
- [キー] タブに移動します。
- [鍵を追加] > [新しい鍵を作成] の順にクリックします。
- キーのタイプとして [
JSON] を選択し、[作成] をクリックします。JSON ファイルがパソコンにダウンロードされます。 - このファイルの内容全体をコピーし、統合構成時に
User's Service Accountに貼り付けます。
統合のパラメータ
Recommender の統合には、次のパラメータが必要です。
| パラメータ | 説明 |
|---|---|
API Root |
必須。 Recommender サービスの API ルート。 デフォルト値は |
Resource Manager API Root |
必須。 プロジェクトと組織のリソースの管理に使用される Resource Manager サービスの API ルート。 デフォルト値は |
Organization ID |
省略可。 統合で使用する Google Cloud 組織の固有識別子。 |
Project ID |
省略可。 推奨事項の取得に使用する Google Cloud プロジェクト ID。 |
Quota Project ID |
省略可。 課金と割り当てに使用されるプロジェクト ID。 値が指定されていない場合は、サービス アカウントの認証情報に関連付けられたプロジェクトが使用されます。 |
Workload Identity Email |
省略可。 Workload Identity の権限借用に使用されるサービス アカウントのクライアント メールアドレス。 |
User's Service Account |
省略可。 サービス アカウントの JSON キーファイルの完全な内容。 |
Verify SSL |
省略可。 選択すると、統合によって Recommender サーバーへの接続時に SSL 証明書が検証されます。 デフォルトで有効になっています。 |
Google SecOps で統合を構成する手順については、統合を構成するをご覧ください。
必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できるようになります。複数のインスタンスの構成とサポートの方法については、複数のインスタンスのサポートをご覧ください。
操作
IAM の推奨事項を適用する
指定された入力に基づいて IAM の推奨事項を適用します。
このアクションは google.iam.policy.Recommender の推奨事項でのみ機能します。
エンティティ
このアクションはエンティティに対しては実行されません。
アクション入力
アクションを構成するには、次のパラメータを使用します。
| パラメータ | |
|---|---|
IAM Recommendations JSON |
必須。 推奨事項の JSON 結果。 JSON 結果は、推奨事項を一覧表示アクションまたは推奨事項を取得アクションからプレースホルダとして指定できます。 |
アクションの出力
| アクションの出力タイプ | |
|---|---|
| ケースウォールのアタッチメント | なし |
| ケースのウォールのリンク | なし |
| ケースウォール テーブル | なし |
| 拡充テーブル | なし |
| エンティティのインサイト | なし |
| インサイト | なし |
| JSON の結果 | 利用可能 |
| OOTB ウィジェット | なし |
| スクリプトの結果 | 利用可能 |
スクリプトの結果
| スクリプトの結果名 | 値 |
|---|---|
| is_success | True/False |
JSON の結果
{
"applied_recommendations": [
{
"name": "projects/PROJECT_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/217d3019-bae5-4a52-9968-787fdd546a53",
"description": "Replace the current role with a smaller role to cover the permissions needed.",
"lastRefreshTime": "2023-07-28T07:00:00Z",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 610
}
}
},
"content": {
"operationGroups": [
{
"operations": [
{
"action": "add",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"path": "/iamPolicy/bindings/*/members/-",
"value": "USER_ID@example.com",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/compute.instanceAdmin"
}
},
{
"action": "remove",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "USER_ID@example.com",
"/iamPolicy/bindings/*/role": "roles/compute.admin"
}
}
]
}
],
"overview": {
"resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"member": "user:USER_ID@example.com",
"removedRole": "roles/compute.admin",
"addedRoles": [
"roles/compute.instanceAdmin"
],
"minimumObservationPeriodInDays": "0"
}
},
"stateInfo": {
"state": "SUCCEEDED",
"stateMetadata": {
"applied_by": "bulk_apply_by_automated_script-2023-08-11"
}
},
"etag": "\"892d57ee41baa03e\"",
"recommenderSubtype": "REPLACE_ROLE",
"associatedInsights": [
{
"insight": "projects/PROJECT_ID/locations/global/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID"
}
],
"priority": "P4"
},
{
"name": "projects/PROJECT_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID",
"description": "Replace the current role with a smaller role to cover the permissions needed.",
"lastRefreshTime": "2023-07-28T07:00:00Z",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 19
}
}
},
"content": {
"operationGroups": [
{
"operations": [
{
"action": "add",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"path": "/iamPolicy/bindings/*/members/-",
"value": "user:USER_ID@example.com",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/storage.objectAdmin"
}
},
{
"action": "remove",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:USER_ID@example.com",
"/iamPolicy/bindings/*/role": "roles/storage.admin"
}
}
]
}
],
"overview": {
"resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"member": "user:USER_ID@example.com",
"removedRole": "roles/storage.admin",
"addedRoles": [
"roles/storage.objectAdmin"
],
"minimumObservationPeriodInDays": "0"
}
},
"stateInfo": {
"state": "SUCCEEDED",
"stateMetadata": {
"applied_by": "bulk_apply_by_automated_script-2023-08-11"
}
},
"etag": "\"af7635ffeb512998\"",
"recommenderSubtype": "REPLACE_ROLE",
"associatedInsights": [
{
"insight": "projects/PROJECT_ID/locations/global/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID"
}
],
"priority": "P4"
}
],
"failed_recommendations": []
}
ケースウォール
このアクションでは、次の出力メッセージが表示されます。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully applied provided IAM recommendations. |
アクションが成功しました。 |
Successfully applied provided IAM recommendation, but some of the
recommendations were not applied. |
アクションが成功しました。 |
No provided IAM recommendations were applied. |
最適化案を適用できませんでした。 |
Error executing action ACTION_NAME. |
アクションがエラーを返しました。 |
推奨事項を取得する
Recommender サービスから特定の推奨事項を取得します。
エンティティ
このアクションはエンティティに対しては実行されません。
アクション入力
アクションを構成するには、次のパラメータを使用します。
| パラメータ | |
|---|---|
Recommendation name |
必須。 返す推奨事項の名前を指定します。 このアクションは、カンマ区切りの文字列として複数の値を受け入れます。 期待される入力の例:
projects/projectname/locations/global/recommenders/google.iam.policy.Recommender/recommendations/0f262740-bf4a-4c3d-9573-0da3345cf3f7
|
アクションの出力
| アクションの出力タイプ | |
|---|---|
| ケースウォールのアタッチメント | なし |
| ケースのウォールのリンク | なし |
| ケースウォール テーブル | なし |
| 拡充テーブル | なし |
| エンティティのインサイト | なし |
| インサイト | なし |
| JSON の結果 | 利用可能 |
| OOTB ウィジェット | なし |
| スクリプトの結果 | 利用可能 |
スクリプトの結果
| スクリプトの結果名 | 値 |
|---|---|
| is_success | True/False |
JSON の結果
[
{
"name": "name",
"description": "This role has not been used during the observation window.",
"lastRefreshTime": "2023-07-28T07:00:00Z",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 68
}
}
},
"content": {
"operationGroups": [
{
"operations": [
{
"action": "remove",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "serviceAccount:SERVICE_ACCOUNT_ID.iam.gserviceaccount.com",
"/iamPolicy/bindings/*/role": "roles/monitoring.admin"
}
}
]
}
],
"overview": {
"resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"member": "serviceAccount:SERVICE_ACCOUNT_ID.iam.gserviceaccount.com",
"removedRole": "roles/monitoring.admin",
"minimumObservationPeriodInDays": "0"
}
},
"stateInfo": {
"state": "ACTIVE"
},
"etag": "",
"recommenderSubtype": "REMOVE_ROLE",
"associatedInsights": [
{
"insight": "projects/PROJECT_ID/locations/global/insightTypes/google.iam.policy.Insight/insights/"
}
],
"priority": "P4"
}
]
ケースウォール
このアクションでは、次の出力メッセージが表示されます。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully found recommendation in the Google Cloud Recommender
service. |
アクションが成功しました。 |
No recommendations were found in the Google Cloud Recommender
service.
|
データを利用できません。 |
Error executing action ACTION_NAME。 |
アクションがエラーを返しました。 |
推奨事項の一覧表示
Recommender サービスで使用可能な推奨事項を一覧表示します。
エンティティ
このアクションはエンティティに対しては実行されません。
アクション入力
アクションを構成するには、次のパラメータを使用します。
| パラメータ | |
|---|---|
Recommendation Filter |
省略可。 推奨事項を取得するフィルタを指定します。 パラメータは、次のいずれかの形式の文字列にする必要があります。
値が指定されていない場合、アクションは構成されたサービス アカウントからプロジェクト ID を取得します。 |
Recommendation Location |
必須。 最適化案を取得する Google Cloud ロケーションを指定します。 デフォルトは、 |
Recommendation State |
省略可。 返す推奨事項の状態を指定します。 デフォルトは、 次の値があります。
|
Recommendation Priority |
省略可。 返す推奨事項の優先度を指定します。複数の値は、カンマ区切りの文字列として指定できます。 |
Recommender Subtype |
省略可。 返される Recommender サブタイプを指定します。 デフォルトは、 次の値があります。
|
Max Records To Return |
省略可。 返すレコードの数を指定します。値が指定されていない場合、アクションはデフォルトで 50 件のレコードを返します。 |
アクションの出力
| アクションの出力タイプ | |
|---|---|
| ケースウォールのアタッチメント | なし |
| ケースのウォールのリンク | なし |
| ケースウォール テーブル | 利用可能 |
| 拡充テーブル | なし |
| エンティティのインサイト | なし |
| インサイト | なし |
| JSON の結果 | 利用可能 |
| OOTB ウィジェット | なし |
| スクリプトの結果 | 利用可能 |
スクリプトの結果
| スクリプトの結果名 | 値 |
|---|---|
| is_success | True/False |
JSON の結果
[
{
"name": "name",
"description": "This role has not been used during the observation window.",
"lastRefreshTime": "2023-07-27T07:00:00Z",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 68
}
}
},
"content": {
"operationGroups": [
{
"operations": [
{
"action": "remove",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "serviceAccount:SERVICE_ACCOUNT_ID",
"/iamPolicy/bindings/*/role": "roles/monitoring.admin"
}
}
]
}
],
"overview": {
"resource": "//cloudresourcemanager.googleapis.com/",
"member": "serviceAccount:SERVICE_ACCOUNT_ID",
"removedRole": "roles/monitoring.admin",
"minimumObservationPeriodInDays": "0"
}
},
"stateInfo": {
"state": "ACTIVE"
},
"etag": "",
"recommenderSubtype": "REMOVE_ROLE",
"associatedInsights": [
{
"insight": "projects/i/locations/global/insightTypes/"
}
],
"priority": "P4"
},
{
"name": "name",
"description": "This role has not been used during the observation window.",
"lastRefreshTime": "2023-07-27T07:00:00Z",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 5
}
}
},
"content": {
"operationGroups": [
{
"operations": [
{
"action": "remove",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:USER_ID@example.com",
"/iamPolicy/bindings/*/role": "roles/chroniclesm.admin"
}
}
]
}
],
"overview": {
"resource": "//cloudresourcemanager.googleapis.com/projects",
"member": "user:USER_ID@example.com",
"removedRole": "roles/chroniclesm.admin",
"minimumObservationPeriodInDays": "0"
}
},
"stateInfo": {
"state": "ACTIVE"
},
"etag": "",
"recommenderSubtype": "REMOVE_ROLE",
"associatedInsights": [
{
"insight": "projects"
}
],
"priority": "P4"
}
]
ケースウォール
このアクションでは、次の出力メッセージが表示されます。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully found recommendations for the provided criteria in
the Google Cloud Recommender service. |
アクションが成功しました。 |
No recommendations were found for the provided criteria in the
Google Cloud Recommender service. |
データはありません。 |
Error executing action ACTION_NAME. |
アクションがエラーを返しました。 |
このアクションでは、次のケースウォール テーブルが提供されます。
| 利用可能な最適化案 | |
|---|---|
| 列 |
|
Ping
[Google SecOps Marketplace] タブの統合構成ページで提供されるパラメータを使用して、Recommender サービスへの接続性をテストします。
エンティティ
このアクションはエンティティに対しては実行されません。
アクション入力
なし
アクションの出力
| アクションの出力タイプ | |
|---|---|
| ケースウォールのアタッチメント | なし |
| ケースのウォールのリンク | なし |
| ケースウォール テーブル | なし |
| 拡充テーブル | なし |
| エンティティのインサイト | なし |
| インサイト | なし |
| JSON の結果 | なし |
| OOTB ウィジェット | なし |
| スクリプトの結果 | 利用可能 |
スクリプトの結果
| スクリプトの結果名 | 値 |
|---|---|
| is_success | True/False |
ケースウォール
このアクションでは、次の出力メッセージが表示されます。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully connected to the Google Cloud Recommender service
with the provided connection parameters! |
アクションが成功しました。 |
Failed to connect to the Google Cloud Recommender service!
|
アクションがエラーを返しました。 |
最適化案を更新する
Recommender サービスで推奨事項を更新します。
エンティティ
このアクションはエンティティに対しては実行されません。
アクション入力
次のパラメータを使用してアクションを構成します。
| パラメータ | |
|---|---|
Recommendation name |
必須。 更新する推奨事項の名前を指定します。 このアクションは、カンマ区切りの文字列として複数の値を受け入れます。 想定される入力の例:
|
Recommendation State |
省略可。 推奨事項の変更先の状態を指定します。 デフォルトは、 次の値があります。
|
Recommendation Result |
省略可。 変更するレコメンデーションの結果を指定します。 デフォルトは、 次の値があります。
|
アクションの出力
| アクションの出力タイプ | |
|---|---|
| ケースウォールのアタッチメント | なし |
| ケースのウォールのリンク | なし |
| ケースウォール テーブル | なし |
| 拡充テーブル | なし |
| エンティティのインサイト | なし |
| インサイト | なし |
| JSON の結果 | 利用可能 |
| OOTB ウィジェット | なし |
| スクリプトの結果 | 利用可能 |
スクリプトの結果
| スクリプトの結果名 | 値 |
|---|---|
| is_success | True/False |
JSON の結果
[
{
"name": "name",
"description": "This role has not been used during the observation window.",
"lastRefreshTime": "2023-07-28T07:00:00Z",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 68
}
}
},
"content": {
"operationGroups": [
{
"operations": [
{
"action": "remove",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "serviceAccount:SERVICE_ACCOUNT_ID.iam.gserviceaccount.com",
"/iamPolicy/bindings/*/role": "roles/monitoring.admin"
}
}
]
}
],
"overview": {
"resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"member": "serviceAccount:SERVICE_ACCOUNT_ID.iam.gserviceaccount.com",
"removedRole": "roles/monitoring.admin",
"minimumObservationPeriodInDays": "0"
}
},
"stateInfo": {
"state": "ACTIVE"
},
"etag": "",
"recommenderSubtype": "REMOVE_ROLE",
"associatedInsights": [
{
"insight": "projects/PROJECT_ID/locations/global/insightTypes/google.iam.policy.Insight/insights/"
}
],
"priority": "P4"
}
]
ケースウォール
このアクションでは、次の出力メッセージが表示されます。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully updated recommendation in the Google Cloud
Recommender service. |
アクションが成功しました。 |
No recommendations were found in the Google Cloud Recommender
service.
|
データを利用できません。 |
Error executing action ACTION_NAME。 |
アクションがエラーを返しました。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。