Google フォームを Google SecOps と統合する
このドキュメントでは、Google フォームを Google Security Operations(Google SecOps)と統合する方法について説明します。
統合バージョン: 1.0
始める前に
Google SecOps で Google フォームの統合を構成する前に、 Google Cloud 環境と Google Workspace 環境で API アクセスと権限借用が準備されていることを確認してください。
統合が正しく機能するには、権限を管理するために次の 3 つの要素を調整する必要があります。
サービス アカウント: システム間のブリッジとして機能します。
委任されたユーザー: サービス アカウントがフォームデータにアクセスするために権限借用する ID。
権限: ID で実行できる操作を定義するスコープとロール。
権限を借用するユーザーに必要な管理者権限がすでに付与されている場合は、カスタムロールを作成する必要はありません。ただし、多くの組織は、最小権限の原則を遵守するために、カスタムロールを持つ専用のサービス ユーザーを作成することを好みます。
次の前提条件の手順を完了します。
- サービス アカウントを作成します。
- JSON キーを作成します。
- プロジェクトに必要な API を有効にします。
- 省略可: 統合用のカスタムロールを作成します。
- 省略可: カスタムロールをユーザーに割り当てます。
- ドメイン全体の権限をサービス アカウントに委任する。
サービス アカウントを作成する
サービス アカウントは、統合が認証を受け、データにアクセスするための安全な方法を提供する人間以外のユーザーを表します。
Google Cloud コンソールで、[認証情報] ページに移動します。
[add_2認証情報を作成> サービス アカウント] を選択します。
[サービス アカウントの詳細] で、[サービス アカウント名] フィールドに名前を入力します。
省略可: サービス アカウント ID を編集します。
[完了] をクリックします。
JSON キーを作成する
Google SecOps では、サービス アカウントの ID を証明し、安全な接続を確立するために JSON キーファイルが必要です。
サービス アカウントを選択して、[キー] に移動します。
[鍵を追加] > [新しい鍵を作成] の順にクリックします。
キーのタイプは、JSON を選択し、[作成] をクリックします。[パソコンに保存される秘密鍵] ダイアログが表示され、秘密鍵のコピーがパソコンにダウンロードされます。
プロジェクトに必要な API を有効にする
統合で Google フォームと Google Workspace ディレクトリを操作できるようにする特定の Google Cloud API を有効にする必要があります。
Google Cloud コンソールで、[API とサービス] に移動します。
[追加API とサービスを有効化] をクリックします。
プロジェクトで次の API を有効にします。
Admin SDK API
Google Forms API
省略可: 統合用のカスタムロールを作成する
権限借用に使用するユーザー アカウントに、必要な管理者権限がまだ付与されていない場合は、権限が制限されたカスタムロールを作成できます。統合をサポートするには、ユーザーに次の管理 API 権限が必要です。
組織部門
ユーザー
グループ
Google 管理コンソールで、[アカウント] > [管理者ロール] に移動します。
[新しいロールを作成] を選択します。
新しいカスタムロールの名前を指定して、[続行] をクリックします。
[権限の選択] で、[Admin API の権限] セクションを見つけます。
[組織部門]、[ユーザー]、[グループ] のチェックボックスをオンにします。
[続行>ロールを作成] をクリックします。
省略可: カスタムロールをユーザーに割り当てる
前のステップでカスタムロールを作成した場合は、そのロールを権限借用に使用する特定のメールアドレスに割り当てる必要があります。
Google 管理コンソールで、[ディレクトリ > ユーザー] に移動します。
統合に使用するユーザー(既存の管理者または新しい専用ユーザー)を選択します。
ユーザーの設定を開き、[管理者ロールと権限> 編集] をクリックします。
作成したカスタムロールを選択し、切り替えを [割り当て済み] に切り替えます。
[保存] をクリックします。
ドメイン全体の権限をサービス アカウントに委任する
ドメイン全体の委任により、サービス アカウントは承認済みユーザーになりすまして、Google Workspace ドメイン全体のデータにアクセスできます。
ドメインの Google 管理コンソールから、[セキュリティ] > [アクセスとデータ管理] > [API の制御] に移動します。
[ドメイン全体の委任] ペインで、[ドメイン全体の委任を管理] を選択します。
[新しく追加] をクリックします。
[クライアント ID] フィールドに、最初の手順で作成したサービス アカウントのクライアント ID を入力します。
[OAuth スコープ] フィールドに、必要なスコープのカンマ区切りリストを入力します。
https://mail.google.com/, https://www.googleapis.com/auth/admin.directory.customer.readonly, https://www.googleapis.com/auth/admin.directory.domain.readonly, https://www.googleapis.com/auth/admin.directory.group, https://www.googleapis.com/auth/admin.directory.group.member, https://www.googleapis.com/auth/admin.directory.orgunit, https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly, https://www.googleapis.com/auth/admin.directory.user, https://www.googleapis.com/auth/admin.directory.user.alias, https://www.googleapis.com/auth/apps.groups.settings, https://www.googleapis.com/auth/cloud-platform, https://www.googleapis.com/auth/forms.body.readonly, https://www.googleapis.com/auth/forms.responses.readonly[承認] をクリックします。
統合のパラメータ
Google フォームの統合には、次のパラメータが必要です。
| パラメータ | 説明 |
|---|---|
Delegated Email |
必須 権限借用とアクセス制御に使用するメールアドレス。 |
Service Account JSON |
必須 サービス アカウント キーの JSON ファイルの内容。 |
Verify SSL |
必須 選択すると、統合によって Google フォームへの接続用の SSL 証明書が有効かどうかが検証されます。 デフォルトで選択されています。 |
Google SecOps で統合を構成する手順については、統合を構成するをご覧ください。
必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できるようになります。複数のインスタンスの構成とサポートの方法については、複数のインスタンスのサポートをご覧ください。
操作
アクションの詳細については、 デスクから保留中のアクションに対応すると手動アクションを実行するをご覧ください。
Ping
Ping アクションを使用して、Google フォームへの接続をテストします。
このアクションは Google SecOps エンティティに対して実行されません。
アクション入力
なし
アクションの出力
[Ping] アクションでは、次の出力が提供されます。
| アクションの出力タイプ | 対象 |
|---|---|
| ケースウォールのアタッチメント | 利用不可 |
| ケースウォールのリンク | 利用不可 |
| ケースウォール テーブル | 利用不可 |
| 拡充テーブル | 利用不可 |
| JSON の結果 | 利用不可 |
| 出力メッセージ | 利用可能 |
| スクリプトの結果 | 利用可能 |
出力メッセージ
Ping アクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully connected to the Google Forms server with the
provided connection parameters! |
アクションが成功しました。 |
Failed to connect to the Google Forms server! Error is
ERROR_REASON |
操作に失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、Ping アクションを使用した場合のスクリプト結果出力の値を示します。
| スクリプトの結果名 | 値 |
|---|---|
is_success |
True または False |
コネクタ
Google SecOps でコネクタを構成する手順については、データを取り込む(コネクタ)をご覧ください。
Google フォーム - 回答コネクタ
Google フォーム - 回答コネクタを使用して、Google フォームから回答を取得します。
Google フォーム - 回答コネクタには、次のパラメータが必要です。
| パラメータ | 説明 |
|---|---|
Product Field Name |
必須 商品名が保存されるフィールドの名前。 デフォルト値は |
Event Field Name |
必須 イベント名(サブタイプ)を特定するために使用されるフィールド名。 デフォルト値は |
Environment Field Name |
省略可
環境名が保存されるフィールドの名前。 環境フィールドが見つからない場合、環境はデフォルトの環境に設定されます。 デフォルト値は |
Environment Regex Pattern |
省略可
デフォルト値 正規表現パターンが null か空の場合、または環境値が null の場合、最終的な環境の結果はデフォルト環境になります。 |
Script Timeout (Seconds) |
必須 現在のスクリプトを実行している Python プロセスのタイムアウト上限(秒単位)。 デフォルト値は 300 秒です。 |
Delegated Email |
必須 権限借用とアクセス制御に使用するメールアドレス。 |
Service Account JSON |
必須 サービス アカウント キーの JSON ファイルの内容。 |
Form IDs To Track |
必須 回答を追跡する Google フォーム ID のカンマ区切りのリスト。 フォームの一意の ID を取得するには、フォーム エディタ(一般公開されている回答リンクではない)でフォームを開き、ブラウザのバーに表示されている完全なアドレスの |
Alert Severity |
Optional 取り込まれた Google フォームの回答に基づいてコネクタが作成するすべてのアラートに割り当てる重大度レベル。 値は次のいずれかになります。
デフォルト値は |
Max Hours Backwards |
必須 最初のコネクタ イテレーションの何時間前からレスポンスを取得するか。このパラメータは、コネクタを初めて有効にした後の最初のコネクタ イテレーション、または期限切れのコネクタ タイムスタンプのフォールバック値に適用されます。 デフォルト値は 1 時間です。 |
Max Responses To Fetch |
必須 コネクタのイテレーションごとに処理するレスポンスの最大数。 最大数は 100 です。 |
Disable Overflow |
Optional このオプションを選択すると、アラートの作成時に Google SecOps のオーバーフロー メカニズムが無視されます。 デフォルトでは選択されていません。 |
Verify SSL |
必須 選択すると、統合によって Google フォームへの接続用の SSL 証明書が有効かどうかが検証されます。 デフォルトでは選択されていません。 |
Proxy Server Address |
Optional 使用するプロキシ サーバーのアドレス。 |
Proxy Username |
Optional 認証に使用するプロキシのユーザー名。 |
Proxy Password |
Optional 認証に使用するプロキシ パスワード。 |
コネクタルール
Google フォーム - 回答コネクタはプロキシをサポートしています。
コネクタ イベント
次の例は、Google フォーム - 回答コネクタが生成した Google SecOps イベントの JSON 出力です。
{
"responseId": "RESPONSE_ID",
"createTime": "2024-09-05T11:43:13.892Z",
"lastSubmittedTime": "2024-09-05T11:43:13.892123Z",
"event_type": "Question",
"questionId": "78099fe3",
"textAnswers": {
"answers": [
{
"value": "Option 1"
}
]
}
}
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。