![[小ネタ] Amazon API Gateway の REST API のログ記録用の IAM ロールの信頼関係に aws:SourceAccount 条件キーを設定するとログが出力されない](https://devio2024-media.developers.io/image/upload/f_auto,q_auto,w_3840/f_auto,q_auto/v1790871266/eyecatch/fl2tssaayge8tckgsg5z.png)
[小ネタ] Amazon API Gateway の REST API のログ記録用の IAM ロールの信頼関係に aws:SourceAccount 条件キーを設定するとログが出力されない
API Gateway で REST API の CloudWatch ログ記録を設定する - Amazon API Gateway
これらのアクセス許可をアカウントに付与するには、apigateway.amazonaws.com を信頼できるエンティティとして IAM ロールを作成し、前述のポリシーを IAM ロールにアタッチして、その IAM ロールの ARN をアカウントの cloudWatchRoleArn プロパティに設定します。
API Gateway では CloudWatch Logs へのログ出力のために IAM ロールを使用します。
今回は IAM ロールの信頼関係に aws:SourceAccount 条件キーを設定するとログが出力されないという事象を観測したので紹介します。
検証
検証用の API を作成し、デフォルトの IAM ロールの設定でログ記録を有効化しました。


この状態で API にリクエストした場合には CloudWatch Logs にログが出力されることを確認しました。

次に IAM ロールの信頼関係を以下のように変更しました。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "apigateway.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "012345678901"
}
}
}
]
}
デフォルトの信頼関係に aws:SourceAccount 条件キーを追加した状態です。
この状態で再度 API にリクエストした場合にはログストリームも作成されず、CloudWatch Logs にログが出力されませんでした。
冒頭のドキュメントには「aws:SourceAccount 条件キーを追加してはいけない」という点については記載されていませんでしたが、本ブログ執筆時点では上記の挙動になるようでした。
なお、AWS ナレッジセンターでは上記以外にもログが出力されないケースが紹介されているため、トラブルシューティングの際にご参照ください。
API Gateway REST API の CloudWatch ログが見つからない場合のトラブルシューティング | AWS re:Post
まとめ
今回は Amazon API Gateway の REST API のログ記録用の IAM ロールの信頼関係に aws:SourceAccount 条件キーを設定するとログが出力されないという内容を紹介しました。
どなたかの参考になれば幸いです。
参考資料
- API Gateway で REST API の CloudWatch ログ記録を設定する - Amazon API Gateway
- API Gateway REST API の CloudWatch ログが見つからない場合のトラブルシューティング | AWS re:Post
クラスメソッドオペレーションズ株式会社について
クラスメソッドグループのオペレーション企業です。
運用・保守開発・サポート・情シス・バックオフィスの専門チームが、IT・AIをフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 コーポレートサイト をぜひご覧ください。※2026年1月 アノテーション㈱から社名変更しました









