
2026年07時点のDevOps AgentのIAM権限を調べてみた
こんにちは。たかやまです。
以前DevOps AgentのIAM権限周りについて2026年6月時点の内容をまとめてみました。
それから約1ヶ月が経ち、AIDevOpsAgentAccessPolicy に7月も更新が入っていたので、2026年7月時点の内容をまとめました。
さきにまとめ
AIDevOpsAgentAccessPolicyはv8(2026/06/26)、v9(2026/07/02)と更新され、現時点ではv9が最新- v7以降は削除ゼロ・追加のみ。
- ACM、Bedrock、EC2 Capacity Manager、Glueの拡充に加え、BCM Data Exports・Cost and Usage Report・Direct Connectが新規サービスとしてカバー対象に加わった
- Additional Permissionsは5サービスから8サービスに拡大。
- CloudWatch Logs、DynamoDB、AWS Supportが新規で、Direct Connectはテーブルから消えてマネージドポリシー本体側に移った
- 6月時点でブロックされていたGlueのテーブル参照がv9で解消し、DevOps Agent経由のAthenaクエリはエンジン実行(スキャン)まで到達するようになった
- ただし最終的なクエリ結果の取得は、結果保存先S3バケットへの書き込み権限不足でまだ失敗する
確認してみる
DevOps Agentのマネージドポリシーと追加可能な権限について、前回からの差分を中心に確認してみます。
AIDevOpsAgentAccessPolicy のアップデート確認
AIDevOpsAgentAccessPolicy は以下のドキュメントからポリシーの内容を確認できます。
執筆時点では2026/07/02の更新でv9となっています。
過去バージョンのポリシーは以下のコマンドで確認できます。
# ポリシーのバージョン一覧を確認
aws iam list-policy-versions \
--policy-arn arn:aws:iam::aws:policy/AIDevOpsAgentAccessPolicy
# 特定バージョンのポリシードキュメントを確認(v9の例)
aws iam get-policy-version \
--policy-arn arn:aws:iam::aws:policy/AIDevOpsAgentAccessPolicy \
--version-id v9
各バージョンでの更新内容は以下のとおりです。v1〜v7は前回記事からの流用、v8・v9が今回の追加分です。
| Version | 作成日 | 変更内容 |
|---|---|---|
| v1 | 2026-03-26 | 初版 |
| v2 | 2026-04-23 | pi: を pi:Describe*, pi:Get*, pi:List* にワイルドカード化servicequotas:ListServiceQuotas 追加 |
| v3 | 2026-05-07 | ce:GetAnomalyMonitors, ce:GetAnomalySubscriptions を ce:Get* にワイルドカード化 |
| v4 | 2026-05-11 | v3と同一(差分なし) |
| v5 | 2026-06-01 | health:DescribeAffectedEntities 追加securityhub:GetFindings 追加 |
| v6 | 2026-06-06 | aidevops: 系を拡張(GetAsset,GetAssetContent,GetAssetFile,ListAssetFiles,ListAssets,ListAssetTypes,ListAssetVersions 追加)resiliencehub:Get* にワイルドカード化 |
| v7 | 2026-06-24 | AIOPSServiceWriteAccess Sidを新設し書き込み系アクションを分離guardduty:GetFindings, inspector2:SearchVulnerabilities, logs:GetLogEvents 追加health:Describe*, servicequotas:Get*, servicequotas:List* にワイルドカード化glue:GetCrawler, budgets:ViewBudget, iam:ListAccountAliases, iam:ListUsers 追加ssm:GetCommandInvocation, sso:DescribePermissionSet, sso:ListPermissionSets 追加 |
| v8 | 2026-06-26 | ACM(acm:GetCertificate, acm:ListCertificates)追加BCM Data Exports・Cost and Usage Report( cur:)を新規サービスとして追加Bedrockのモデル情報取得系を5アクション追加 EC2 Capacity Manager関連を3アクション追加 Glueを14アクション追加し大幅拡充 |
| v9 (current) | 2026-07-02 | Direct Connectを新規サービスとして9アクション追加(directconnect:Describe*)glue:GetPartitions, glue:GetTables 追加s3:GetIntelligentTieringConfiguration, s3:GetInventoryConfiguration 追加API GatewayのResourceに /domainnames(コレクション自体のARN)を追加 |
v7からv8、v8からv9のいずれも既存アクションの削除やワイルドカード化による縮小はなく、追加による拡張がされています。
個人的に気になったのはGlue周りの拡充です。
v8で14アクション、v9でさらに glue:GetPartitions と glue:GetTables が追加され、Glue Data Catalogに対する読み取り範囲がかなり広がりました。
後述のAthena検証にも関わってくる部分なので、後ほど詳しく触れます。
もう一点、v8とv9で新規サービスとして加わったBCM Data Exports、Cost and Usage Report(CUR)、Direct Connectはいずれも読み取り専用(Get*/Describe*/List*)で、コスト分析やネットワーク接続の調査にDevOps Agentを使えるシーンが広がりそうです。
Additional Permissions の確認
DevOps Agentではユーザー側で追加の権限を付与することで、マネージドポリシーの範囲を超えて参照できる範囲を拡張できます。
追加可能な権限の一覧はドキュメントで確認できます。
前回ブログ執筆時(2026年6月25日)では以下の権限が追加可能として記載されていました。
| Service | Actions | Use case |
|---|---|---|
| Amazon Athena | athena:GetQuery*, athena:StartQueryExecution, athena:StopQueryExecution |
データカタログに対するAthenaクエリの実行と結果の取得 |
| Amazon S3 | s3:GetObject, s3:ListBucket |
S3に保存されたアプリケーションデータ、ログ、設定の読み取り |
| AWS Direct Connect | directconnect:DescribeConnections,directconnect:DescribeDirectConnectGatewayAssociations,directconnect:DescribeDirectConnectGateways,directconnect:DescribeLags,directconnect:DescribeVirtualInterfaces |
ネットワーク接続の問題調査 |
| AWS Glue | glue:GetPartitions |
Athenaクエリ用にGlue Data Catalogのパーティションメタデータ取得 |
| AWS KMS | kms:Decrypt |
S3オブジェクト等の暗号化リソースの復号 |
執筆時点(2026/07/31)では以下の権限が追加可能として記載されています。
| Service | Actions | Use case |
|---|---|---|
| Amazon Athena | athena:GetQuery*, athena:StartQueryExecution, athena:StopQueryExecution |
データカタログに対するAthenaクエリの実行と結果の取得 |
| Amazon CloudWatch Logs | logs:GetLogRecord |
調査対象アプリケーションの個別ログレコードの取得 |
| Amazon DynamoDB | dynamodb:Scan, dynamodb:Query, dynamodb:GetItem, dynamodb:BatchGetItem |
調査時のDynamoDBテーブルからのアイテム読み取り |
| Amazon S3 | s3:GetObject, s3:ListBucket |
S3に保存されたアプリケーションデータ、ログ、設定の読み取り |
| AWS Glue | glue:GetPartition |
Athenaクエリ用にGlue Data Catalogのパーティションメタデータ取得 |
| AWS KMS | kms:Decrypt |
S3オブジェクト等の暗号化リソースの復号 |
| AWS Support | support:DescribeCommunications |
調査に関連するAWS Supportケースのやり取りの参照 |
| AWS Systems Manager | ssm:GetParameter |
アプリケーションが使用するSystems Managerパラメータの読み取り |
前回の5サービスから8サービスに増えており、CloudWatch Logs、DynamoDB、AWS Supportが新規です。
一方でAWS Direct ConnectはAdditional Permissionsから消えています。
前述のとおりv9でマネージドポリシー本体側に同等のDescribe系9アクションが追加されているため、Additional Permissions(オプトインで追加する権限)からデフォルト許可へ移ったような形です。
Athenaのクエリを再度試してみる
前回の検証では、Additional Permissionsで athena:StartQueryExecution を許可していても、クエリ実行に必要な glue:GetTable や glue:GetDatabase がガードレールでブロックされ、クエリ実行そのものに到達できませんでした。
v9でGlue権限が大幅に拡充されたので、同じ検証をもう一度やってみます。
検証用にCloudTrailログをクエリできるAthenaテーブルを用意し、DevOps Agentのチャットに以下を依頼しました。
Athenaを使ってCloudTrailログのテーブルにクエリを実行してください。まず利用可能なGlueデータベースとテーブルを確認し、CloudTrailログのテーブルが見つかったら直近のイベント数を数える簡単なクエリ(例: SELECT COUNT(*) FROM <table> LIMIT 10 相当)を実行して結果を教えてください。
権限エラーが発生した場合は、どのIAMアクションが拒否されたかエラー内容をそのまま教えてください。
(検証用にAdditional PermissionsとしてAdministratorAccessポリシーを付与しています)

DevOps Agentの処理ログを見ると、以下の流れで進みました。
glue.get_databasesを呼び出し、成功。defaultデータベースを検出glue.get_tablesを呼び出し、成功。default.cloudtrail_logsテーブルを検出athena.get_work_groupを呼び出し、成功。ワークグループのOutputLocation(結果出力先)を確認athena.start_query_executionを呼び出し、成功。SELECT COUNT(*) as event_count FROM default.cloudtrail_logsを発行athena.get_query_executionを24回ポーリング- 最終的にクエリエンジン側の実行自体は完了(約68.5秒、約6.25GBスキャン)したが、ステータスはFAILED
6月時点でブロックされていたGlueのデータベース参照・テーブル参照は、今回は両方とも成功しています。
v9で追加された glue:GetTables 等により動作が改善されたようですが、ただしクエリは最終的に失敗しており、DevOps Agentからは以下のエラーが返ってきました。
Access denied when writing output to url:
s3://athena-query-results-123456789012-ap-northeast-1/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.csv
Please ensure you are allowed to access the S3 bucket.
If specifying an expected bucket owner, confirm the bucket is owned by the expected account.
If you are encrypting query results with KMS key, please ensure you are allowed to access your KMS key
DevOps Agent自身の分析コメントは以下のとおりでした。
スキャンデータ量が 6.25 GB 発生していることから、CloudTrail ログのテーブルは存在しデータも読めていることは確認できています。問題は結果の「書き出し先」のみです。
Athena本体のクエリ実行(エンジンでのスキャン)までは到達できましたが、結果をS3に書き込む段階の s3:PutObject がAccess Deniedとなり、最終的な結果取得はできませんでした。
6月時点と7月時点の到達点を整理すると以下のようになります。
| 項目 | 6月時点 | 7月時点 |
|---|---|---|
| Athenaクエリ発行(StartQueryExecution) | 成功(ただ、内部処理のGlue権限で後述の通り結果取得自体はエラー) | 成功(クエリ発行・エンジン実行完了、約6.25GBスキャン) |
| Glueデータベース参照(GetDatabases) | ブロック(ガードレールで拒否) | 成功 |
| Glueテーブル参照(GetTables) | ブロック(ガードレールで拒否) | 成功 |
| ワークグループ確認(GetWorkGroup) | 成功 | 成功(OutputLocationを確認) |
| クエリ結果取得 | Glueエラーで未到達 | 失敗(結果保存先S3への s3:PutObject がAccess Denied) |
Glue側のエラーは解消された一方、依然としてAthenaクエリ結果の出力先バケットへの書き込み権限周りでエラーとなりました。
ここはAdditional Permissionsのテーブルにも s3:PutObject 相当の記載がないため、次のアップデートが気になるところです。
(mutableな操作になるので PutObject 権限の追加は難しそうな気はしています)
ちなみに最近のアップデートで DevOps Agent Sandbox 機能が利用できるようになり、DevOps Agent 内で ツールを使ってクエリできるようになりました。
以下のブログにてDevOps Agent 上でDuckDBを使って調査をためしているので、そちらも参考にしてみてください。
最後に
今回は2026年7月時点でのDevOps Agentの調査権限の変更点を確認してみました。
AIDevOpsAgentAccessPolicy はv8・v9と更新が続き、Glueの拡充を中心にBCM Data Exports・CUR・Direct Connectといった新規サービスもカバーされるようになりました。Additional Permissionsも8サービスまで拡大し、DynamoDBやAWS Supportのケース参照など調査の幅が着実に広がっています。
Athenaクエリについては、6月時点で壁になっていたGlue側のガードレールが解消され、クエリのエンジン実行までは到達できるようになっていました。
一方で結果の書き込み先S3バケットへの権限が足りずエラーになる状態は依然として残っているので、DevOps Agent自体でクエリをしたい場合にはSandbox機能を利用するのが良いかもしれません。
DevOps Agentの権限まわりは月単位でアップデートが続いているので、引き続き期間を空けてこのあたりを追いかけてみたいと思います。
以上、たかやま(@nyan_kotaroo)でした。





