Vertex AI を Google SecOps と統合する
このドキュメントでは、Vertex AI を Google Security Operations と統合する方法について説明します。
ユースケース
Vertex AI の統合では、次のユースケースがサポートされています。
悪意のあるメールの自動分析: 未加工の EML ファイルを分析して、脅威レベルの抽出、フィッシング リンクやソーシャル エンジニアリングの指標の特定、検証手順の推奨を行います。
コンテキストに応じたエンティティの拡充: セキュリティ エンティティの自然言語による要約を生成して、トリアージ中の調査担当者の理解を促進します。
柔軟なハンドブック オーケストレーション: ハンドブック内で非構造化生成テキスト プロンプトを実行して、予測防御や複雑なセキュリティ分析を支援します。
カスタムデータ変換: 自然言語の指示を使用して、任意の JSON データ構造のプログラムによる変換を自動化します。
始める前に
Google SecOps で Vertex AI 統合を構成する前に、次の前提条件の手順を完了します。
サービス アカウントに必要な Identity and Access Management ロールを付与します。
次のいずれかの認証方法を選択して構成します。
オプション 1: Workload Identity(推奨): この方法では、サービス アカウントの権限借用を使用して有効期間の短いトークンを使用します。
オプション 2: サービス アカウントの JSON キー: この方法は、静的な、有効期間の長い秘密鍵ファイルに依存します。
サービス料金の詳細については、Vertex AI の料金をご覧ください。
サービス アカウントを作成する
Google Cloud コンソールで、[IAM と管理] > [サービス アカウント] に移動します。
[addサービス アカウントを作成] をクリックします。
名前と説明を入力し、[完了] をクリックします。サービス アカウントのメールアドレスをメモします。
IAM ロールを付与する
統合がプラットフォーム サービスとやり取りできるようにするには、プリンシパルに権限を付与する必要があります。
Google Cloud コンソールで [IAM] に移動します。
サービス アカウントを見つけて、[プリンシパルを編集](編集)をクリックします。
[別のロールを追加] をクリックし、[Vertex AI ユーザー](
roles/aiplatform.user)を選択します。[保存] をクリックします。
Workload Identity 認証情報を構成する
Workload Identity は、サービス アカウントの権限借用を使用して有効期間の短いアクセス トークンを使用するため、推奨されるアプローチです。
一意のインスタンス ID を特定する
接続を確立するには、サービス アカウントの権限を借用する権限を Google SecOps インスタンスに付与する必要があります。
Google SecOps で、[Content Hub] > [Response Integrations] に移動します。
[Vertex AI] 統合を選択し、[Workload Identity Email] にサービス アカウントのメールアドレスを入力します。
[保存] > [テスト] をクリックします。テストは失敗することが想定されます。
[テスト] ボタンの横にある close_small をクリックし、
gke-init-python@...またはsoar-python@...で始まる ID メールを見つけます。この固有のメールアドレスをコピーします。
Google Cloudでインスタンス ID を認可する
Google Cloud コンソールで、[IAM と管理] > [サービス アカウント] に移動します。
対象のサービス アカウントを選択し、[権限] > [アクセスを許可] に移動します。
一意のメールアドレスを [新しいプリンシパル] に貼り付け、サービス アカウント トークン作成者ロール(
roles/iam.serviceAccountTokenCreator)を割り当てます。
JSON キーを構成する
静的で有効期間の長い秘密鍵ファイルは、手動でローテーションする必要があります。この方法は、Workload Identity 認証を使用できない場合にのみ使用してください。
Google Cloud コンソールで、[IAM と管理] > [サービス アカウント] に移動し、サービス アカウントを選択します。
[キー] タブに移動し、[キーを追加] > [新しいキーを作成] をクリックします。
[JSON] を選択し、[作成] をクリックします。ブラウザが JSON ファイルをパソコンにダウンロードします。
統合のパラメータ
Vertex AI の統合には、次のパラメータが必要です。
| パラメータ | 説明 |
|---|---|
API Root |
必須。 Vertex AI インスタンスの API ルート。 デフォルト値は |
Workload Identity Email |
省略可。 サービス アカウントのクライアント メールアドレス。 このパラメータは、Workload Identity を使用して認証する場合にのみ構成します。構成されている場合、 |
Service Account JSON File Content |
省略可。 サービス アカウント キーの JSON ファイルの全内容。 サービス アカウント キー認証用にこのパラメータを構成します。 |
Project ID |
省略可。 Pub/Sub でターゲットにするプロジェクト ID。 値が指定されていない場合、統合はサービス アカウントの認証情報から ID を取得します。 |
Default Model |
省略可。 ターゲットとするデフォルト モデルの名前。 デフォルト値は |
Location |
省略可。 Vertex AI API のロケーション ID。 値が指定されていない場合、統合は API ルートから地域 ID を抽出します。 |
Verify SSL |
必須。 サーバーへの接続用の SSL 証明書を検証します。デフォルトで有効になっています。 |
Google SecOps で統合を構成する方法については、統合を構成するをご覧ください。
必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できます。複数のインスタンスを構成してサポートする方法の詳細については、複数のインスタンスのサポートをご覧ください。
操作
アクションの詳細については、 デスクから保留中のアクションに対応するとケースで手動アクションを実行するをご覧ください。
EML を分析
EML を分析アクションを使用して、Vertex AI で EML ファイルを分析します。このアクションでは、各ファイルが個別に送信されます。
このアクションは Google SecOps エンティティに対しては実行されません。
アクションへの入力
Analyze EML アクションには、次のパラメータが必要です。
| パラメータ | 説明 |
|---|---|
Model ID |
Optional 使用するモデルの ID( |
Temperature |
Optional トークン選択のランダム性の度合いを制御する値。このパラメータは、 温度値の詳細については、パラメータ値を試すをご覧ください。 |
Files To Analyze |
必須 分析用に送信する EML ファイルのカンマ区切りのリスト。 |
Max Output Tokens |
Optional すべてのレスポンスで生成する出力トークンの最大数。 トークンは約 4 文字です。100 トークンは約 60 ~ 80 語に相当します。この上限は、個々のエンティティに適用されます。 詳細については、パラメータ値を試すをご覧ください。 デフォルト値は |
アクションの出力
[Analyze EML] アクションでは、次の出力が提供されます。
| アクションの出力タイプ | 対象 |
|---|---|
| ケースウォールのアタッチメント | 利用不可 |
| ケースウォールのリンク | 利用不可 |
| ケースウォール テーブル | 利用不可 |
| 拡充テーブル | 利用不可 |
| JSON の結果 | 利用可能 |
| 出力メッセージ | 利用可能 |
| スクリプトの結果 | 利用可能 |
JSON の結果
次の例は、EML の分析アクションを使用した場合に受信される JSON 結果の出力を示しています。
[{
"Entity": "file",
"EntityResult": {
"raw": "{\"threat_level\": \"High\", \"threats_found\": [{\"threat\": \"Phishing Links\", \"explanation\": \"Multiple links point",
"extracted_info": {
"threat_level": "High",
"threats_found": [
{
"threat": "Phishing Links",
"explanation": "Multiple links point to example.com, a suspicious domain likely used for phishing campaigns.",
"example": "URL"
},
{
"threat": "Social Engineering",
"explanation": "The email uses urgency and scarcity tactics, pressuring the recipient to click links quickly.",
"example": "Register Now and Save $1,000 on all 2-Day Project Management (Fundamentals)"
},
{
"threat": "Suspicious Domain",
"explanation": "The email uses the domain example.com', which is not commonly associated with legitimate businesses or organizations and may be a newly registered domain for malicious purposes. This should be checked for validity and legitimacy. The email also uses the domain pdu-xl.com which may also be suspicious.",
"example": "example.com"
}
],
"verification_steps": [
"Check the domain reputation of example.com using online tools like VirusTotal or URLVoid.",
"Analyze email headers to identify the true sender's IP address and location using email analysis tools.",
"Verify the legitimacy of mentioned products or services by independently contacting the companies mentioned."
],
"protection_measures": [
"Avoid clicking links in suspicious emails. Hover over links to check the actual URL in a separate tool.",
"Enable email filtering and anti-phishing features in your email client.",
"Regularly update your antivirus and anti-malware software.",
"Educate users about social engineering tactics and phishing schemes."
]
},
"usageMetadata": {
"promptTokenCount": 12,
"candidatesTokenCount": 778,
"totalTokenCount": 790
}
}
}]
出力メッセージ
Analyze EML アクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully analysed the following EML files using Vertex AI:
FILE_PATHS |
アクションが成功しました。 |
Error executing action "Analyze EML". Reason:
ERROR_REASON |
アクションが失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、EML を分析アクションを使用した場合のスクリプト結果の出力値を示します。
| スクリプトの結果名 | 値 |
|---|---|
is_success |
True または False |
エンティティを記述する
エンティティの説明アクションを使用して、Vertex AI を使用してエンティティに関する情報を要約します。
このアクションは、すべての Google SecOps エンティティに対して実行され、各エンティティを個別に送信します。
アクションへの入力
Describe Entity アクションには、次のパラメータが必要です。
| パラメータ | 説明 |
|---|---|
Model ID |
Optional 使用するモデルの ID( |
Temperature |
Optional トークン選択のランダム性の度合いを制御する値。このパラメータは、 温度値の詳細については、パラメータ値を試すをご覧ください。 |
Exclude Fields |
Optional エンティティの概要の生成時に除外する Google SecOps エンティティ メタデータ フィールドのカンマ区切りのリスト。 |
Force Refresh |
Optional 選択すると、アクションは デフォルトでは選択されていません。 |
Refresh After (Days) |
必須 エンティティの概要を更新する前にアクションが待機する日数。 このアクションは、 このアクションは、実際に生成された最新のサマリーのハッシュ値を検証し、キャッシュに保存されたハッシュ値を無視します。 デフォルト値は |
Max Output Tokens |
Optional すべてのレスポンスで生成する出力トークンの最大数。 トークンは約 4 文字です。100 トークンは約 60 ~ 80 語に相当します。この上限は、個々のエンティティに適用されます。 詳細については、パラメータ値を試すをご覧ください。 |
アクションの出力
Describe Entity アクションは、次の出力を提供します。
| アクションの出力タイプ | 対象 |
|---|---|
| ケースウォールのアタッチメント | 利用不可 |
| ケースウォールのリンク | 利用不可 |
| ケースウォール テーブル | 利用不可 |
| 拡充テーブル | 利用不可 |
| JSON の結果 | 利用可能 |
| 出力メッセージ | 利用可能 |
| スクリプトの結果 | 利用可能 |
JSON の結果
次の例は、Describe Entity アクションを使用した場合に受信される JSON 結果の出力を示しています。
[
{
"Entity": "1B16D64CE18772B8F77C74C3D4DC24AA066BB117",
"EntityResult": {
"summary": "This is a suspicious, enriched, internal file hash (SHA1: 1B16D64CE18772B8F77C74C3D4DC24AA066BB117) identified as a Microsoft Excel 2007+ file (\"FC090000\") located on a user's desktop. VirusTotal analysis shows 3 malicious flags out of 65 total engines. The file contains macros, is potentially obfuscated, and exhibits behaviors like writing to files, running DLLs, and downloading content. It was last modified on 2024-11-13 and created on 2021-07-07. The file is linked to a single case (\"potential_apt_doc_files\") which was closed. The file is flagged as an artifact but not vulnerable or a pivot point.\n",
"usageMetadata": {
"promptTokenCount": 12,
"candidatesTokenCount": 778,
"totalTokenCount": 790
}
}
}
]
出力メッセージ
Describe Entity アクションは、次の出力メッセージを返すことがあります。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully summarized the entity based on the available
information using Vertex AI. |
アクションが成功しました。 |
Error executing action "Describe Entity". Reason:
ERROR_REASON |
アクションが失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、Describe Entity アクションを使用した場合のスクリプト結果の出力値を示します。
| スクリプトの結果名 | 値 |
|---|---|
is_success |
True または False |
プロンプトを実行します
プロンプトを実行アクションを使用して、Vertex AI で個々のテキスト プロンプトを実行します。
このアクションは Google SecOps エンティティに対しては実行されません。
アクションへの入力
プロンプトを実行アクションには、次のパラメータが必要です。
| パラメータ | 説明 |
|---|---|
Model ID |
Optional 使用するモデルの ID( |
Text Prompt |
必須 プロンプトに含める指示のテキスト。 |
Temperature |
Optional トークン選択のランダム性の度合いを制御する値。このパラメータは、 温度値の詳細については、パラメータ値を試すをご覧ください。 |
Candidate Count |
Optional すべてのアクション実行で返すレスポンス バリエーションの数。 リクエストごとに、入力トークンに対して 1 回、生成されたすべての候補の出力トークンに対して課金されます。 |
Response MIME Type |
Optional 生成された候補テキストの出力レスポンスのメディア(MIME)タイプ。 レスポンス メディア(MIME)タイプは、次のモデルで使用できます。 値は次のいずれかになります。
text/plain です。 |
Response Schema |
Optional 生成された候補テキストのスキーマ。 このパラメータを使用するには、 レスポンス スキーマは、 |
Max Input Tokens |
Optional 送信する入力トークンの最大数。 1 つのトークンは最大 4 文字で構成されます。100 トークンは 60 ~ 80 語に相当します。 値を設定しない場合、アクションは任意のプロンプトを実行します。トークンの数が構成された最大数を超えると、アクションは失敗します。 |
Max Output Tokens |
Optional すべてのレスポンスで生成する出力トークンの最大数。 トークンは約 4 文字です。100 トークンは約 60 ~ 80 語に相当します。この上限は、個々のエンティティに適用されます。 詳細については、パラメータ値を試すをご覧ください。 |
アクションの出力
プロンプトを実行アクションは、次の出力を提供します。
| アクションの出力タイプ | 対象 |
|---|---|
| ケースウォールのアタッチメント | 利用不可 |
| ケースウォールのリンク | 利用不可 |
| ケースウォール テーブル | 利用不可 |
| 拡充テーブル | 利用不可 |
| JSON の結果 | 利用可能 |
| 出力メッセージ | 利用可能 |
| スクリプトの結果 | 利用可能 |
JSON の結果
次の例は、プロンプトを実行アクションを使用した場合に受信される JSON 結果の出力を示しています。
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"text": "Responding to a malicious email requires a layered approach. Here's a breakdown of remediation steps, prioritizing actions based on urgency:\n\n**Immediate Actions (within minutes):**\n\n1. **Do NOT click any links or open any attachments.** This is paramount. Malicious links can download malware, and attachments can contain viruses or exploits.\n\n2. **Disconnect from the internet (if possible).** This limits the damage the malware can do if it's already on your system. Unplug your ethernet cable or turn off Wi-Fi.\n\n3. **Close the email immediately.** Don't even hover over links or attachments; the preview might be enough to trigger some malware.\n\n**Investigative Actions (within hours):**\n\n4. **Check your email account for unauthorized access.** Look for unfamiliar sent emails, changed settings (like forwarding rules), or new accounts added.\n\n5. **Run a full system scan with your antivirus software.** Ensure your antivirus definitions are up-to-date before running the scan. Consider a second opinion scan with a different reputable antivirus program.\n\n6. **Review your computer's processes (Task Manager on Windows, Activity Monitor on macOS).** Look for unfamiliar processes consuming significant resources. This could indicate malware activity.\n\n7. **Check your network connections.** See if any unauthorized connections exist.\n\n8. **Change your email password immediately.** Use a strong, unique password. Consider using a password manager.\n\n9. **If you clicked a link or opened an attachment, consider the potential impact.** Did you enter credentials? Did you download a file? The severity of action needed depends on this.\n\n**Remediation Actions (within days):**\n\n10. **Contact your IT department or security professional.** They can provide expert guidance and assist with more advanced remediation steps.\n\n11. **Consider more advanced malware scanning tools.** There are specialized tools that can detect malware missed by standard antivirus.\n\n12. **Review your operating system's security settings.** Ensure firewalls are enabled and that other security features are adequately configured.\n\n13. **Report the malicious email to your email provider.** This helps them remove the email and prevent others from being affected. You can often do this by forwarding the email to an abuse reporting address provided by your provider. Report it to the appropriate authorities if you suspect the email involves a crime.\n\n14. **Monitor your accounts and financial records for suspicious activity.** Phishing emails often aim to steal credentials and financial information.\n\n**Preventive Actions (ongoing):**\n\n15. **Implement strong email filtering.** Use spam filters and configure your email provider's security settings to block suspicious emails.\n\n16. **Train yourself and others to identify phishing emails.** Be wary of emails with unusual addresses, grammatical errors, urgent requests, or suspicious attachments.\n\n17. **Keep your software up to date.** Regularly update your operating system, applications, and antivirus software.\n\n18. **Use strong, unique passwords for all accounts.** A password manager can assist with this.\n\n19. **Enable two-factor authentication (2FA) wherever possible.** This adds an extra layer of security to your accounts.\n\n\n**If you suspect your personal data or financial information has been compromised:**\n\n* **Contact your bank and credit card companies immediately.** Report any suspicious transactions and consider placing a fraud alert on your accounts.\n* **Consider credit monitoring services.** This can help you detect and respond to identity theft.\n\n\nThe severity of the remediation steps depends on the nature of the malicious email and what actions you took in response to it. If you're unsure about any step, err on the side of caution and seek professional help.\n"
}
]
},
"finishReason": "STOP",
"avgLogprobs": -0.4171245741660307
}
],
"usageMetadata": {
"promptTokenCount": 12,
"candidatesTokenCount": 778,
"totalTokenCount": 790
},
"modelVersion": "gemini-1.5-flash-002",
"Text_context": ""
"extracted_info": ""
}
出力メッセージ
プロンプトを実行アクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully executed a prompt. |
アクションが成功しました。 |
Error executing action "Execute Prompt". Reason:
ERROR_REASON |
アクションが失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、プロンプトを実行アクションを使用した場合のスクリプト結果の出力値を示します。
| スクリプトの結果名 | 値 |
|---|---|
is_success |
True または False |
Ping
Ping アクションを使用して、Vertex AI への接続をテストします。
このアクションは Google SecOps エンティティに対しては実行されません。
アクションへの入力
なし
アクションの出力
Ping アクションは、次の出力を提供します。
| アクションの出力タイプ | 対象 |
|---|---|
| ケースウォールのアタッチメント | 利用不可 |
| ケースウォールのリンク | 利用不可 |
| ケースウォール テーブル | 利用不可 |
| 拡充テーブル | 利用不可 |
| JSON の結果 | 利用不可 |
| 出力メッセージ | 利用可能 |
| スクリプトの結果 | 利用可能 |
出力メッセージ
Ping アクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully connected to Vertex AI with the provided connection
parameters! |
アクションが成功しました。 |
|
アクションが失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、Ping アクションを使用した場合のスクリプト結果の出力値を示します。
| スクリプトの結果名 | 値 |
|---|---|
is_success |
True または False |
データの変換
データを変換アクションを使用して、Vertex AI でデータ変換を実行します。
このアクションは Google SecOps エンティティに対しては実行されません。
アクションへの入力
データの変換アクションには、次のパラメータが必要です。
| パラメータ | 説明 |
|---|---|
Model ID |
Optional 使用するモデルの ID( |
Text Prompt |
必須 プロンプトに含める指示のテキスト。 |
Temperature |
Optional トークン選択のランダム性の度合いを制御する値。このパラメータは、 温度値の詳細については、パラメータ値を試すをご覧ください。 |
JSON Object |
必須 アクション入力として使用する JSON オブジェクト。 |
Max Output Tokens |
必須 すべてのレスポンスで生成する出力トークンの最大数。 トークンは約 4 文字です。100 トークンは約 60 ~ 80 語に相当します。この上限は、個々のエンティティに適用されます。 詳細については、パラメータ値を試すをご覧ください。 デフォルト値は |
アクションの出力
Transform Data アクションは、次の出力を提供します。
| アクションの出力タイプ | 対象 |
|---|---|
| ケースウォールのアタッチメント | 利用不可 |
| ケースウォールのリンク | 利用不可 |
| ケースウォール テーブル | 利用不可 |
| 拡充テーブル | 利用不可 |
| JSON の結果 | 利用可能 |
| 出力メッセージ | 利用可能 |
| スクリプトの結果 | 利用可能 |
JSON の結果
次の例は、Transform Data アクションを使用した場合に受信される JSON 結果の出力を示しています。
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"text": "Respondo it. If you're unsure about any step, err on the side of caution and seek professional help.\n"
}
]
},
"finishReason": "STOP",
"avgLogprobs": -0.4171245741660307
}
],
"usageMetadata": {
"promptTokenCount": 12,
"candidatesTokenCount": 778,
"totalTokenCount": 790
},
"modelVersion": "gemini-1.5-flash-002",
"Text_context": ""
"extracted_info": ""
}
出力メッセージ
Transform Data アクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully transformed provided data. |
アクションが成功しました。 |
Error executing action "Transform Data". Reason:
ERROR_REASON |
アクションが失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、Transform Data アクションを使用した場合のスクリプト結果の出力値を示します。
| スクリプトの結果名 | 値 |
|---|---|
is_success |
True または False |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。