DevOps Agentの権限ガードレールがReadOnlyAccessポリシーに対応しました

DevOps Agentの権限ガードレールがReadOnlyAccessポリシーに対応しました

DevOps Agentの権限ガードレールが8月5日にReadOnlyAccessに対応し、エージェントが実行できる範囲が大きく拡大しました。新しい権限体系がもたらす影響をまとめます。
2026.08.15

こんにちは。たかやまです。

直近DevOps AgentのIAM権限周りをアップデートを確認するブログとして、2026年6,7月 の更新内容をブログにまとめてきました。

このポリシー部分の更新として、8月5日に権限ガードレール側にReadOnlyAccessを追加する大きなアップデートが入りました。

CleanShot_2026-08-15_17-07-29@2x.png
What's new - AWS DevOps Agent

権限ガードレールの概念については以下のブログをご覧ください。

https://dev.classmethod.jp/articles/devops-agent-capability-2026-05/

今回はこの権限ガードレール側のアップデート内容と、それによってエージェントが実行できる範囲がどう変わったかを、これまで行ってきたAthenaでの検証を再度実施しながら確認します。

さきにまとめ

  • 権限ガードレールがReadOnlyAccessAWSマネージドポリシーの全アクションをサポートするようになった(2026年8月5日付のアップデート)
  • 7月版で紹介したAdditional Permissionsの8サービス個別列挙は、ReadOnlyAccess全アクション + Athenaの2アクション + kms:Decryptというシンプルな構成に再編された
  • AIDevOpsAgentAccessPolicyもv10(2026-08-12)に更新され、CodeCommitを中心に34アクションが追加された

やってみる

アップデート内容の確認

DevOps AgentのWhat's Newでは以下のように記載されています。

The permission guardrail now supports every action in the ReadOnlyAccess AWS managed policy, plus athena:StartQueryExecution, athena:StopQueryExecution, and kms:Decrypt. You can enable any of these permissions for the agent by adding them to your role as an inline policy.

日本語翻訳 :
権限ガードレールは、ReadOnlyAccess AWSマネージドポリシーのすべてのアクションに加え、athena:StartQueryExecution、athena:StopQueryExecution、kms:Decrypt をサポートするようになりました。これらの権限は、インラインポリシーとしてロールに追加することでエージェントに対して有効にできます。

https://docs.aws.amazon.com/devopsagent/latest/userguide/whats-new.html

ドキュメント側には以下のよう記載されています。

The default AIDevOpsAgentAccessPolicy managed policy grants only a subset of what the guardrail allows. The guardrail also permits every action in the ReadOnlyAccess AWS managed policy, plus a few additional permissions. To use a permission the guardrail allows but the default policy does not grant, add it to your role as an inline policy.

日本語翻訳 :
デフォルトのAIDevOpsAgentAccessPolicyマネージドポリシーは、ガードレールが許可する範囲の一部のみを付与しています。ガードレールはReadOnlyAccess AWSマネージドポリシーのすべてのアクションと、いくつかの追加権限も許可しています。ガードレールが許可しているもののデフォルトポリシーでは付与されていない権限を使うには、その権限をインラインポリシーとしてロールに追加します。

https://docs.aws.amazon.com/devopsagent/latest/userguide/aws-devops-agent-security-limiting-agent-access-in-an-aws-account.html#extending-permissions-beyond-the-default

Additional Permissionsの変更

7月版記事執筆時点のAdditional Permissionsは、以下の8サービスをアクション単位で個別に列挙する形でした。

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パラメータの読み取り

これが今回のアップデートでガードレールにReadOnlyAccessを追加可能となったことで、個別に追加できるアクションとしての記載はシンプルに2つのサービスとなっています。

Service Actions Use case
Amazon Athena athena:StartQueryExecution, athena:StopQueryExecution データカタログに対するAthenaクエリの実行
AWS KMS kms:Decrypt S3オブジェクト等の暗号化リソースの復号

ただ、以下のような記載もありReadOnlyAccessの追加による安全性はAWS側で保証しないとのことです。

You can enable any permission the guardrail supports by adding it to your role as an inline policy. These are not granted by default — you must explicitly opt in.
We have fully tested and verified that only the permissions in the AIDevOpsAgentAccessPolicy managed policy are safe for use with the agent. The other permissions the guardrail supports have not been tested with the agent. Enabling them falls under the AWS shared responsibility model. You are responsible for evaluating whether those actions are appropriate for the agent to perform against your resources. Scope them to follow the principle of least privilege.

日本語翻訳 :
ガードレールがサポートする権限は、ロールにインラインポリシーとして追加することで有効にできます。これらの権限はデフォルトでは付与されていません — 明示的にオプトインする必要があります。
エージェントでの利用が安全であると十分にテスト・検証されているのは、AIDevOpsAgentAccessPolicyマネージドポリシーに含まれる権限のみです。 ガードレールがサポートするその他の権限は、エージェントでの利用がテストされていません。それらを有効にする場合はAWS責任共有モデルの範囲となり、リソースに対してエージェントに実行させてよいかを評価する責任はユーザー側にあります。最小権限の原則に従ってスコープを絞ってください。
https://docs.aws.amazon.com/devopsagent/latest/userguide/aws-devops-agent-security-limiting-agent-access-in-an-aws-account.html#extending-permissions-beyond-the-default

DevOps Agentによる想定外の変更を防ぎ安全に利用したい場合には、検証されている 「AIDevOpsAgentAccessPolicy」 を利用することを推奨しています。

AIDevOpsAgentAccessPolicyの確認

では現在のAIDevOpsAgentAccessPolicyのバージョンはどうなっているかというと、v10(2026-08-12)に更新されていました。

https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AIDevOpsAgentAccessPolicy.html

7月版からの更新内容は以下のとおりです。

Version 作成日 変更内容
v9 2026-07-02 Direct Connectを新規サービスとして9アクション追加(directconnect:Describe*
glue:GetPartitions, glue:GetTables 追加
s3:GetIntelligentTieringConfiguration, s3:GetInventoryConfiguration 追加
API GatewayのResourceに/domainnames(コレクション自体のARN)を追加
v10 (current) 2026-08-12 削除ゼロ・34アクション追加。CodeCommitを25アクション拡充(v9ではcodecommit:GetRepositorycodecommit:GetRepositoryTriggersの2件のみだったが、BatchDescribe*BatchGet*Describe*Get*系、List*等に大幅拡大)
AWS Config(config:GetAggregateResourceConfig, config:SelectAggregateResourceConfig)を2アクション追加
Glueに小文字表記のglue:getPartitionを追加(v9は複数形glue:GetPartitionsのみ)
KMSを6アクション追加(kms:DescribeCustomKeyStores, kms:GetParametersForImport, kms:GetPublicKey, kms:ListGrants, kms:ListKeyPolicies, kms:ListRetirableGrants

いままではDevOps Agentの調査範囲の拡大の観点でこちらのアップデートを確認していましたが、ReadOnlyAccessが追加できるようになった現在、 AIDevOpsAgentAccessPolicy はAWSが検証完了した安全な操作が追加されてくるものとしてみる形で良さそうですね

Athenaのクエリを再度試してみる

ReadOnlyAccessを付与した状態で、7月版でも試したAthenaクエリの検証を、もう一度実行してみます。
(検証としてReadOnlyAccessポリシーとAthenaクエリを実行するための権限をアタッチしています)

今回は、クエリ結果の保存先をAthena管理のストレージにするManaged query results(Athenaマネージドストレージ)を有効にしたワークグループをあらかじめ用意しておきます。

作成したワークグループを指定して、DevOps Agentのチャットに以下を依頼しました。

Athenaを使ってCloudTrailログのテーブルにクエリを実行してください。まず利用可能なGlueデータベースとテーブルを確認し、CloudTrailログのテーブルが見つかったら直近のイベント数を数える簡単なクエリ(例: SELECT COUNT(*) FROM <table> LIMIT 10 相当)を実行して結果を教えてください。
権限エラーが発生した場合は、どのIAMアクションが拒否されたかエラー内容をそのまま教えてください。

処理の流れは以下のとおりで、権限エラーなしで完走できました。

  1. athena.start_query_executionを呼び出し、成功。レスポンスにManagedQueryResultsConfiguration: {Enabled: true}が含まれ、マネージドストレージ側の設定で実行されていることを確認
  2. ポーリングを継続してクエリステータスがSUCCEEDEDに到達
  3. athena.get_query_resultsを呼び出し、成功。クエリ結果として28,127,791件のイベント数を取得

CleanShot_2026-08-15_19-42-17@2x.png

ちなみに結果取得系の「athena:GetQueryExecution」と「athena:GetQueryResults」はAIDevOpsAgentAccessPolicy 自体には含まれていません。

ReadOnlyAccessを付与することにより、これらのアクションも使用できるようになりました。

ReadOnlyAccessを付与してBedrock AgentCoreを試してみる

また ReadOnlyAccess でデフォルトの AIDevOpsAgentAccessPolicy では利用できなかったBedrock AgentCoreの確認をしてみます。

今ままではAdditional Permissionsにも追加されていなかったので、Bedrock AgentCoreの確認はできませんでしたが、ReadOnlyAccessを付与することにより確認できるようになりました。

ReadOnlyAccess追加前 :

CleanShot_2026-08-15_19-51-15@2x.png

ReadOnlyAccess追加後 :

CleanShot_2026-08-15_19-52-18@2x.png

ReadOnlyAccessを付与したことで、Bedrock AgentCoreの確認ができることが確認できました。

最後に

今回はDevOps Agentの権限ガードレールがReadOnlyAccessマネージドポリシーに対応したアップデートを確認しました。

7月時点では最大8サービスの個別アクションを追加できるAdditional Permissionsが、ReadOnlyAccessという1つのマネージドポリシー名でまとめて表現できるようになり、権限管理の見通しがだいぶ良くなった印象です。

これまではAIDevOpsAgentAccessPolicyのアップデートを追いかけて、参照できるサービスがどこまで広がったかを確認していました。

今回ReadOnlyAccessが使えるようになったことで、参照系については必要な権限をユーザー側の責任で追加すればよくなり、マネージドポリシーの更新を待つ必要はなくなりました。

そのぶん、どこまでエージェントに見せるかの判断はユーザー側に移っています。ReadOnlyAccessをまるごと付与するのではなく、調査に必要な範囲をResourceで絞って付与するところから始めるのが良さそうですね。

こちらの記事がどなたかの助けになれば幸いです。

以上、たかやま(@nyan_kotaroo)でした。

この記事をシェアする

関連記事