G-gen の武井です。当記事では、Google が提供する SIEM/SOAR 製品である Google SecOps と AWS のログ連携をキーレス認証で実現する方法について解説します。

前提知識
Google SecOps
Google Security Operations(以下 Google SecOps、旧称 Chronicle)は、Google Cloud が提供する統合セキュリティ運用プラットフォームです。
SIEM、SOAR、脅威インテリジェンス、Gemini を利用した AI による運用支援を提供します。これらにより、脅威の検知・調査・対応を一元的に行えます。結果として、セキュリティ運用の効率化と高度化を実現できます。
詳細は、以下の記事をご参照ください。
データフィード
Google SecOps では、AWS、Azure、その他 SaaS など、Google Cloud 以外の環境のログデータを取り込む仕組みとしてデータフィード機能があります。
SecOps UI もしくは Feed Management API を用いて、ログソース(Amazon S3、Cloud Storage、Pub/Sub、Webhook など)を指定し、各種ログを SecOps に取り込む設定を行います。
| ソースタイプ | 概要 |
|---|---|
| ストレージ | Google Cloud、AWS、Azure のクラウドストレージバケットに保存されたログデータを定期的に取得 |
| Amazon SQS | S3 バケットの通知をキュー経由で受信し、ログデータを取得(リアルタイムかつ安定的に取り込み) |
| ストリーミング | Amazon Data Firehose、Cloud Pub/Sub、Webhook などを経由し、SIEM の HTTPS エンドポイントにログデータをストリーミングでプッシュ |
| サードパーティ API | CrowdStrike、SentinelOne、Palo Alto など、外部 SaaS から API 経由でログデータを取得 |
- 参考:フィード管理の概要
キーレス認証
データフィードで AWS のログを取り込む際のデータソースに Amazon S3 や SQS を選択した場合、従来はアクセスキーとシークレットアクセスキーが必要でした。
しかし2025年5月26日のアップデートにより、AWS IAM Role for Identity Federation を選択することでキーレス認証(キーを使用しない認証)が可能となりました。


これは、Google SecOps と AWS の間に信頼関係(ID フェデレーション)を結ぶことで、固定のアクセスキーを使わずに認証を行う仕組みです。
Google SecOps が発行する OIDC トークンを AWS に提示し、AWS Security Token Service(STS)の AssumeRoleWithWebIdentity という API を介して一時的なアクセス権限を取得しています。

キーの流出リスクを根本的に排除でき、管理の手間も削減できるため、一般的にはよりセキュアな認証方式といえます。
- 参考:Google Security Operations release notes(May 26, 2025)
- 参考:AssumeRoleWithWebIdentity
- 参考:STSの一時的な認証情報取得APIコールについてまとめてみる
過去記事との相違
当記事では以下の構成のもと、S3 バケットに格納した CloudTrail ログを、データフィード機能を使って Google SecOps に取り込みます。

以下の記事でも同様の構成でログ取り込み検証を行っていますので、当記事ではキーレス認証への変更点のみ詳しく解説します。
| # | 設定項目 | 設定箇所 | 過去記事との手順差異 |
|---|---|---|---|
| 1 | S3 バケットの設定 | AWS | なし |
| 2 | SQS の設定 | AWS | なし |
| 3 | SQS アクセスポリシーの設定 | AWS | なし |
| 4 | S3 イベント通知の設定 | AWS | なし |
| 5 | CloudTrail の設定 | AWS | なし |
| 6 | IAM の設定 | AWS | あり |
| 7 | データフィードの設定 | Google SecOps | あり |
AWS の設定
カスタム IAM ロール
キー認証方式ではキーを発行したマシンアカウントに紐づけていた許可ポリシーをカスタム IAM ロールに紐づけます。
そのため、今回の例ではSecOpsFederationRoleという名前で新規作成します。
| # | 設定項目 | 設定値 |
|---|---|---|
| 1 | 信頼されたエンティティタイプ | ウェブアイデンティティ |
| 2 | アイデンティティプロバイダー | Google |
| 3 | Audience | サブジェクト ID |

なおサブジェクト ID はデータフィードの設定画面から取得可能で、後述する信頼ポリシーや ID プロバイダーの設定でも使用します。

次に、S3 と SQS に関する最小権限をもつ許可ポリシー(今回の例ではsecops-s3-access)をロールに紐づけます。
# secops-s3-access { "Version": "2012-10-17", "Statement": [ { "Sid": "ListAllowedBuckets", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::yutakei-secops-cloudtrail-test" ] }, { "Sid": "ReadObjectsFromAllowedBuckets", "Effect": "Allow", "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::yutakei-secops-cloudtrail-test/*" ] }, { "Sid": "ReadFromSQSForCloudTrailFeed", "Effect": "Allow", "Action": [ "sqs:ReceiveMessage", "sqs:DeleteMessage", "sqs:GetQueueAttributes", "sqs:GetQueueUrl" ], "Resource": [ "arn:aws:sqs:ap-northeast-1:945008193730:yutakei-secops-cloudtrail-queue" ] } ] }

カスタム IAM ロール(信頼ポリシー)
ロールを作成後、Google SecOps が OIDC トークンを用いてこのロールを一時的に引き受けられるようにするため(Assume Role するため)、信頼ポリシーを以下のように定義します。
Principal には OIDC プロバイダ(Google)を、Condition 句には サブジェクト ID(accounts.google.com:sub)を明示することで、指定した SecOps インスタンスのアクセスのみを許可します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::945008193730:oidc-provider/accounts.google.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "accounts.google.com:sub": "1234567890987654321" } } } ] }

ID プロバイダー
IAM ロールの設定に加え、AWS アカウント全体の設定として ID プロバイダー(OIDC プロバイダー)の設定が必要です。
Google の認証基盤(https://accounts.google.com)を信頼済みプロバイダーとして登録し、Google SecOps のサブジェクト ID を追加します。
これにより、Google SecOps が発行するトークンを、AWS 側が正当なリクエストとして受け入れられるようになります。
| # | 設定項目 | 設定値 |
|---|---|---|
| 1 | プロバイダのタイプ | OpenID Connect |
| 2 | プロバイダの URL | https://accounts.google.com |
| 3 | 対象者 | サブジェクト ID |

データフィードの設定
認証方式をキーレス認証(AWS IAM Role for Identity Federation)に変更し、先ほど作成したロール ARN を入力し変更を反映させます。(サブジェクト ID は自動入力されます)
これによりキー認証によるログ取り込みからキーレス認証のログ取り込みに切り替わります。

なお、前述の ID プロバイダーの設定が未完了の場合、以下のようにエラーが発生します。

動作確認
キーレス認証に切り替えた後も問題なくログが取り込めていることを確認できました。


関連記事
武井 祐介 (記事一覧)
クラウドソリューション部クラウドエンジニアリング課。
Google Cloud Partner Top Engineer 2026 選出。
Follow @ggenyutakei