Google Cloud Storage
このドキュメントでは、Cloud Storage を Google Security Operations の SOAR モジュールと統合する方法について説明します。
統合バージョン: 9.0
この統合では、1 つ以上のオープンソース コンポーネントを使用します。この統合のソースコードのコピーは、Cloud Storage バケットからダウンロードできます。
ユースケース
Google SecOps SOAR プラットフォームでは、Google Cloud Storage の統合により、次のユースケースが解決されます。
インシデントの証拠の保存: プレイブックは、ログやマルウェア サンプルなどのインシデント関連の証拠を Cloud Storage バケットに自動的に収集して保存し、証拠の保存のための改ざん防止リポジトリを提供できます。
脅威インテリジェンスの共有: セキュリティ チームは、Cloud Storage を使用して、悪意のある IP アドレスやドメインのリストなどの脅威インテリジェンス フィードを他のチームや組織と安全に共有できます。フィードを共有することで、脅威対策の連携と対応時間の短縮が可能になります。
マルウェア分析サンドボックスの統合: プレイブックは、インシデントからクラウドベースのマルウェア分析サンドボックスに不審なファイルを自動的に送信できます。分析結果を Cloud Storage に保存して、効率的でスケーラブルなマルウェア分析を行うことができます。
セキュリティ構成のバックアップ: Google SecOps の SOAR 機能を使用して、ファイアウォール ルールや侵入検知システムのシグネチャなどの重要なセキュリティ構成の定期的なバックアップを Cloud Storage に自動化します。バックアップを自動化すると、ビジネスの継続性が確保され、誤った変更や悪意のある変更が発生した場合に迅速な復元が可能になります。
フィッシング キャンペーンのアーティファクト ストレージ: Google SecOps の SOAR 機能を使用して、フィッシング キャンペーンの調査中にフィッシング メール、添付ファイル、その他のアーティファクトを Cloud Storage に保存します。アーティファクト ストレージを使用すると、潜在的な法的措置に備えて証拠の一元的な分析と保存を行うことができます。
始める前に
この統合を使用するには、 Google Cloud サービス アカウントが必要です。既存のサービス アカウントを使用することも、新しいサービス アカウントを作成することもできます。
サービス アカウントを作成する
サービス アカウントの作成については、サービス アカウントを作成するをご覧ください。
[このサービス アカウントにプロジェクトへのアクセスを許可する] で、サービス アカウントに次のロールを付与します。
Storage Admin
Google Cloudでワークロードを実行しない場合は、サービス アカウントの作成後に JSON でサービス アカウント キーを作成する必要があります。Workload Identity Federation for GKE のメールアドレスを使用しない場合は、統合パラメータを構成するときに、ダウンロードした JSON ファイルの内容を指定する必要があります。
セキュリティ上の理由から、サービス アカウントの JSON キーではなく、Workload Identity Federation for GKE のメールアドレスを使用することをおすすめします。ワークロード ID の詳細については、ワークロードの ID をご覧ください。
Cloud Storage を Google SecOps と統合する
統合には次のパラメータが必要です。
パラメータ | 説明 |
---|---|
Service Account |
Optional サービス アカウント キーの JSON ファイルの内容。 このパラメータまたは このパラメータを構成するには、サービス アカウントの作成時にダウンロードしたサービス アカウントの JSON ファイルの内容をすべて指定します。 |
Workload Identity Email |
Optional サービス アカウントのクライアント メールアドレス。 このパラメータまたは Workload Identity Federation for GKE のメールアドレスでサービス アカウントを偽装するには、サービス アカウントに |
Project ID |
Optional Cloud Storage の統合に使用するプロジェクト ID。このパラメータに値を設定しない場合、プロジェクト ID は |
Quota Project ID |
Optional Google Cloud API と課金に使用する Google Cloud プロジェクト ID。このパラメータを使用するには、サービス アカウントに このパラメータに値を設定しない場合、プロジェクト ID は |
Google SecOps で統合を構成する手順については、統合を構成するをご覧ください。
必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できるようになります。複数のインスタンスの構成とサポートの詳細については、複数のインスタンスのサポートをご覧ください。
操作
アクセス制御リスト(ACL)を操作するアクションでは、バケットと個々のオブジェクトの両方に対してアクセス権を指定して適用できます。詳細については、アクセス制御リスト(ACL)をご覧ください。
バケットからオブジェクトをダウンロードする
このアクションを使用すると、Cloud Storage バケットから特定のオブジェクト(ファイル)をダウンロードできます。
このアクションはエンティティに対しては実行されません。
アクション入力
[Download an Object From a Bucket] アクションには、次のパラメータが必要です。
パラメータ | 説明 |
---|---|
Bucket Name |
必須 ダウンロードするオブジェクトを含む Cloud Storage バケットの名前。 |
Object Name |
必須 ダウンロードするオブジェクトのフルネーム。 オブジェクトがバケット内のフォルダにある場合は、 |
Download Path |
必須 ダウンロードしたオブジェクトの絶対パス。既存のディレクトリを指します(例: |
アクションの出力
[バケットからオブジェクトをダウンロードする] アクションは、次の出力を提供します。
アクションの出力タイプ | 対象 |
---|---|
ケースウォールのアタッチメント | 利用不可 |
ケースウォールのリンク | 利用不可 |
ケースウォール テーブル | 利用不可 |
拡充テーブル | 利用不可 |
JSON の結果 | 利用可能 |
出力メッセージ | 利用可能 |
スクリプトの結果 | 利用可能 |
JSON の結果
次の例は、[Download an Object From a Bucket] アクションを使用した場合に受信する JSON 結果の出力を示しています。
{
"object_name": "123.txt"
"download_path": "/usr/bin/share/download.txt"
}
出力メッセージ
ケースウォールで、[バケットからオブジェクトをダウンロードする] アクションは次の出力メッセージを提供します。
出力メッセージ | メッセージの説明 |
---|---|
|
アクションが成功しました。 |
Error executing action "Download an Object From a Bucket".
Reason: ERROR_REASON |
操作を実行できませんでした。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、バケットからオブジェクトをダウンロードするアクションを使用した場合のスクリプト結果出力の値を示します。
スクリプトの結果名 | 値 |
---|---|
is_success |
True または False |
バケットのアクセス制御リストを取得する
[Get a Bucket's Access Control List] アクションを使用して、指定した Cloud Storage バケットの ACL を取得して表示します。
このアクションはエンティティに対しては実行されません。
アクション入力
バケットのアクセス制御リストを取得するアクションには、次のパラメータが必要です。
パラメータ | 説明 |
---|---|
Bucket Name |
必須 ACL を取得する Cloud Storage バケットの名前。複数のバケットの ACL を取得するには、バケット名をカンマ区切りの文字列( |
アクションの出力
バケットのアクセス制御リストを取得するアクションでは、次の出力が提供されます。
アクションの出力タイプ | 対象 |
---|---|
ケースウォールのアタッチメント | 利用不可 |
ケースウォールのリンク | 利用不可 |
ケースウォール テーブル | 利用不可 |
拡充テーブル | 利用不可 |
JSON の結果 | 利用不可 |
出力メッセージ | 利用可能 |
スクリプトの結果 | 利用可能 |
JSON の結果
[
{"BucketName": "ziv",
"BucketACLs": [
{"Entity": "project-owners-ID",
"Role": "OWNER"}
]
}
]
出力メッセージ
ケースウォールで、[Get a Bucket's Access Control List] アクションは次の出力メッセージを提供します。
出力メッセージ | メッセージの説明 |
---|---|
|
アクションが成功しました。 |
Error executing action "Get a Bucket's Access Control List".
Reason:
ERROR_REASON |
操作を実行できませんでした。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、バケットのアクセス制御リストを取得するアクションを使用した場合のスクリプト結果出力の値を示します。
スクリプトの結果名 | 値 |
---|---|
is_success |
True または False |
バケット オブジェクトを一覧表示する
Cloud Storage バケットに保存されているオブジェクトを一覧表示するには、バケット オブジェクトのリスト アクションを使用します。
このアクションはエンティティに対しては実行されません。
アクション入力
バケット オブジェクトのリスト取得アクションには、次のパラメータが必要です。
パラメータ | 説明 |
---|---|
Bucket Name |
必須 オブジェクトの取得元となるバケットの名前。 |
Max Objects to Return |
Optional 返すオブジェクトの数。 デフォルトでは、アクションはアクション実行ごとに 50 個のオブジェクトを返します。 |
Retrieves the Access Control List of an object |
Optional 選択すると、アクションはオブジェクト ACL を取得します。 デフォルトでは選択されていません。 |
アクションの出力
バケット オブジェクトのリスト取得アクションは、次の出力を提供します。
アクションの出力タイプ | 対象 |
---|---|
ケースウォールのアタッチメント | 利用不可 |
ケースウォールのリンク | 利用不可 |
ケースウォール テーブル | 利用不可 |
拡充テーブル | 利用不可 |
JSON の結果 | 利用可能 |
出力メッセージ | 利用可能 |
スクリプトの結果 | 利用可能 |
JSON の結果
次の例は、List Bucket Objects アクションを使用した場合に受信する JSON 結果の出力を示しています。
Retrieves the Access Control List of an object
パラメータが選択されていない場合:{ "Objects": [ { "ObjectName": "test.txt", "Bucket": "ContentType": "TimeCreated": " ", "TimeUpdated": " ", "Size": 18, "MD5": "7CjVfQ+Oz/C0pI08IKRdvQ==", "Owner": "", "CR32c": "RQEqxA==", "id": "siemplify-tip/test.txt/1604926667310271" } ] }
Retrieves the Access Control List of an object
パラメータが選択されている場合:{ "Objects": [ { "ObjectName": "test.txt", "Bucket": "BUCKET_NAME", "ContentType": "text/plain" "TimeCreated": " ", "TimeUpdated": " ", "Size": 18, "MD5": "7CjVfQ+Oz/C0pI08IKRdvQ==", "Owner": "", "CR32c": "RQEqxA==", "id": "BUCKET_NAME/test.txt/1604926667310271", "ObjectACL": [ { "entity": "user@example.com", "role": "OWNER" }] }, ] }
出力メッセージ
ケースウォールで、List Bucket Objects アクションは次の出力メッセージを提供します。
出力メッセージ | メッセージの説明 |
---|---|
|
アクションが成功しました。 |
Error executing action "List Bucket Objects". Reason:
ERROR_REASON |
操作を実行できませんでした。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、List Bucket Objects アクションを使用する場合のスクリプト結果出力の値を示します。
スクリプトの結果名 | 値 |
---|---|
is_success |
True または False |
バケットの一覧表示
バケットの一覧取得アクションを使用して、Cloud Storage からバケットの一覧を取得します。
このアクションはエンティティに対しては実行されません。
アクション入力
バケットのリスト取得アクションには、次のパラメータが必要です。
パラメータ | 説明 |
---|---|
Max Results |
Optional 返すバケットの最大数。 デフォルトでは、このアクションは 50 個のバケットを返します。 |
アクションの出力
バケットのリスト取得アクションは、次の出力を提供します。
アクションの出力タイプ | 対象 |
---|---|
ケースウォールのアタッチメント | 利用不可 |
ケースウォールのリンク | 利用不可 |
ケースウォール テーブル | 利用不可 |
拡充テーブル | 利用不可 |
JSON の結果 | 利用可能 |
出力メッセージ | 利用可能 |
スクリプトの結果 | 利用可能 |
JSON の結果
次の例は、List Buckets アクションを使用した場合に受信する JSON 結果の出力を示しています。
{
"Buckets": [
{
"CreationDate": "2020-11-09T12:57:03.981Z",
"ModificationDate": "2020-11-09T12:57:03.981Z",
"Name": "testexample",
"Owner": "testexample"
}]
}
出力メッセージ
ケースウォールで、List Buckets アクションは次の出力メッセージを提供します。
出力メッセージ | メッセージの説明 |
---|---|
|
アクションが成功しました。 |
Error executing action "List Buckets". Reason:
ERROR_REASON |
操作を実行できませんでした。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、List Buckets アクションを使用した場合のスクリプト結果出力の値を示します。
スクリプトの結果名 | 値 |
---|---|
is_success |
True または False |
Ping
Ping アクションを使用して、Cloud Storage への接続をテストします。
このアクションはエンティティに対しては実行されません。
アクション入力
なし
アクションの出力
このアクションでは、次の出力が提供されます。
アクションの出力タイプ | 対象 |
---|---|
ケースウォールのアタッチメント | 利用不可 |
ケースウォールのリンク | 利用不可 |
ケースウォール テーブル | 利用不可 |
拡充テーブル | 利用不可 |
JSON の結果 | 利用不可 |
出力メッセージ | 利用可能 |
スクリプトの結果 | 利用可能 |
出力メッセージ
ケースウォールで Ping アクションを実行すると、次の出力メッセージが表示されます。
出力メッセージ | メッセージの説明 |
---|---|
Successfully connected to the Google Cloud Storage server with
the provided connection parameters! |
アクションが成功しました。 |
Failed to connect to the Google Cloud Storage server! Error is
ERROR_REASON |
操作を実行できませんでした。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、Ping アクションを使用した場合のスクリプト結果出力の値を示します。
スクリプトの結果名 | 値 |
---|---|
is_success |
True または False |
バケットから公開アクセスを削除する
[バケットから公開アクセスを削除] アクションを使用して、Cloud Storage バケットから公開アクセスを削除します。
この操作を行うには、インテグレーションで使用するサービス アカウントに Storage Admin
ロールを付与する必要があります。
このアクションはエンティティに対しては実行されません。
アクション入力
バケットから公開アクセスを削除するアクションには、次のパラメータが必要です。
パラメータ | 説明 |
---|---|
Resource Name |
必須 バケットのリソース名。 |
Prevent Public Access From Bucket |
必須 選択すると、このアクションは公開アクセスを防止するようにバケットを構成します。 |
アクションの出力
バケットから公開アクセスを削除するアクションは、次の出力を提供します。
アクションの出力タイプ | 対象 |
---|---|
ケースウォールのアタッチメント | 利用不可 |
ケースウォールのリンク | 利用不可 |
ケースウォール テーブル | 利用不可 |
拡充テーブル | 利用不可 |
JSON の結果 | 利用不可 |
出力メッセージ | 利用可能 |
スクリプトの結果 | 利用可能 |
出力メッセージ
ケースウォールで、[Remove Public Access From Bucket] アクションは次の出力メッセージを提供します。
出力メッセージ | メッセージの説明 |
---|---|
Successfully removed public access from bucket using Google
Cloud Storage: RESOURCE_NAME
|
アクションが成功しました。 |
Error executing action "Remove Public Access From Bucket".
Reason: ERROR_REASON |
操作を実行できませんでした。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、バケットからパブリック アクセスを削除するアクションを使用した場合のスクリプト結果出力の値を示します。
スクリプトの結果名 | 値 |
---|---|
is_success |
True または False |
バケットの ACL エントリを更新する
[バケットの ACL エントリを更新] アクションを使用して、指定された Cloud Storage バケットの ACL エントリを更新します。
アクション入力
[バケットの ACL エントリを更新] アクションには、次のパラメータが必要です。
パラメータ | 説明 |
---|---|
Bucket Name |
必須 ACL を変更するバケットの名前。 |
Entity |
必須 権限を保持するエンティティ。 指定できる値は次のとおりです。
エンティティの詳細については、リソースの表現をご覧ください。 |
Role |
必須 エンティティに必要なアクセス権限。 次の値を指定できます。
|
アクションの出力
[Update an ACL entry on Bucket] アクションは、次の出力を提供します。
アクションの出力タイプ | 対象 |
---|---|
ケースウォールのアタッチメント | 利用不可 |
ケースウォールのリンク | 利用不可 |
ケースウォール テーブル | 利用不可 |
拡充テーブル | 利用不可 |
JSON の結果 | 利用不可 |
出力メッセージ | 利用可能 |
スクリプトの結果 | 利用可能 |
出力メッセージ
ケースウォールで [Update an ACL entry on Bucket] アクションを実行すると、次の出力メッセージが表示されます。
出力メッセージ | メッセージの説明 |
---|---|
|
アクションが成功しました。既存のロールが Role パラメータ値と一致しません。Role パラメータの値を確認します。 |
Successfully updated ACL entity:
ENTITY to role:
ROLE in bucket
BUCKET_NAME. |
アクションが成功しました。 |
|
操作を実行できませんでした。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、バケットの ACL エントリを更新するアクションを使用する場合のスクリプト結果出力の値を示します。
スクリプトの結果名 | 値 |
---|---|
is_success |
True または False |
バケットにオブジェクトをアップロードする
[Upload an Object To a Bucket] アクションを使用して、Cloud Storage バケットにオブジェクトをアップロードします。
このアクションはエンティティに対しては実行されません。
アクション入力
[Upload an Object To a Bucket] アクションには、次のパラメータが必要です。
パラメータ | 説明 |
---|---|
Bucket Name |
必須 オブジェクトをアップロードするバケットの名前。 |
Source File Path |
必須 アップロードするファイルの絶対パス( |
Object Name |
必須 バケットにアップロードされたオブジェクトの名前。 |
アクションの出力
[バケットにオブジェクトをアップロード] アクションでは、次の出力が提供されます。
アクションの出力タイプ | 対象 |
---|---|
ケースウォールのアタッチメント | 利用不可 |
ケースウォールのリンク | 利用不可 |
ケースウォール テーブル | 利用不可 |
拡充テーブル | 利用不可 |
JSON の結果 | 利用可能 |
出力メッセージ | 利用可能 |
スクリプトの結果 | 利用可能 |
JSON の結果
{
"object_id":"BUCKET_NAME/errorlog.txt/1610616919132517",
"Object_name":"errorlog.txt",
"md5_hash":"PTdL8D6pBwIKyMfIXR/H9A==",
"object_path":"/b/BUCKET_NAME/o/errorlog.txt"
}
出力メッセージ
ケースウォールで、[Upload an Object To a Bucket] アクションは次の出力メッセージを提供します。
出力メッセージ | メッセージの説明 |
---|---|
|
アクションが成功しました。 |
Error executing action "Upload an Object To a Bucket". Reason:
ERROR_REASON |
操作を実行できませんでした。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、オブジェクトをバケットにアップロードするアクションを使用する場合のスクリプト結果出力の値を示します。
スクリプトの結果名 | 値 |
---|---|
is_success |
True または False |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。