<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">

<channel>
	<title>Amazon Web Services ブログ</title>
	<atom:link href="https://aws.amazon.com/jp/blogs/news/feed/" rel="self" type="application/rss+xml"/>
	<link>https://aws.amazon.com/jp/blogs/news/</link>
	<description/>
	<lastBuildDate>Fri, 22 May 2026 08:26:32 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>CIRT インサイト: AWS Organizations からの不正なアカウント離脱を防ぐには</title>
		<link>https://aws.amazon.com/jp/blogs/news/cirt-insights-how-to-help-prevent-unauthorized-account-removals-from-aws-organizations/</link>
		
		<dc:creator><![CDATA[Hiroaki Matsuzaki]]></dc:creator>
		<pubDate>Fri, 22 May 2026 07:14:06 +0000</pubDate>
				<category><![CDATA[AWS Organizations]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[Security Blog]]></category>
		<guid isPermaLink="false">428897c2a0ffe8e794c1e2159a686df42080b1c4</guid>

					<description>AWS Customer Incident Response Team (CIRT) が観測している、攻撃者がお客様アカウントを侵害した後に AWS Organizations から離脱させ、SCP やガバナンス制御を回避する新しい手口について解説します。 具体的には、organizations:LeaveOrganization 権限を持つクレデンシャルが悪用されると、メンバーアカウントが Organization の保護下から外れ、CloudTrail の組織トレイル、GuardDuty の中央集約、SCP による制限、一括請求などの可視性と統制が失われます。 最も効果が大きく労力の少ない対策として、organizations:LeaveOrganization アクションを拒否する SCP (DenyLeaveOrganization) の実装を推奨します。あわせて、CloudTrail での AcceptHandshake / LeaveOrganization / InviteAccountToOrganization / RemoveAccountFromOrganization イベントの監視、IAM の最小権限原則の徹底、およびルートアクセスの一元管理についても解説しています。</description>
										<content:encoded>&lt;p&gt;本ブログは 2026 年 5 月 19 日に公開された AWS Blog、”&lt;a target="_blank" href="https://aws.amazon.com/blogs/security/cirt-insights-how-to-help-prevent-unauthorized-account-removals-from-aws-organizations/" rel="noopener"&gt;CIRT insights: How to help prevent unauthorized account removals from AWS Organizations&lt;/a&gt;” を翻訳したものです。&lt;/p&gt; 
&lt;p&gt;&lt;a target="_blank" href="https://aws.amazon.com/blogs/security/welcoming-the-aws-customer-incident-response-team/" rel="noopener"&gt;AWS Customer Incident Response Team (CIRT)&lt;/a&gt; は、お客様がアクティブなセキュリティインシデントから復旧するためのご支援を行っています。この活動の中で、特定の&lt;a target="_blank" href="https://aws.amazon.com/compliance/shared-responsibility-model/" rel="noopener"&gt;お客様の構成や設計&lt;/a&gt;を悪用する、新しいまたは流行している攻撃手口を発見することがしばしばあります。&lt;/p&gt; 
&lt;p&gt;これらの手口を理解することは、アーキテクチャ上の意思決定への反映、対応計画の改善、そして実際にこのような状況が発生した場合の検出に役立ちます。&lt;/p&gt; 
&lt;p&gt;本投稿では、攻撃者がお客様アカウントの制御を奪取した後に取る新しいアプローチを取り上げます。具体的には、お客様の &lt;a target="_blank" href="https://aws.amazon.com/organizations" rel="noopener"&gt;AWS Organizations&lt;/a&gt; 実装から該当アカウントを離脱させ、その構造が提供するポリシーや保護を回避する手口です。&lt;/p&gt; 
&lt;p&gt;本記事で説明する手口は、AWS サービスの脆弱性を利用するものではありません。代わりに、特定の構成や設計によって生じた予期しない機会を悪用し、AWS アカウント内のリソースを不正に使用するものです。&lt;/p&gt; 
&lt;h2&gt;何が起きているのか&lt;/h2&gt; 
&lt;p&gt;このアプローチは、攻撃者が &lt;code&gt;organizations:LeaveOrganization&lt;/code&gt; 権限の付与を持つクレデンシャルを使用するところから始まります。この権限は &lt;code&gt;LeaveOrganization&lt;/code&gt; &lt;a target="_blank" href="https://docs.aws.amazon.com/organizations/latest/APIReference/API_LeaveOrganization.html" rel="noopener"&gt;API コール&lt;/a&gt;へのアクセスを提供し、メンバーアカウントから呼び出されると、そのアカウントを Organization から離脱させようとします。&lt;/p&gt; 
&lt;p&gt;重要な点として、このアプローチでは侵害されたルートクレデンシャルが使われる場合もありますが、攻撃者は他の手段でアクセス権を昇格させ、必要な権限を取得したり、その権限を持つロールを引き受ける能力を獲得したり、現在のクレデンシャルにこの権限を付与する能力を獲得したりすることもできます。これが、認可に対して&lt;a target="_blank" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege" rel="noopener"&gt;最小権限のアプローチ&lt;/a&gt;を取ることが、お客様の環境を保護する上で極めて重要である理由です。詳細については、&lt;a target="_blank" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html" rel="noopener"&gt;AWS Identity and Access Management (IAM) ドキュメント&lt;/a&gt;と、&lt;a target="_blank" href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_ous.html" rel="noopener"&gt;組織単位 (OU)&lt;/a&gt; 設計および &lt;a target="_blank" href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html" rel="noopener"&gt;サービスコントロールポリシー (SCP)&lt;/a&gt; 実装に関する AWS Organizations のガイダンスをご覧ください。&lt;/p&gt; 
&lt;h2&gt;お客様の環境への影響&lt;/h2&gt; 
&lt;p&gt;アカウントが Organization から離脱させられると、その Organization の一部として継承されていた制限 (破壊的なアクションを防止していた SCP、利用可能な AWS リージョンを制限していたもの、特定の API コールをブロックしていたもの等) が適用されなくなります。また、当該アカウントは一括請求 (Consolidated Billing) の対象外となるため、Organization の請求アラートやコスト異常検知も該当アカウントの活動をカバーしなくなります。&lt;a target="_blank" href="https://aws.amazon.com/cloudtrail" rel="noopener"&gt;AWS CloudTrail&lt;/a&gt; の組織トレイルは離脱したアカウントからのイベント取得を停止し、委任管理者を介して管理されていた &lt;a target="_blank" href="https://aws.amazon.com/guardduty" rel="noopener"&gt;Amazon GuardDuty&lt;/a&gt; の検出結果も中央のセキュリティアカウントへ流れなくなります。&lt;/p&gt; 
&lt;p&gt;その結果しばしば発生するのは、Organization が当該アカウントへの可視性を失う一方で、そのアカウント内には引き続き Organization のリソースが残るという状況です。関連する Threat Technique Catalog のエントリを以下に示します。&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a target="_blank" href="https://aws-samples.github.io/threat-technique-catalog-for-aws/Techniques/T1078.A002.html" rel="noopener"&gt;T1078.A002: Account Root User&lt;/a&gt;: 侵害されたルートクレデンシャルを利用した初期アクセス&lt;/li&gt; 
 &lt;li&gt;&lt;a target="_blank" href="https://aws-samples.github.io/threat-technique-catalog-for-aws/Techniques/T1078.004.html" rel="noopener"&gt;T1078.004: Cloud Accounts&lt;/a&gt;: 侵害された IAM クレデンシャルを利用した初期アクセス&lt;/li&gt; 
 &lt;li&gt;&lt;a target="_blank" href="https://aws-samples.github.io/threat-technique-catalog-for-aws/Techniques/T1098.html" rel="noopener"&gt;T1098: Account Manipulation&lt;/a&gt;: 制御を維持するための権限昇格とアカウント設定の変更&lt;/li&gt; 
 &lt;li&gt;&lt;a target="_blank" href="https://aws-samples.github.io/threat-technique-catalog-for-aws/Techniques/T1666.A002.html" rel="noopener"&gt;T1666.A002: Leave AWS Organization&lt;/a&gt;: SCP やガバナンスコントロールを回避するため、メンバーアカウントを Organization から離脱させる&lt;/li&gt; 
 &lt;li&gt;&lt;a target="_blank" href="https://aws-samples.github.io/threat-technique-catalog-for-aws/Techniques/T1562.008.html" rel="noopener"&gt;T1562.008: Disable Cloud Logs&lt;/a&gt;: Organization からの離脱後、中央集約型ロギングの可視性が失われる&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;この手口の検知&lt;/h2&gt; 
&lt;p&gt;アカウントが Organization からの離脱を試みると、CloudTrail には少なくとも 2 つの API コールが記録されます。&lt;code&gt;organizations:AcceptHandshake&lt;/code&gt; と &lt;code&gt;organizations:LeaveOrganization&lt;/code&gt; です。中央集約型のロギングを構成している場合、これらのイベントが侵害アカウントから観測される最後のイベントとなる可能性があります。Organization からの離脱後、デフォルトではアカウント内のイベントは自身の CloudTrail ログに記録されることになります。アカウントが Organization に参加または離脱する際に関連する CloudTrail イベントを以下に示します。これらのイベントは、AWS Organizations を管理するためにチームが利用する承認済みの運用ワークフローの一部でない限り、調査が必要です。&lt;/p&gt; 
&lt;table border="1px" cellpadding="10px" style="border-collapse: separate;text-indent: initial;border-spacing: 2px;border-color: gray;width: 100%"&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;&lt;b&gt;CloudTrail イベント&lt;/b&gt;&lt;/td&gt; 
   &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;&lt;b&gt;意味&lt;/b&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;&lt;code&gt;LeaveOrganization&lt;/code&gt;&lt;/td&gt; 
   &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;メンバーアカウントが Organization から離脱しようとしている&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;&lt;code&gt;AcceptHandshake&lt;/code&gt;&lt;/td&gt; 
   &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;アカウントが別の Organization への参加招待を承諾している&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;&lt;code&gt;InviteAccountToOrganization&lt;/code&gt;&lt;/td&gt; 
   &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Organization がアカウントを招待している&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;&lt;code&gt;RemoveAccountFromOrganization&lt;/code&gt;&lt;/td&gt; 
   &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;管理アカウントがメンバーアカウントを削除している (メンバー自らが離脱する場合とは異なる)&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;この手口を防ぐための推奨ステップ&lt;/h2&gt; 
&lt;p&gt;&lt;code&gt;organizations:LeaveOrganization&lt;/code&gt; アクションを拒否する SCP を実装してください。AWS Organizations は&lt;a target="_blank" href="https://aws.amazon.com/jp/blogs/news/essential-security-controls-to-prevent-unauthorized-account-removal-in-aws-organizations/" rel="noopener"&gt;この制御の実装に関する詳細なガイダンス&lt;/a&gt;を提供しており、具体的な SCP ポリシー JSON や、本番環境および開発環境のアカウントには保護を維持しつつ正当なアカウント移行を許容できる OU 構造の設計に関するアドバイスが含まれています。&lt;/p&gt; 
&lt;p&gt;SCP は、メンバーアカウント内で IAM ポリシーが許可できる範囲を制限するガードレールとして機能します。AWS Organizations をご利用のすべてのお客様には、この SCP が現在配置されているかを確認し、配置されていない場合には実装に向けた手順を踏むことを強く推奨いたします。この SCP は迅速にデプロイでき、運用上の影響も最小限です。メンバーアカウントを Organization から分離することを慎重に管理・検討するためのプロセスを提供します。&lt;/p&gt; 
&lt;p&gt;このアクションは、ルートだけでなく &lt;code&gt;organizations:LeaveOrganization&lt;/code&gt; 権限を持つあらゆる侵害された IAM プリンシパルから発生し得るため、IAM 権限の最小権限原則は重要な補完的な制御となります。ユーザーやロールがポリシーの追加・削除・変更を行ったり、別のロールを引き受けたり、自身の権限を変更したりできる範囲を制限することで、不正な権限変更が行われる経路を減らすことができます。IAM ポリシーを定期的にレビューし、過度に広範な権限 (特に &lt;code&gt;iam:AttachRolePolicy&lt;/code&gt;、&lt;code&gt;iam:AttachUserPolicy&lt;/code&gt;、&lt;code&gt;iam:PutRolePolicy&lt;/code&gt;、および広範な信頼ポリシーを伴う &lt;code&gt;sts:AssumeRole&lt;/code&gt;) を確認することは、侵害されたプリンシパルが実行できる範囲を制限するのに役立ちます。&lt;/p&gt; 
&lt;p&gt;ルートアカウントのセキュリティは引き続き重要です。ルートの侵害がこのパターンの一般的な侵入経路となるためです。すべてのルートユーザーに対して多要素認証 (MFA) を有効化し、ルートアクセスキーを削除し、メンバーアカウントからルートクレデンシャルを完全に取り除く&lt;a target="_blank" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#id_root-user-access-management" rel="noopener"&gt;ルートアクセスの一元管理&lt;/a&gt;を採用することで、リスクの軽減につながります。&lt;/p&gt; 
&lt;h2&gt;今後について&lt;/h2&gt; 
&lt;p&gt;本手口は、私たちが様々なエンゲージメントを通じて目にしている、より広範なテーマを浮き彫りにしています。攻撃者は AWS のガバナンスコントロールがどのように機能するかをますます認識しており、Organization が提供する制御からアカウントを切り離すための意図的な手段を取っています。AWS CloudTrail を無効化する、Amazon GuardDuty ディテクターを削除する、Organization からアカウントを離脱させるといった行為は、いずれも同じ戦略の派生形にあたります。すなわち、本来であれば攻撃者の活動を制約し、お客様による対応を支援するはずのガードレールと可視性から、お客様のアカウントを切り離すというものです。&lt;/p&gt; 
&lt;p&gt;これを防ぐための制御は本日時点で利用可能であり、実装も簡単です。&lt;a target="_blank" href="https://aws.amazon.com/jp/blogs/news/essential-security-controls-to-prevent-unauthorized-account-removal-in-aws-organizations/" rel="noopener"&gt;AWS Organizations サービスチームのガイダンス&lt;/a&gt;から始め、&lt;code&gt;DenyLeaveOrganizationSCP&lt;/code&gt; を実装することをお勧めします。本手口に対して、最も効果が大きく、かつ最も労力の少ない制御です。それ以外にも、OU 構造全体での SCP のカバレッジを見直すこと、すべてのメンバーアカウントでルートクレデンシャルと IAM 権限が適切に保護されていることを確認すること、検知・対応プロセスが本手口を考慮に入れていることを確かめることが、より強固なセキュリティ態勢に貢献します。&lt;a target="_blank" href="https://aws-samples.github.io/threat-technique-catalog-for-aws/" rel="noopener"&gt;Threat Technique Catalog for AWS&lt;/a&gt; には、根底にある手口の検知ガイダンスが含まれています。&lt;/p&gt; 
&lt;h2&gt;関連リソース&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a target="_blank" href="https://aws-samples.github.io/threat-technique-catalog-for-aws/matrix.html" rel="noopener"&gt;Threat Technique Catalog for AWS – Matrix&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a target="_blank" href="https://aws-samples.github.io/threat-technique-catalog-for-aws/Techniques/T1078.A002.html" rel="noopener"&gt;T1078.A002: Account Root User&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a target="_blank" href="https://aws-samples.github.io/threat-technique-catalog-for-aws/Techniques/T1078.004.html" rel="noopener"&gt;T1078.004: Cloud Accounts&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a target="_blank" href="https://aws-samples.github.io/threat-technique-catalog-for-aws/Techniques/T1098.html" rel="noopener"&gt;T1098: Account Manipulation&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a target="_blank" href="https://aws-samples.github.io/threat-technique-catalog-for-aws/Techniques/T1666.A002.html" rel="noopener"&gt;T1666.A002: Leave AWS Organization&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a target="_blank" href="https://aws.amazon.com/jp/blogs/news/essential-security-controls-to-prevent-unauthorized-account-removal-in-aws-organizations/" rel="noopener"&gt;AWS Organizations における不正なアカウント離脱を防止するための重要なセキュリティコントロール&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a target="_blank" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#id_root-user-access-management" rel="noopener"&gt;メンバーアカウントのルートアクセスを一元管理する&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a target="_blank" href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html" rel="noopener"&gt;AWS Organizations サービスコントロールポリシー&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a target="_blank" href="https://aws.amazon.com/guardduty/" rel="noopener"&gt;Amazon GuardDuty&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a target="_blank" href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/" rel="noopener"&gt;AWS CloudTrail ユーザーガイド&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;本投稿に関するフィードバックがありましたら、下のコメントセクションにご投稿ください。&lt;/p&gt; 
&lt;h3&gt;著者について&lt;/h3&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt; 
   &lt;img src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/05/18/Shannon-brazil-author.jpg" alt="Shannon Brazil" width="120" height="160" class="aligncenter size-full"&gt; 
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Shannon Brazil&lt;/h3&gt; 
  &lt;p&gt;Shannon は AWS Customer Incident Response Team (CIRT) のセキュリティエンジニアであり、デジタルフォレンジックとクラウドセキュリティ調査を専門としています。コミュニティでは 4n6lady として知られ、セキュリティ教育と次世代の防御者の育成に情熱を注いでいます。&lt;/p&gt; 
 &lt;/div&gt; 
&lt;/footer&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt; 
   &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/05/18/Derek-Ramirez.jpg" alt="Derek Ramirez" width="120" height="160" class="aligncenter size-full"&gt; 
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Derek Ramirez&lt;/h3&gt; 
  &lt;p&gt;Derek は AWS Customer Incident Response Team (CIRT) のセキュリティエンジニアです。サイバーセキュリティと、困難なインシデントレスポンスの課題への対処を支援する AI ツールの構築という、自身が情熱を注ぐ 2 つのことを組み合わせて取り組んでいます。オースティンのダウンタウンを走ったり、ゴルフのショートゲームに取り組んだり、Dallas Cowboys を熱心に応援したりしています。&lt;/p&gt; 
 &lt;/div&gt; 
&lt;/footer&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt; 
   &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2023/08/22/RichardBillington_Headshot_160x120.jpg" alt="Richard Billington" width="120" height="160" class="aligncenter size-full"&gt; 
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Richard Billington&lt;/h3&gt; 
  &lt;p&gt;Richard は AWS Customer Incident Response Team (アクティブなセキュリティイベント中に AWS のお客様をサポートするチーム) のアジア太平洋地域における Sr. Security Engineer です。&lt;/p&gt; 
 &lt;/div&gt; 
&lt;/footer&gt; 
&lt;p&gt;翻訳は Security Solutions Architect の 松崎 博昭 が担当しました。&lt;/p&gt;</content:encoded>
					
		
		
			</item>
		<item>
		<title>自動推論で実現する Amazon のポスト量子暗号の検証と最適化</title>
		<link>https://aws.amazon.com/jp/blogs/news/verifying-and-optimizing-post-quantum-cryptography-at-amazon/</link>
		
		<dc:creator><![CDATA[中島 章博]]></dc:creator>
		<pubDate>Fri, 22 May 2026 07:10:03 +0000</pubDate>
				<category><![CDATA[Graviton]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[Thought Leadership]]></category>
		<category><![CDATA[automated reasoning]]></category>
		<category><![CDATA[cryptography]]></category>
		<category><![CDATA[post-quantum cryptography]]></category>
		<category><![CDATA[Security Blog]]></category>
		<guid isPermaLink="false">5bf6306d3673538abdf7fbf4de7705409ae280b6</guid>

					<description>AWS は、Amazon Automated Reasoning Group、AWS Cryptography、オープンソースコミュニティと協力し、ポスト量子暗号 (PQC) ML-KEM の形式的に検証された最適化実装 mlkem-native を開発しました。本記事では、CBMC によるメモリ安全性・型安全性の検証、HOL Light と s2n-bignum によるアセンブリ実装の正当性証明、SLOTHY によるマイクロアーキテクチャ最適化を組み合わせ、セキュリティ・性能・保守性を同時に実現した取り組みをご紹介します。AWS-LC への統合により、c7i や c7g で約 2 倍の性能向上を達成しました。</description>
										<content:encoded>&lt;p&gt;本ブログは 2026 年 4 月 7 日に公開された Amazon Science Blog “&lt;a href="https://www.amazon.science/blog/verifying-and-optimizing-post-quantum-cryptography-at-amazon" rel="noopener" target="_blank"&gt;Verifying and optimizing post-quantum cryptography at Amazon&lt;/a&gt;” を翻訳したものです。&lt;/p&gt; 
&lt;p class="article-subtitle"&gt;自動推論によって、セキュリティ、性能、保守性の要求をどのように両立させるか。&lt;/p&gt; 
&lt;p&gt;現在、安全なオンライン通信は&lt;i&gt;公開鍵暗号&lt;/i&gt;によって実現されています。主に RSA と楕円曲線暗号 (ECC) が使われており、その安全性はある計算問題が困難であるという仮定に依存しています。しかし、これらの問題は&lt;i&gt;従来の&lt;/i&gt;コンピュータでは困難と考えられているものの、十分に大規模な量子コンピュータでは扱える可能性があります。「Store now, decrypt later」(今保存して後で復号) 攻撃は、暗号化された情報を傍受しておき、量子コンピュータで復号できるようになるまで保持する攻撃です。こうした攻撃が技術的に実現可能になるよりはるか前から、対策が必要となります。&lt;/p&gt; 
&lt;p&gt;&lt;a class="Link" href="https://aws.amazon.com/jp/security/post-quantum-cryptography/" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;i&gt;ポスト量子暗号&lt;/i&gt;&lt;/a&gt; &lt;i&gt;(PQC)&lt;/i&gt; は、従来のコンピュータ上で動作しながら量子コンピューティングに対しても安全な暗号です。2024 年、米国国立標準技術研究所 (NIST) は 8 年にわたる標準化作業を経て、標準規格 FIPS-203 を公開しました。FIPS-203 では、量子コンピュータからの攻撃に対して安全と考えられている鍵共有メカニズムとして、Module-Lattice-Based Key Encapsulation Mechanism (ML-KEM) が規定されています。&lt;/p&gt; 
&lt;p&gt;本記事では、Amazon Automated Reasoning Group、AWS Cryptography、そしてオープンソースコミュニティが協力して、ML-KEM のオープンソースかつ形式的に検証された最適化実装をどのように作り上げ、お客様を「Store now, decrypt later」攻撃から最高の保証と最小のコストで保護しているかをご紹介します。&lt;/p&gt; 
&lt;h2&gt;優れた暗号エンジニアリングとは何か?&lt;/h2&gt; 
&lt;p&gt;Amazon の Customer Obsession に従い、AWS は暗号ソリューションに取り組む際、次の 3 つの目標を優先します。&lt;/p&gt; 
&lt;ul class="rte2-style-ul" id="rte-512d7610-3212-11f1-99e0-356c5020f7df"&gt; 
 &lt;li&gt;&lt;b&gt;&lt;i&gt;お客様のデータのセキュリティ&lt;/i&gt;&lt;/b&gt;&lt;i&gt;: &lt;/i&gt;暗号は安全に実装することが極めて難しく、わずかな欠陥でもお客様のプライバシーを危険にさらす可能性があるため、万全を期す必要があります&lt;/li&gt; 
 &lt;li&gt;&lt;b&gt;&lt;i&gt;お客様の体験&lt;/i&gt;&lt;/b&gt;&lt;i&gt;: &lt;/i&gt;暗号には計算コストが伴います。AWS はこれを最小化し、お客様に最小のコストと最良の体験を提供します&lt;/li&gt; 
 &lt;li&gt;&lt;b&gt;&lt;i&gt;ソリューションを将来にわたって保守する能力&lt;/i&gt;&lt;/b&gt;&lt;i&gt;: &lt;/i&gt;保守に費やす時間が少ないほど、お客様のためにより多くのイノベーションを生み出せます&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;しかし、これらの目標の間にはトレードオフがあります。シンプルなコードは保守も安全な記述も最も簡単ですが、動作が遅くなりがちです。一方、高速なコードは監査が難しく、エラーが起きやすい傾向があります。&lt;/p&gt; 
&lt;p&gt;&lt;i&gt;自動推論&lt;/i&gt;によって、AWS はこのトレードオフを解消し、安全で、高速で、保守しやすい暗号ソリューションを同時にお客様に提供できます。&lt;/p&gt; 
&lt;h2&gt;なぜ新たな ML-KEM 実装が必要なのか&lt;/h2&gt; 
&lt;p&gt;ML-KEM (旧称 Kyber) は実装の観点から十分に研究されています。一方では、&lt;a class="Link" href="https://github.com/pq-crystals/kyber/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Kyber リファレンスコード&lt;/a&gt;が、長年精査されてきたクリーンな C 言語実装を提供しています。他方では、ML-KEM をさまざまな指標やプラットフォーム向けに最適化する方法を記述した数多くの研究論文があります。&lt;/p&gt; 
&lt;p&gt;2024 年に AWS Cryptography と Amazon Automated Reasoning Group が直面した課題は、リファレンス実装のシンプルさと、研究で明らかになった最適化の可能性を、本番環境で使える単一の実装に組み合わせることでした。&lt;/p&gt; 
&lt;figure class="Figure"&gt; 
 &lt;div class="Figure-media"&gt; 
  &lt;p&gt; &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/17/mlkem-native-v4.jpg" alt="" width="1200" height="675" class="alignnone size-full wp-image-185250"&gt;&lt;/p&gt;
 &lt;/div&gt; 
 &lt;div style="font-size: 0.90em" class="Figure-content"&gt;
  &lt;figcaption class="Figure-caption"&gt;
   2024 年、AWS Cryptography と Amazon Automated Reasoning Group は、徹底的に精査された ML-KEM リファレンス実装のシンプルさと、研究で明らかになった最適化の可能性を、本番環境で使える単一の実装 mlkem-native にまとめるという課題に取り組みました。
  &lt;/figcaption&gt;
 &lt;/div&gt; 
&lt;/figure&gt; 
&lt;p&gt;同じ頃、AWS は Linux Foundation の &lt;a class="Link" href="https://pqca.org/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Post-Quantum Cryptography Alliance (PQCA)&lt;/a&gt; の創設メンバーとなりました。PQCA は、「標準化過程にあるポスト量子暗号アルゴリズムの高保証ソフトウェア実装の構築を目指すオープンソースプロジェクトの集合」である &lt;a class="Link" href="https://github.com/pq-code-package" target="_blank" rel="noopener" data-cms-ai="0"&gt;Post-Quantum Cryptography Package (PQCP)&lt;/a&gt; を立ち上げました。&lt;/p&gt; 
&lt;p&gt;そこで AWS は独自にコードを開発するのではなく、チームメンバーが PQCP に参加し、まもなく &lt;a class="Link" href="https://github.com/pq-code-package/mlkem-native" target="_blank" rel="noopener" data-cms-ai="0"&gt;mlkem-native&lt;/a&gt; を立ち上げました。これは、ML-KEM リファレンス実装と、最適化および形式的検証に関する研究を組み合わせることを目的とした、ML-KEM の高保証・高性能 C 言語実装です。&lt;/p&gt; 
&lt;h2&gt;速く、そして慎重なコーディング&lt;/h2&gt; 
&lt;p&gt;mlkem-native のモジュラー設計は、ML-KEM の高レベルロジックをカバーする&lt;i&gt;フロントエンド&lt;/i&gt;と、性能が重要なすべてのサブルーチンを担当する&lt;i&gt;バックエンド&lt;/i&gt;を組み合わせています。各サブルーチン (SHA3 の基礎となる Keccak 置換や、高速な多項式演算の基礎となる数論変換 (NTT) を含む) には、特定のハードウェア向けにネイティブに記述された、高効率な複数の実装が用意されています。デフォルトの C 言語実装に加えて、mlkem-native は AArch64、x86_64、RISC-V64 向けのアセンブリ/組み込み関数バックエンドを提供しています。&lt;/p&gt; 
&lt;figure class="Figure"&gt; 
 &lt;div class="Figure-media"&gt; 
  &lt;p&gt; &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/17/mlkem-native-modularity-v2.png" alt="" width="1200" height="794" class="alignnone size-full wp-image-185251"&gt;&lt;/p&gt;
 &lt;/div&gt; 
 &lt;div style="font-size: 0.90em" class="Figure-content"&gt;
  &lt;figcaption class="Figure-caption"&gt;
   mlkem-native のモジュラー設計は、ML-KEM の高レベルロジックをカバーするフロントエンドと、性能が重要なサブルーチンの複数のハードウェア固有実装からなるバックエンドを組み合わせています。
  &lt;/figcaption&gt;
 &lt;/div&gt; 
&lt;/figure&gt; 
&lt;p&gt;保守性のために重要なのは、フロントエンドとバックエンドの間のインターフェイスが固定されていることです。新しいターゲットアーキテクチャ向けの最適化を追加する開発者は、バックエンド仕様に従って選択したバックエンド機能を実装し、フロントエンドはそのまま維持します。バックエンド仕様の策定は、見かけほど単純ではないことが分かりました。これについては以下で説明します。&lt;/p&gt; 
&lt;h2&gt;限界を知る&lt;/h2&gt; 
&lt;h3&gt;&lt;i&gt;メモリ安全性&lt;/i&gt;&lt;/h3&gt; 
&lt;p&gt;C プログラミング言語のよく知られた課題は、バッファオーバーフローのリスクです。メモリ領域の指定された境界を超えて書き込むと、データ構造が破壊され、悪意を持って悪用されると非特権コードの実行につながる可能性があります。こうした問題の総称が&lt;i&gt;メモリ安全性&lt;/i&gt;です。Rust のようなメモリ安全な言語は、範囲外アクセスの影響を制限できます (たとえば、未定義動作を示す代わりにパニックする)。しかし、間違いそのものを防ぐわけではありません。&lt;/p&gt; 
&lt;h3&gt;&lt;i&gt;型安全性&lt;/i&gt;&lt;/h3&gt; 
&lt;p&gt;もう一つのよく知られた課題は ML-KEM の実装に関するもので、整数オーバーフローのリスク、つまり&lt;i&gt;型安全性&lt;/i&gt;の側面です。RSA や ECC と同様に、ML-KEM はモジュラー演算に依存しています。モジュラー演算では、演算の結果を特定の数 (ML-KEM の場合は素数 3,329 で、&lt;i&gt;MLKEM_Q&lt;/i&gt; または単に &lt;i&gt;q&lt;/i&gt; と表記) で割り、その剰余だけが次に持ち越されます。剰余演算子はパーセント記号 &lt;i&gt;%&lt;/i&gt; で表されます。&lt;/p&gt; 
&lt;p&gt;論理的には、ML-KEM で 2 つの数 &lt;i&gt;x&lt;/i&gt; と &lt;i&gt;y&lt;/i&gt; を加算または乗算する必要がある場合、(&lt;i&gt;x&lt;/i&gt; + &lt;i&gt;y&lt;/i&gt;) % &lt;i&gt;q&lt;/i&gt; および (&lt;i&gt;x&lt;/i&gt; * &lt;i&gt;y&lt;/i&gt;) % &lt;i&gt;q&lt;/i&gt; を計算する必要があります。たとえば、(294 * 38) % &lt;i&gt;q&lt;/i&gt; = 11,172 % &lt;i&gt;q&lt;/i&gt; = 1,185 となります。このような「即時」のモジュラー &lt;i&gt;q&lt;/i&gt; 演算は、データを「正規」範囲 {0, 1, 2, … , &lt;i&gt;q&lt;/i&gt;-1} で表すために常にモジュラー還元を適用するもので、極めて遅くなります。&lt;/p&gt; 
&lt;p&gt;効率的な ML-KEM 実装では、代わりに「遅延」モジュラー &lt;i&gt;q&lt;/i&gt; 演算を使用します。データはできるだけ長くモジュラー還元なしで操作され、最悪の場合のオーバーフローのリスクが生じたときにのみ還元が行われます。さらに、これにより Montgomery 還元のような不完全な還元アルゴリズムが使えるようになります。これは高速ですが、必ずしも完全に還元された出力を返すわけではありません。&lt;/p&gt; 
&lt;p&gt;ML-KEM の場合、モジュラー &lt;i&gt;q&lt;/i&gt; = 3,329 のデータは通常、符号付き 16 ビット整数に格納されます。ML-KEM の数多くの算術ルーチン全体で遅延演算を扱う際には、データの最悪値の境界を追跡し、それらの境界が 16 ビット整数の限界を超える可能性のある箇所にモジュラー還元を挿入することが不可欠です。この領域での小さな間違いは、テストで見逃されることがあります。なぜなら、平均的な境界は最悪値の境界よりはるかに小さい傾向があるためです。そして、本番環境でランダムに表面化することがあります。&lt;/p&gt; 
&lt;p&gt;バッファ境界、特に算術境界の追跡は、時間がかかり、エラーが起きやすい作業です。たとえば、低レベルの算術関数の出力境界を弱めると、まったく別の関数で稀に算術オーバーフローが発生することがあります。これを手作業で確認するには、緻密なドキュメント作成と熟練した監査担当者が必要なだけでなく、開発が遅くなります。&lt;/p&gt; 
&lt;p&gt;mlkem-native では、C Bounded Model Checker (CBMC) というツールを使用して、C レベルでメモリ安全性と型安全性を自動的に検証しています。各関数について、機械可読かつ人間可読な契約をソースコードに追加してバッファと算術データの境界を指定し、CBMC にそれらの境界に対してバッファオーバーフローや算術オーバーフローが発生し得ないことを自動的に検証させます。&lt;/p&gt; 
&lt;p&gt;モジュラー還元の簡単な例を見てみましょう。&lt;/p&gt; 
&lt;pre class="unlimited-height-code language-c" data-language=" "&gt;&lt;code class="language-c"&gt;void mlk_poly_reduce_c(mlk_poly *r)
__contract__(
    requires(memory_no_alias(r, sizeof(mlk_poly)))
    assigns(memory_slice(r, sizeof(mlk_poly)))
    ensures(array_bound(r-&amp;gt;coeffs, 0, MLKEM_N, 0, MLKEM_Q)))
{
    unsigned i;
    for (i = 0; i &amp;lt; MLKEM_N; i++)
    __loop__(
        invariant(i &amp;lt;= MLKEM_N)
        invariant(array_bound(r-&amp;gt;coeffs, 0, i, 0, MLKEM_Q)))
    {
        /* Barrett reduction, giving signed canonical representative */
        int16_t t = mlk_barrett_reduce(r-&amp;gt;coeffs[i]);
        /* Conditional addition to get unsigned canonical representative */
        r-&amp;gt;coeffs[i] = mlk_scalar_signed_to_unsigned_q(t);
    }
    mlk_assert_bound(r, MLKEM_N, 0, MLKEM_Q);
}&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;関連する部分を一つずつ見ていきましょう。まず、&lt;i&gt;__contract__( … )&lt;/i&gt; に注目します。簡単に言うと、&lt;i&gt;memory_no_alias&lt;/i&gt; と &lt;i&gt;memory_slice&lt;/i&gt; の行は、コードが読み書きできるメモリを指定しています。これはメモリ安全性に関連します。&lt;i&gt;ensures(array_bound(…))&lt;/i&gt; 句は型安全性に関連しています。これは、関数が戻った時点でデータが区間 [0, 1, …, &lt;i&gt;q&lt;/i&gt;) 内にあることを&lt;i&gt;保証する&lt;/i&gt;ことを指定します。証明では、&lt;i&gt;__loop__(invariant(…))&lt;/i&gt; があり、ループがこの境界を段階的にどう確立するかを指定しています。&lt;i&gt;i&lt;/i&gt; 番目のイテレーションでは、&lt;i&gt;i&lt;/i&gt; 番目の係数まで成立します。最後に、実装は実質的に &lt;i&gt;mlk_barrett_reduce&lt;/i&gt; と &lt;i&gt;mlk_scalar_signed_to_unsigned_q&lt;/i&gt; を組み合わせています。CBMC はこれらの内部を見ず、それらの契約に置き換えます。&lt;/p&gt; 
&lt;pre class="unlimited-height-code language-c" data-language=" "&gt;&lt;code class="language-c"&gt;int16_t mlk_barrett_reduce(int16_t a)
__contract__(
    ensures(return_value &amp;gt; -MLKEM_Q_HALF &amp;amp;&amp;amp; return_value &amp;lt; MLKEM_Q_HALF)
    { ... }
    
int16_t mlk_scalar_signed_to_unsigned_q(int16_t c)
__contract__(
    requires(c &amp;gt; -MLKEM_Q &amp;amp;&amp;amp; c &amp;lt; MLKEM_Q)
    ensures(return_value &amp;gt;= 0 &amp;amp;&amp;amp; return_value &amp;lt; MLKEM_Q)
    ensures(return_value == (int32_t)c + (((int32_t)c &amp;lt; 0) * MLKEM_Q))
    { ... }&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;i&gt;mlk_barrett_reduce&lt;/i&gt; がまず対称的な出力区間 (&lt;i&gt;-q&lt;/i&gt;/2, …, &lt;i&gt;q&lt;/i&gt;/2) を確立し、次に &lt;i&gt;mlk_scalar_signed_to_unsigned_q&lt;/i&gt; がそれを [0,1, …, &lt;i&gt;q&lt;/i&gt;) にマッピングしているのが分かります。この例では、仕様が望ましい形で整合していることを目視で簡単に確認できますが、より複雑な例ではそれほど明確ではありません。いずれにせよ、CBMC が自動的にチェックしてくれます。&lt;/p&gt; 
&lt;h2&gt;速く動かしながら安全を保つ&lt;/h2&gt; 
&lt;p&gt;上述の CBMC 証明は、mlkem-native の C コードに対するメモリ安全性と型安全性を確立します。しかし、mlkem-native の最も性能が重要な部分 (Keccak 置換と数論変換) は、AArch64 と x86_64 向けに手作業で最適化されたアセンブリで実装されています。&lt;/p&gt; 
&lt;p&gt;mlkem-native のアセンブリ実装に対して、高い性能を維持しつつ保証を得るために、AWS は次の 3 つのコンポーネントを使用しています。アセンブリのスーパーオプティマイザーである SLOTHY、対話型定理証明器である HOL Light、そして HOL Light 上に構築されたアセンブリ用検証基盤である &lt;a class="Link" href="https://aws.amazon.com/jp/blogs/news/formally-verified-aes-xts-the-first-aes-algorithm-to-join-s2n-bignum/" target="_blank" rel="noopener" data-cms-ai="0"&gt;s2n-bignum&lt;/a&gt; です。これらを組み合わせることで、開発者がクリーンで保守しやすいアセンブリを記述しつつ、デプロイされるコードが正当性の形式的保証を伴ってピーク性能を達成するワークフローが可能になります。&lt;/p&gt; 
&lt;p&gt;高性能なアセンブリを手で書くと、根本的なトレードオフが生じます。計算を明確に表現するクリーンで監査可能なコードは遅く、高速なコードは密で、マイクロアーキテクチャ固有で、保守が困難です。SLOTHY はマイクロアーキテクチャ固有の最適化を自動化することで、このトレードオフを解消します。アセンブリプログラムを制約充足問題に変換し、制約ソルバーを使用して最適な命令スケジュールとレジスタ割り当てを見つけ、最適化されたアセンブリを出力します。開発者は計算のロジックを重視したクリーンなコードを書き、SLOTHY が高速なコードを生成します。&lt;/p&gt; 
&lt;p&gt;AWS は、すべての AArch64 および x86_64 アセンブリルーチンの機能的正当性を、HOL Light と s2n-bignum を使用して証明します。SLOTHY が使用される場所では、特定の命令順序やレジスタ割り当てに依存しないように証明が記述されます。したがって、証明を調整することなく、特定のマイクロアーキテクチャ向けにコードを再最適化できます。この「事後」検証アプローチは、アセンブリで表現された計算の数学的な正しさを、それがどのように生成されたかにかかわらず確立します。特に、SLOTHY は信頼できるコンピューティングベース (TCB) から除外されます。&lt;/p&gt; 
&lt;h2&gt;誠実さを保つ&lt;/h2&gt; 
&lt;p&gt;形式的検証は決して絶対的なものではありません。すべての証明は、形式的なオブジェクト (仕様とモデル) を非形式的な現実世界の要件とシステムに結び付けるものであり、これらの結び付きにはギャップが生じます。形式的仕様は実際に必要なものを捉えているか? 形式的モデルは実際のシステムを忠実に反映しているか? 証明基盤自体は健全か?&lt;/p&gt; 
&lt;p&gt;お客様の信頼を獲得し維持するには、これらの限界について透明性を保つ必要があります。そこで AWS は、&lt;a class="Link" href="https://github.com/pq-code-package/mlkem-native/blob/main/SOUNDNESS.md" target="_blank" rel="noopener" data-cms-ai="0"&gt;SOUNDNESS.md&lt;/a&gt; と題したドキュメントを作成・公開しました。ここでは、mlkem-native で何が証明され、何が仮定され、残存リスクがどこにあるかを、HOL Light 証明で使用されるハードウェアモデルの忠実性、CBMC のより大きな TCB、2 つの検証スタック間の手動の橋渡しに至るまでマッピングしています。各ギャップについて、実施されている緩和策を説明し、今後の作業の概要を示しています。&lt;/p&gt; 
&lt;p&gt;AWS の目標は完璧を主張することではなく、透明性を通じて信頼を獲得することです。コミュニティの皆様には SOUNDNESS.md を批判的に読み、AWS の前提に異議を唱え、残存するギャップを埋めることにご協力いただければ幸いです。&lt;/p&gt; 
&lt;h2&gt;本番環境への展開&lt;/h2&gt; 
&lt;p&gt;mlkem-native は、AWS サービス全体の安全な通信を支える Amazon のオープンソース暗号ライブラリ AWS-LC に統合されています。この統合では、自動インポーターを使用して mlkem-native のソースコードをアップストリームリポジトリから直接取り込み、AWS-LC が最新の検証済み実装と同期し続けることを保証します。&lt;/p&gt; 
&lt;p&gt;この統合は手間を最小限に抑えるよう設計されています。mlkem-native のモジュラーアーキテクチャにより、AWS-LC はコアの ML-KEM ロジックをインポートしながら、プラットフォーム固有のコンポーネントには独自の実装を提供できます。たとえば、AWS-LC は mlkem-native の暗号プリミティブを既存の FIPS-202 (SHA-3) 実装にマッピングし、AWS-LC の乱数生成およびメモリゼロ化関数を使用し、必要な場合はペアワイズ一貫性テストなど FIPS モード機能を有効にします。これを可能にしているのは、検証済みコードを変更することなく mlkem-native の API を AWS-LC のインフラストラクチャに橋渡しする薄い互換性レイヤーです。&lt;/p&gt; 
&lt;p&gt;重要なのは、メモリ安全性と型安全性を証明する CBMC 契約が、インポートされたソースコード内に保持されていることです。プリプロセッサがコンパイルされたバイナリからこれらを削除しますが、ソース内には残り、コードの保証の機械チェック可能なドキュメントとして機能します。これは、実装と共に移動する一種の「生きた証明」です。&lt;/p&gt; 
&lt;p&gt;さらに、mlkem-native も AWS-LC もオープンソースで寛容なライセンスのため、その利点は AWS の枠を超えて広がります。誰でも mlkem-native を自社のシステムに統合し、同じ性能と保証の組み合わせを得ることができます。形式的検証成果物 (CBMC 契約と HOL Light 証明) はリポジトリの一部であり、関連するすべてのツールはオープンソースであり、セットアップと証明チェックのスクリプトが提供されているため、AWS のセキュリティ主張を独立に検証できます。&lt;/p&gt; 
&lt;h2&gt;インパクト&lt;/h2&gt; 
&lt;p&gt;mlkem-native の開発は、自動推論を体系的に適用すれば、暗号エンジニアリングの 3 つの目標 (セキュリティ、性能、保守性) が衝突しないことを示しています。&lt;/p&gt; 
&lt;p&gt;CBMC は、複雑な算術全体で境界を手動で追跡する作業から AWS を解放し、テストでは見逃されて本番環境でランダムに表面化するエラーを捕捉しました。アノテーションはソースコード内に機械チェック可能なドキュメントとして残り、コードを同時により保守しやすく、より安全にします。HOL Light と s2n-bignum により、AWS は数学的な正当性の確実性を持って積極的なアセンブリ最適化をデプロイできました。SLOTHY により、特定のマイクロアーキテクチャ向けにピーク性能を達成しながら、クリーンで監査可能なコードを書くことができました。そして、証明は最適化に依存しないように記述されているため、検証をやり直すことなくコードのターゲットを変更できます。&lt;/p&gt; 
&lt;p&gt;その結果、従来の開発で達成できるものよりも、同時により安全で、より高速で、より保守しやすい実装が実現しました。AWS はお客様のセキュリティ、お客様の体験、そして革新する能力の間で妥協しませんでした。自動推論は 3 つすべてを実現したのです。&lt;/p&gt; 
&lt;div class="Table" data-show-borders=""&gt; 
 &lt;table style="border-collapse: collapse;border: 1px solid #d5dbdb" border="1"&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;&lt;/td&gt; 
    &lt;td colspan="2" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;AWS-LC-FIPS リリース&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;プラットフォーム&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;処理&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;3.1&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;4.0&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;改善倍率&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td colspan="1" rowspan="3" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;c7i&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;Keygen&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;30899&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;65146&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;2.1&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;Encaps&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;30623&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;61233&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;2.0&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;Decaps&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;25141&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;51545&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;2.0&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td colspan="1" rowspan="3" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;c7g&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;Keygen&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;29617&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;71134&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;2.4&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;Encaps&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;28482&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;66874&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;2.3&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;Decaps&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;23919&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;64765&lt;/td&gt; 
    &lt;td colspan="1" rowspan="1" style="border: 1px solid #d5dbdb;padding: 4px 8px"&gt;2.3&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt; 
&lt;p&gt;&lt;i&gt;Amazon の暗号ライブラリ AWS-LC で ML-KEM リファレンス実装から mlkem-native に切り替えた際の性能影響。ML-KEM-768 の性能は c7i および c7g EC2 インスタンスで測定されています。数値は 1 秒あたりの処理数を表します (高いほど良い)。ベースラインは ML-KEM の C リファレンス実装を含む AWS-LC-FIPS 3.1 リリースです。AWS-LC-FIPS 4 リリースは mlkem-native でビルドされています。プラットフォームは Intel(R) Xeon(R) Platinum 8488C を搭載した c7i と、Graviton 3 プロセッサを搭載した c7g です。&lt;/i&gt;&lt;/p&gt; 
&lt;h3&gt;謝辞&lt;/h3&gt; 
&lt;p&gt;同僚の John Harrison 氏 (Automated Reasoning Group の senior principal applied scientist) には、HOL Light での AArch64 アセンブリ証明の大部分を提供し、また HOL Light 対話型定理証明器および s2n-bignum 検証基盤の保守を担当いただいたことに感謝します。mlkem-native は AWS だけでなく、オープンソースコミュニティの多くのメンバーが関わる共同作業です。とりわけ、共同保守者である zeroRISC の Matthias Kannwischer 氏に感謝します。彼は AWS と共に mlkem-native を立ち上げ、以来プロジェクトの成功に重要な役割を果たしてきました。&lt;/p&gt; 
&lt;footer&gt; 
 &lt;h2&gt;著者について&lt;/h2&gt; 
 &lt;div class="ArticlePage-authorInfoSection"&gt; 
  &lt;div class="ArticlePage-authorInfo"&gt; 
   &lt;div class="ArticlePage-authorInfo-bio"&gt; 
    &lt;div class="ArticlePage-authorInfo-bio-name"&gt; 
     &lt;a href="https://www.amazon.science/author/hanno-becker" aria-label="" data-cms-ai="0" rel="noopener" target="_blank"&gt;Hanno Becker&lt;/a&gt; 
    &lt;/div&gt; 
    &lt;div class="ArticlePage-authorInfo-bio-content"&gt;
      Hanno Becker は Amazon の Automated Reasoning Group の principal applied scientist です。元 Mbed TLS の開発者で、Arm 上の高性能 (ポスト量子) 暗号に情熱を注いでいます。SLOTHY スーパーオプティマイザーの作者でもあります。 
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;div class="ArticlePage-authorInfo"&gt; 
   &lt;div class="ArticlePage-authorInfo-bio"&gt; 
    &lt;div class="ArticlePage-authorInfo-bio-name"&gt; 
     &lt;a href="https://www.amazon.science/author/rod-chapman" aria-label="" data-cms-ai="0" rel="noopener" target="_blank"&gt;Rod Chapman&lt;/a&gt; 
    &lt;/div&gt; 
    &lt;div class="ArticlePage-authorInfo-bio-content"&gt;
      Rod Chapman は Amazon Web Services (AWS) の senior principal scientist です。 
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;div class="ArticlePage-authorInfo"&gt; 
   &lt;div class="ArticlePage-authorInfo-bio"&gt; 
    &lt;div class="ArticlePage-authorInfo-bio-name"&gt; 
     &lt;a href="https://www.amazon.science/author/dusan-kostic" aria-label="" data-cms-ai="0" rel="noopener" target="_blank"&gt;Dusan Kostic&lt;/a&gt; 
    &lt;/div&gt; 
    &lt;div class="ArticlePage-authorInfo-bio-content"&gt;
      Dusan Kostic は Amazon Web Services (AWS) の senior applied scientist です。 
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/footer&gt; 
&lt;footer&gt; 
 &lt;p&gt;本ブログは Security Solutions Architect の 中島 章博 が翻訳しました。&lt;/p&gt; 
&lt;/footer&gt;</content:encoded>
					
		
		
			</item>
		<item>
		<title>【開催報告】ガバメントクラウドワークショップ 2026 春 ～ AI で実践する開発・モダナイズ・運用 ～</title>
		<link>https://aws.amazon.com/jp/blogs/news/gov-cloud-workshop-202605-genai/</link>
		
		<dc:creator><![CDATA[Kenichi Azuma]]></dc:creator>
		<pubDate>Fri, 22 May 2026 06:51:34 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<guid isPermaLink="false">2646eeadca9459e69b6a90345babeae8e1374b86</guid>

					<description>こんにちは。ソリューションアーキテクトの東 健一です。普段はパブリックセクター技術統括本部で中央省庁のお客様の […]</description>
										<content:encoded>&lt;p&gt;こんにちは。ソリューションアーキテクトの東 健一です。普段はパブリックセクター技術統括本部で中央省庁のお客様の技術支援を担当しており、主にガバメントクラウドや医療 DX に関わるご支援を担当しております。&lt;/p&gt; 
&lt;p&gt;2026年5月19日（火）に、AWS 目黒オフィスにて「ガバメントクラウドワークショップ 2026 春 ～ AI で実践する開発・モダナイズ・運用 ～」を開催しました。&lt;/p&gt; 
&lt;p&gt;本ワークショップは、ガバメントクラウドに携わる事業者様を対象に、移行を進める上で必要となる技術を深く学び (Dive Deep)、案件で直面するリアルな課題や他官公庁／自治体の取り組みを共有し、参加者同士の交流を楽しむ (Have Fun) ことを目的とした技術イベントです。&lt;/p&gt; 
&lt;p&gt;&lt;span id="more-185624"&gt;&lt;/span&gt;&lt;/p&gt; 
&lt;p&gt;今回のワークショップでは、「&lt;strong&gt;AI を使った開発・モダナイゼーション・運用&lt;/strong&gt;」をメインテーマに掲げ、事例セッション・デジタル庁様セッションに加え、参加者の皆様にあらかじめ関心のあるテーマを選択いただいたうえで、手を動かしながら学ぶ 4 つのテーマ別ワークショップを実施しました。当日は会場が満席となり、総勢150名以上の方々にご参加いただく盛況なイベントとなりました。さらに夜の部として、AWS ユーザーコミュニティ「JAWS-UG」の公共分野支部である &lt;a href="https://gov-jaws.connpass.com/"&gt;Gov-JAWS&lt;/a&gt; との懇親会を併催し、日中のセッションを振り返りながら参加者同士の交流を深める時間としました。&lt;/p&gt; 
&lt;p&gt;なお、前回の開催内容について気になる方は下記のブログをご参照ください。&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href="https://aws.amazon.com/jp/blogs/news/lg-gov-cloud-workshop-2025/"&gt;【開催報告】 第2回 自治体事業者向け AWS ガバメントクラウドワークショップ 2025 in 大阪&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href="https://aws.amazon.com/jp/blogs/news/cg-gov-cloud-workshop-202511/"&gt;【開催報告】第三回 中央省庁向け AWS ガバメントクラウドワークショップ&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;strong&gt;イベント概要&lt;/strong&gt;&lt;/h2&gt; 
&lt;p&gt;本ワークショップは以下のような形で実施しました。&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;日時&lt;/strong&gt;: 2026年5月19日（火）13:00 – 18:30（12:30 受付開始） 
  &lt;ul&gt; 
   &lt;li&gt;懇親会・Gov-JAWS: 18:30 – 21:00&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;場所&lt;/strong&gt;: アマゾン ウェブ サービス ジャパン合同会社 目黒オフィス&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;参加対象&lt;/strong&gt;: ガバメントクラウドに携わる全ての方々&lt;/li&gt; 
&lt;/ul&gt; 
&lt;table style="border-collapse: collapse;font-family: Arial, sans-serif;border: 1px solid #000"&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td style="border: 1px solid #000;padding: 8px;background-color: #f0f0f0"&gt;&lt;b&gt;時間&lt;/b&gt;&lt;/td&gt; 
   &lt;td style="border: 1px solid #000;padding: 8px;background-color: #f0f0f0"&gt;&lt;b&gt;セッション・ワークショップ名&lt;/b&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style="border: 1px solid #000;padding: 8px"&gt;13:00-14:00&lt;/td&gt; 
   &lt;td style="border: 1px solid #000;padding: 8px"&gt;中央省庁担当 事業者様登壇&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style="border: 1px solid #000;padding: 8px"&gt;14:00-14:30&lt;/td&gt; 
   &lt;td style="border: 1px solid #000;padding: 8px"&gt;自治体担当 事業者様登壇&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style="border: 1px solid #000;padding: 8px"&gt;14:30-15:30&lt;/td&gt; 
   &lt;td style="border: 1px solid #000;padding: 8px"&gt;デジタル庁様登壇&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style="border: 1px solid #000;padding: 8px"&gt;15:30-15:40&lt;/td&gt; 
   &lt;td style="border: 1px solid #000;padding: 8px"&gt;休憩&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style="border: 1px solid #000;padding: 8px"&gt;15:40-18:30&lt;/td&gt; 
   &lt;td style="border: 1px solid #000;padding: 8px"&gt;各テーマに分かれて Workshop&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style="border: 1px solid #000;padding: 8px"&gt;18:30-21:00&lt;/td&gt; 
   &lt;td style="border: 1px solid #000;padding: 8px"&gt;懇親会 / Gov-JAWS&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h3&gt;&lt;strong&gt;イベント構成&lt;/strong&gt;&lt;/h3&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/image-6-3.png"&gt;&lt;img width="1792" height="840" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/image-6-3.png" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;p&gt;オープニングおよび事例セッション・デジタル庁セッションを全体で実施した後、参加者の皆様にあらかじめ選択いただいた以下 4 つのテーマに分かれて、各部屋でハンズオン形式のワークショップを実施しました。&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;AI エージェントを開発する（Strands Agents / AgentCore）&lt;/li&gt; 
 &lt;li&gt;AI を使ってシステムをモダナイズする（AWS Transform / Kiro）&lt;/li&gt; 
 &lt;li&gt;AI を使ってシステムを開発する（Kiro IDE 実践）&lt;/li&gt; 
 &lt;li&gt;AI を使ってシステムを運用する（生成 AI を用いた AWS 環境のトラブルシューティング効率化）&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;各セッションの概要と発表資料は以下をご覧ください。&lt;/p&gt; 
&lt;h2&gt;&lt;strong&gt;事例セッション・デジタル庁セッション ハイライト&lt;/strong&gt;&lt;/h2&gt; 
&lt;h2&gt;&lt;strong&gt;Step Functions で実現するフルマネージド・ジョブ開発 — ガバメントクラウド開発における 設計／開発・運用時の「理想と現実」のギャップ&lt;/strong&gt;&lt;/h2&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/sugimoto01.png"&gt;&lt;img width="1200" height="675" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/sugimoto01.png" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/sugimoto02_compressed.jpg"&gt;&lt;img width="2560" height="1707" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/sugimoto02_compressed.jpg" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;p&gt;&lt;strong&gt;発表資料&lt;/strong&gt;：&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/nttd_gov_cloud_sfn_sugimoto.pdf"&gt;Step Functions で実現する フルマネージド・ジョブ開発（杉元）&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href="https://www.nttdata.com/jp/ja/"&gt;NTT データ&lt;/a&gt; 杉元様より、ジョブ管理ツールを &lt;a href="https://aws.amazon.com/jp/step-functions/"&gt;AWS Step Functions&lt;/a&gt; を中核に据えてフルマネージドなジョブ機能として作り変えた取り組みについて、設計・開発・運用のリアルな学びとともにご紹介いただきました。「依存関係の表現」「再実行 / リラン」「リトライや補償」「並列実行」「監視・通知」「権限分離」といった “ジョブ管理っぽさ” を、Step Functions のステートマシンとしてどのように実装で落とし込んだかを共有いただきました。&lt;/p&gt; 
&lt;p&gt;あわせて、移行時に直面した設計／開発時の理想と現実（苦悩）のギャップ、稼働後に見えてきた運用時の理想と現実のギャップを、失敗事例も含めて整理いただきました。ジョブ管理ツールの置き換えを検討している方や、ワークフローを “運用できるジョブ基盤” にしたい方にとって、現実的な設計判断と運用設計の勘所を持ち帰れるセッションとなりました。&lt;/p&gt; 
&lt;h2&gt;&lt;strong&gt;Amazon Bedrock で生成 AI 活用サービスをセキュアに構築する方法&lt;/strong&gt;&lt;/h2&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/suzuki01.png"&gt;&lt;img width="1173" height="652" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/suzuki01.png" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/suzuki02.png"&gt;&lt;img width="2048" height="1365" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/suzuki02.png" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;p&gt;&lt;strong&gt;発表資料&lt;/strong&gt;：&lt;a href="https://speakerdeck.com/takanorig/20260519-aws-building-secure-genai-app-with-bedrock"&gt;Amazon Bedrock で生成AI活用サービスをセキュアに構築する方法 – Speaker Deck&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href="https://www.acroquest.co.jp/"&gt;アクロクエストテクノロジー&lt;/a&gt; 鈴木様より、&lt;a href="https://aws.amazon.com/jp/solutions/case-studies/mlit-case-study/"&gt;国土交通省様向けにAI書類審査ソリューションを構築支援したご経験&lt;/a&gt;などを踏まえ、AWS の生成 AI サービスである &lt;a href="https://aws.amazon.com/jp/bedrock/"&gt;Amazon Bedrock&lt;/a&gt; を前提として、どのように基盤モデルのセキュリティ対応を実現するかのポイントをご紹介いただきました。&lt;/p&gt; 
&lt;p&gt;あわせて、RAG（Retrieval-Augmented Generation）や AI エージェントといった生成 AI 活用サービスを構築する上でのセキュリティ観点を、構成例を交えながら解説いただきました。日本の公共案件で生成 AI を活用する際に求められるセキュリティの考え方が整理されており、これから生成 AI 活用に取り組む事業者様が設計の指針として持ち帰れる実用的な発表内容でした。&lt;/p&gt; 
&lt;h2&gt;&lt;strong&gt;自治体ガバメントクラウドにおける生成 AI 活用&lt;/strong&gt;&lt;/h2&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/lg02_compressed.jpg"&gt;&lt;img width="2560" height="1707" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/lg02_compressed.jpg" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/lg01_compressed.jpg"&gt;&lt;img width="2560" height="1707" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/lg01_compressed.jpg" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;p&gt;&lt;a href="https://www.ntt-west.co.jp/"&gt;NTT 西日本&lt;/a&gt; 三浦様より、自治体のお客様向けに生成 AI を導入された取り組みについてご紹介いただきました。AWS が公開している OSS の生成 AI 活用基盤 &lt;a href="https://github.com/aws-samples/generative-ai-use-cases"&gt;GenU&lt;/a&gt; の閉域オプションをベースに、&lt;a href="https://aws.amazon.com/jp/bedrock/agentcore/"&gt;Amazon Bedrock AgentCore&lt;/a&gt; を活用した独自 AI エージェントの開発を行っているとのお話で、自治体特有のセキュリティ要件を満たしつつ生成 AI 活用を進めるための実践的な設計・構築のポイントを共有いただきました。OSS をベースとしたうえで自社のユースケースに合わせて AgentCore で拡張するアプローチは、これから自治体向けに生成 AI 導入を検討する事業者様にとっても参考になる内容となっておりました。&lt;/p&gt; 
&lt;h2&gt;&lt;strong&gt;GCAS ヘルプデスクについて 概要説明および活用方法のご紹介&lt;/strong&gt;&lt;/h2&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/da01-2.jpg"&gt;&lt;img width="2560" height="1707" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/da01-2.jpg" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/da01.jpg"&gt;&lt;img width="2560" height="1707" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/da01.jpg" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;p&gt;&lt;a href="https://www.digital.go.jp/"&gt;デジタル庁&lt;/a&gt; 加藤様、萬谷様より、ガバメントクラウドにおける GCAS ヘルプデスクの役割と活動についてご紹介いただきました。GCAS ヘルプデスクの概要から、より効果的にご活用いただくための考え方や問い合わせ方法、実際のお問い合わせ事例やフィードバック、CSP (Cloud Service Provider) との連携内容、今後の改善に向けた方針までお話しいただきました。&lt;/p&gt; 
&lt;p&gt;GCAS ヘルプデスクが単なる問い合わせ窓口にとどまらず、利用者の声をガバメントクラウドの改善につなげる場であるというメッセージは、参加事業者様にとって今後の活用イメージを大きく広げるものとなりました。&lt;/p&gt; 
&lt;h2&gt;&lt;strong&gt;ガバメントクラウドにおける生成 AI 利用環境「源内」の構築と展開&lt;/strong&gt;&lt;/h2&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/da02_compressed.jpg"&gt;&lt;img width="2560" height="1707" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/da02_compressed.jpg" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/da02-1_compressed.jpg"&gt;&lt;img width="2560" height="1707" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/da02-1_compressed.jpg" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;p&gt;&lt;a href="https://www.digital.go.jp/"&gt;デジタル庁&lt;/a&gt; 荻原様より、政府職員の業務品質の向上と効率化を実現するために、ガバメントクラウド上に構築・展開している生成 AI 利用環境「&lt;strong&gt;源内&lt;/strong&gt;」についてご紹介いただきました。現在、デジタル庁の職員のみならず、全府省庁約 18 万人の政府職員が生成 AI を利用できるよう、大規模実証事業を推進されています。&lt;/p&gt; 
&lt;p&gt;本セッションでは、ガバメントクラウドにおける「源内」のシステム概要と、大規模展開にあたって考慮した AI 特有の観点についてご説明いただきました。あわせて、行政業務に特化したアプリケーションの取り組みや、オープンソースソフトウェア (OSS) として公開された内容についてもご紹介いただきました。&lt;/p&gt; 
&lt;p&gt;ガバメントクラウド上での生成 AI 利用の最前線の取り組みを、構築・運用の双方の観点から伺えるセッションとなり、参加事業者様にとっても今後の生成 AI 活用案件に向けた貴重なリファレンスとなりました。&lt;/p&gt; 
&lt;h2&gt;&lt;strong&gt;テーマ別ワークショップ&lt;/strong&gt;&lt;/h2&gt; 
&lt;h2&gt;&lt;strong&gt;Strands Agents, AgentCore を使った AI エージェントのデプロイ（AI エージェントを開発する）&lt;/strong&gt;&lt;/h2&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/yuyamt.png"&gt;&lt;img width="1600" height="900" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/yuyamt.png" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/yuyamt2.png"&gt;&lt;img width="2048" height="1153" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/yuyamt2.png" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;p&gt;&lt;strong&gt;ワークショップ資料&lt;/strong&gt;：&lt;a href="https://catalog.us-east-1.prod.workshops.aws/workshops/4ff4d5cc-eb77-49fb-a1e2-3886640775aa/ja-JP"&gt;AI エージェントハンズオン 〜 作って、動かして、体験する 〜&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;AWS ソリューションアーキテクトの松本より、オープンソースの AI エージェント開発フレームワークである &lt;a href="https://strandsagents.com/"&gt;Strands Agents&lt;/a&gt; を使ったエージェント開発の体験から、&lt;a href="https://strandsagents.com/docs/user-guide/concepts/tools/mcp-tools/"&gt;Model Context Protocol (MCP)&lt;/a&gt; を使った AI エージェントの動きの理解、そして &lt;a href="https://aws.amazon.com/jp/bedrock/agentcore/"&gt;AgentCore Runtime&lt;/a&gt; を使った AI エージェントのデプロイまでを、一連のハンズオンとして体験いただきました。&lt;/p&gt; 
&lt;p&gt;さらに後半では、AWS 公式 GitHub で公開しているサンプル実装である &lt;a href="https://github.com/aws-samples/review-and-assessment-powered-by-intelligent-documentation/tree/main"&gt;RAPID&lt;/a&gt;（生成 AI を活用した書類審査ソリューション）と &lt;a href="https://github.com/aws-samples/sample-multi-agent-orchestration-chat-on-agentcore"&gt;Moca&lt;/a&gt;（マルチエージェントオーケストレーションのサンプル）を実際にお試しいただき、業務適用イメージを具体化していただきました。実装から本番デプロイ、さらにユースケース特化型のサンプル実装までをエンドツーエンドで体験できる内容となり、生成 AI を活用したサービス開発の第一歩として手応えを感じていただけたワークショップとなりました。&lt;/p&gt; 
&lt;h2&gt;&lt;strong&gt;Kiro IDE 実践ワークショップ（AI を使ってシステムを開発する）&lt;/strong&gt;&lt;/h2&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/hayama2.png"&gt;&lt;img width="1600" height="900" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/hayama2.png" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/hayama_compressed.jpg"&gt;&lt;img width="2560" height="1707" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/hayama_compressed.jpg" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;p&gt;&lt;strong&gt;ワークショップ資料&lt;/strong&gt;：&lt;a href="https://catalog.us-east-1.prod.workshops.aws/workshops/d0b02396-aaba-481f-ab77-6c52512bc22e/ja-JP"&gt;Kiro IDE 実践ワークショップ&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;AWS ソリューションアーキテクトの葉山より、生成 AI の概要解説からスタートし、生成 AI を使った開発体験、Kiro を活用した開発業務の効率化までを体験いただきました。仕様駆動開発（Spec-Driven Development）の考え方に基づき、要件定義からコード生成までを Kiro でどのように実現するかをハンズオンで学んでいただきました。「すぐにでも自分の業務で試したい」という声を多くいただいたワークショップとなりました。&lt;/p&gt; 
&lt;h2&gt;&lt;strong&gt;生成 AI を用いた AWS 環境のトラブルシューティング効率化（AI を使ってシステムを運用する）&lt;/strong&gt;&lt;/h2&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/kenicazu2.png"&gt;&lt;img width="5082" height="3396" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/kenicazu2.png" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/kenicazu.png"&gt;&lt;img width="2048" height="1365" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/kenicazu.png" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;p&gt;&lt;strong&gt;ワークショップ資料&lt;/strong&gt;：&lt;a href="https://catalog.us-east-1.prod.workshops.aws/workshops/f326b72d-fbbd-4b6c-875d-e1c69a32d586/ja-JP"&gt;生成AIを用いたAWS環境のトラブルシューティング効率化ワークショップ&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;ワークショップ補足資料&lt;/strong&gt;：&lt;a href="https://speakerdeck.com/kenicazu/gov-cloud-workshop-genai-troubleshooting"&gt;生成 AI を用いた AWS 環境のトラブルシューティング – Speaker Deck&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;AWS ソリューションアーキテクトの東より、AWS 上に構築したシステムにおいてトラブルシューティングを生成 AI を用いて効率化するための手法をご紹介し、ハンズオンとして体験いただきました。ガバメントクラウドで活用できる手法・サービスを紹介しつつ、一般の AWS 環境でも活用可能な手法も併せてお試しいただける内容となり、運用業務の効率化に向けた具体的な打ち手を持ち帰っていただけました。&lt;/p&gt; 
&lt;h2&gt;&lt;strong&gt;AWS Transform, Kiro を使ったモダナイゼーション（AI を使ってシステムをモダナイズする）&lt;/strong&gt;&lt;/h2&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/imasaka_compressed.jpg"&gt;&lt;img width="2560" height="1707" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/imasaka_compressed.jpg" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/imasaka2_compressed.jpg"&gt;&lt;img width="2560" height="1707" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/22/imasaka2_compressed.jpg" class="attachment-full size-full" alt="" loading="lazy"&gt;&lt;/a&gt; 
&lt;p&gt;AWS ソリューションアーキテクトの今坂より、AI エージェントによるレガシーコードの分析・バージョンアップグレード計画の自動生成を体験いただいた後、AI エージェントを活用したバージョンアップグレードを実際に体験いただきました。「これまで人手で時間をかけていたモダナイゼーション作業が、AI エージェントの活用でここまで自動化できるのか」という驚きとともに、自社案件への適用イメージを持ち帰っていただけたワークショップとなりました。&lt;/p&gt; 
&lt;p&gt;※ ワークショップ資料については「Kiro IDE 実践ワークショップ」と同じコンテンツをベースに実施しております。&lt;/p&gt; 
&lt;h2&gt;&lt;strong&gt;Gov-JAWS&lt;/strong&gt;&lt;/h2&gt; 
&lt;p&gt;ワークショップと併せて、&lt;a href="https://gov-jaws.connpass.com/"&gt;Gov-JAWS&lt;/a&gt; の活動も行われました。Gov-JAWS は、AWS のユーザーコミュニティ「&lt;a href="https://jaws-ug.jp/"&gt;JAWS-UG&lt;/a&gt;」の支部として、公共分野における AWS 利用に焦点を当てた新しいコミュニティです。政府や自治体が進める公共分野のクラウド利用に関連する知識やノウハウを共有するための場として設立されました。&lt;/p&gt; 
&lt;p&gt;イベント当日は夜の部として &lt;a href="https://gov-jaws.connpass.com/event/357050/"&gt;Gov-JAWS 第 5 回 Meet Up&lt;/a&gt; が開催され、懇親会と併せて多くの参加者が交流を深めました。このコミュニティを通じて、今後も公共分野でのクラウド活用に関する情報共有と横のつながりの拡大が期待されています。&lt;/p&gt; 
&lt;p&gt;詳細は Gov-JAWS 側のページをご覧ください。&lt;/p&gt; 
&lt;h2&gt;&lt;strong&gt;まとめ&lt;/strong&gt;&lt;/h2&gt; 
&lt;p&gt;今回のガバメントクラウドワークショップ 2026 春では、「AI エージェント開発」「モダナイゼーション」「AI 駆動開発」「AI による運用効率化」という生成 AI を軸とした 4 つのテーマに加え、ジョブ基盤の実装事例、生成 AI のセキュアな構成、自治体システム標準化の取り組み、GCAS ヘルプデスクの活用といった、ガバメントクラウドに携わる事業者様にとって直近で必要となるテーマを幅広く取り扱いました。&lt;/p&gt; 
&lt;p&gt;ご参加いただいた皆様におかれましては、お忙しい中ご足労いただき誠にありがとうございました。また、ご登壇いただいた NTT データ様、アクロクエストテクノロジー様、NTT 西日本様、デジタル庁様にも、貴重な知見をご共有いただきましたことを心より御礼申し上げます。&lt;/p&gt; 
&lt;p&gt;AWS では、今後もガバメントクラウドに携わる事業者様向けのワークショップを継続して開催してまいります。次回開催のご案内をお待ちください。&lt;/p&gt; 
&lt;h2&gt;&lt;strong&gt;ガバメントクラウドに関するお問い合わせ&lt;/strong&gt;&lt;/h2&gt; 
&lt;p&gt;AWS の公共チームではガバメントクラウド相談窓口を設けております。ガバメントクラウド利用全般に関するお問い合わせについて、担当の営業およびソリューションアーキテクトがご回答いたします。ぜひご活用ください。&lt;/p&gt; 
&lt;p&gt;&lt;a href="https://aws.amazon.com/jp/government-education/worldwide/japan/gov-cloud-advisory-site/"&gt;https://aws.amazon.com/jp/government-education/worldwide/japan/gov-cloud-advisory-site/&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;著者について&lt;/strong&gt;&lt;/p&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt;
   &lt;img loading="lazy" class="wp-image-11636 alignleft" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2025/06/23/kenicazu.jpg" alt="Photo of author" width="120" height="160"&gt;
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;東 健一&lt;/h3&gt; 
  &lt;p&gt;アマゾン ウェブ サービス ジャパン合同会社のソリューションアーキテクト。パブリックセクター技術統括本部に所属し、主にガバメントクラウドや医療 DX 、コンテナワークロードに関する案件の技術支援に取り組んでいる。&lt;/p&gt; 
 &lt;/div&gt; 
&lt;/footer&gt;</content:encoded>
					
		
		
			</item>
		<item>
		<title>3 か月で開発スピード 3 倍を達成：キヤノン IT ソリューションズ様が実践した AI Coding Agent 導入・普及の仕組みづくり</title>
		<link>https://aws.amazon.com/jp/blogs/news/genai-case-study-canon-its-ai-coding-agent-introduction/</link>
		
		<dc:creator><![CDATA[Naoto Kimura]]></dc:creator>
		<pubDate>Fri, 22 May 2026 03:40:09 +0000</pubDate>
				<category><![CDATA[Amazon Bedrock]]></category>
		<category><![CDATA[Amazon Bedrock AgentCore]]></category>
		<category><![CDATA[Amazon Q Developer]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Generative AI]]></category>
		<category><![CDATA[Kiro]]></category>
		<category><![CDATA[Case Study]]></category>
		<category><![CDATA[業界・目的別の生成 AI ユースケース]]></category>
		<guid isPermaLink="false">350c95c6bb5a0609cd69a633a6ae7b377006685b</guid>

					<description>本記事では、キヤノン IT ソリューションズ株式会社様が 、Amazon Q Developer を開発現場に導入し、3 か月間効果検証を実施した取り組みをご紹介します。コード生成やレビュー支援による効率化、現場での活用事例、そして検証から得られた知見について詳しく解説します。</description>
										<content:encoded>&lt;p&gt;&lt;em&gt;本ブログは、キヤノンIT ソリューションズ株式会社様と Amazon Web Services Japan が共同で執筆しました。&lt;/em&gt;&lt;/p&gt; 
&lt;p&gt;みなさん、こんにちは。AWS ソリューションアーキテクト木村、アカウントマネージャーの池田です。&lt;br&gt; 本記事では、キヤノン IT ソリューションズ株式会社様が 、Amazon Q Developer を開発現場に導入し、3 か月間効果検証を実施した取り組みをご紹介します。コード生成やレビュー支援による効率化、現場での活用事例、そして検証から得られた知見について詳しく解説します。&lt;/p&gt; 
&lt;p&gt;なお、本ブログに登場する Amazon Q Developer は&lt;a href="https://aws.amazon.com/jp/blogs/news/amazon-q-developer-end-of-support-announcement/"&gt;2026 年 4 月 30 日に AI 駆動開発IDE「Kiro」へと進化的に統合されることが発表されています&lt;/a&gt;。 本検証で培ったAI駆動開発のプラクティスやノウハウは、Kiro の仕様駆動開発（Spec-driven Development）へとそのまま活かせるものであり、キヤノン IT ソリューションズ様 の取り組みはまさにこの進化を先取りしたものと言えます。&lt;/p&gt; 
&lt;p&gt;&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/21/全体写真-1.jpg"&gt;&lt;img loading="lazy" class="aligncenter size-full wp-image-185542" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/21/全体写真-1.jpg" alt="" width="2560" height="1096"&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;背景/課題&lt;/h2&gt; 
&lt;p&gt;キヤノンITソリューションズ株式会社様(以下、キヤノン ITS )では、生成 AI ツールの社内推進活動を積極的に実施しています。今後 SIer としての競争力を維持していくために、生成 AI の活用は不可欠です。しかし、個人レベルでの試行には限界があるため、企業として活用のための基盤整備や推進を進める必要がありました。&lt;/p&gt; 
&lt;p&gt;そこでキヤノン ITS 様は、2024年に「生成 AI ビジネス検討委員会」を立ち上げて、生成 AI ビジネスにおける 5 年後のありたい姿と戦略を策定し、その具体的な施策を推進するための「生成 AI ビジネス推進室」を発足。社内の利用ガイドラインの整備、生成 AI ツールの全社的な導入を推進してきました。&lt;/p&gt; 
&lt;p&gt;生成 AI ツールの導入後に現場への定着をいかに進めるかは、多くの企業にとって共通の課題です。キヤノン ITS 様は全社横断向けの複数回に渡るイベント形式で「AI 駆動開発の普及」を行うことで、より深い活用推進を実施しました。&lt;/p&gt; 
&lt;h2&gt;なぜ Amazon Q Developer を選択したのか(導入当時)&lt;/h2&gt; 
&lt;p&gt;全社利用が可能な生成 AI ツールは導入済みではありましたが、「AI 駆動開発の普及」という目的に対し、コスト・運用・性能のバランスに優れた選択肢であることから Amazon Q Developer を選択しました。&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;コスト: 
  &lt;ul&gt; 
   &lt;li&gt;月額ユーザー数の固定料金で予算計画が容易&lt;/li&gt; 
   &lt;li&gt;同機能の固定費用で使えるサービスとしては最も安価&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;運用: 
  &lt;ul&gt; 
   &lt;li&gt;既存の AWS 環境（情報システム部門の管轄）でアカウント管理可能&lt;/li&gt; 
   &lt;li&gt;AWS から導入・普及の支援を受けることができる&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;性能: 
  &lt;ul&gt; 
   &lt;li&gt;Claude Sonnet 4（実施当時）による高精度の生成&lt;/li&gt; 
   &lt;li&gt;MCP 対応による拡張性の高さ&lt;/li&gt; 
   &lt;li&gt;セキュリティ・脆弱性診断、モダナイゼーションなど SI に役立つ機能搭載&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;AI駆動開発の普及をする上での工夫ポイント&lt;/h2&gt; 
&lt;p&gt;本施策が単なるツール導入だけで終わらぬよう、事前に懸念事項を洗い出し、キヤノン ITS 様と AWS にて、役割分担を行い施策設計をしました。&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;懸念事項 
  &lt;ul&gt; 
   &lt;li&gt;Amazon Q Developerのリリース・キックオフがなされただけで、ツールが使われない&lt;/li&gt; 
   &lt;li&gt;事業部側での予算制限があり、積極利用がなされない&lt;/li&gt; 
   &lt;li&gt;ツールの認知はされているが、使い方が分からずに利用がされない&lt;/li&gt; 
   &lt;li&gt;AI駆動開発の取組自体が限られた少数のメンバーにしか知られない&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;対策 
  &lt;ul&gt; 
   &lt;li&gt;オペレーション整備 
    &lt;ul&gt; 
     &lt;li&gt;ツールを使ってもらえるような申請フローの整備（キヤノン ITS）&lt;/li&gt; 
    &lt;/ul&gt; &lt;/li&gt; 
   &lt;li&gt;興味喚起 
    &lt;ul&gt; 
     &lt;li&gt;「このツールは面白い」と思ってもらえるイベント。継続するための仕掛けづくり（AWS）&lt;/li&gt; 
    &lt;/ul&gt; &lt;/li&gt; 
   &lt;li&gt;障壁排除 
    &lt;ul&gt; 
     &lt;li&gt;ハンズオン/定期的なオフィスアワーを行うことで技術的な懸念点を払拭（キヤノンITS/AWS）&lt;/li&gt; 
    &lt;/ul&gt; &lt;/li&gt; 
   &lt;li&gt;イベント化 
    &lt;ul&gt; 
     &lt;li&gt;打ち上げ花火のようなオンラインイベントで終わらせず、興味喚起、ハンズオン研修、利用者のトラッキングを行いランキング発表等、全社向けの年末までのロードマップを敷いて継続施策として打ち出す（キヤノンITS/AWS）&lt;/li&gt; 
    &lt;/ul&gt; &lt;/li&gt; 
   &lt;li&gt;エグゼクティブスポンサー 
    &lt;ul&gt; 
     &lt;li&gt;エグゼクティブスポンサーである、金澤社長からの支援と声かけを実施（キヤノンITS）&lt;/li&gt; 
    &lt;/ul&gt; &lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;ロードマップ全体像&lt;/h2&gt; 
&lt;p&gt;&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev1.jpg"&gt;&lt;img loading="lazy" class="aligncenter wp-image-185011 size-full" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev1.jpg" alt="" width="881" height="489"&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;AI駆動開発の社内展開に向けて、Amazon Q Developer の業務適用検証を実施しました。本取り組みは、9 月 5 日に開催した「AI Agent DAY」をキックオフとし、Amazon Q Developer を実際の業務に適用した際の有効性を約 3 か月間にわたり検証したものです。&lt;/p&gt; 
&lt;p&gt;キックオフイベントには約 250 名が参加し、100 名以上の技術者が Amazon Q Developer のハンズオンを体験しました。その後の業務適用検証フェーズでは、生成 AI ビジネス推進室がツール利用費を負担する形で施策を企画し、57 名が参加しています。検証期間中は、インフラおよびアプリケーションを対象としたハンズオンセッションやオフィスアワー、中間イベントを実施しました。あわせて、Teams 上の「生成 AI 交流広場」での情報共有やアンケートを通じた成果の可視化にも取り組んでいます。&lt;/p&gt; 
&lt;p&gt;最終的には、技術者向けイベント「CITS Day 2025」において、Amazon Q Developer を効果的に活用した取り組みを表彰しています。なお、表彰対象検討のための利用状況のデータ分析においても、Amazon Q Developer を活用しました。&lt;/p&gt; 
&lt;p style="text-align: center"&gt;&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev2.png"&gt;&lt;img loading="lazy" class="aligncenter wp-image-185024 size-full" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev2.png" alt="" width="624" height="390"&gt;&lt;/a&gt;Amazon Q Developer の利用状況を示すダッシュボード&lt;/p&gt; 
&lt;p&gt;&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev3.jpg"&gt;&lt;img loading="lazy" class="aligncenter wp-image-185023 size-full" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev3.jpg" alt="" width="624" height="384"&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p style="text-align: center"&gt;Amazon Q Developer へ利用率ランキングを集計するプロンプト&lt;/p&gt; 
&lt;p&gt;&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev4.jpg"&gt;&lt;img loading="lazy" class="aligncenter wp-image-185022 size-full" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev4.jpg" alt="" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p style="text-align: center"&gt;CITS Day 2025 での表彰&lt;/p&gt; 
&lt;h2&gt;活用事例&lt;/h2&gt; 
&lt;p&gt;CITS Dayのイベント内では、複数の事例が共有されました。&lt;/p&gt; 
&lt;h3&gt;&lt;strong&gt;事例1: 開発ツール×生成AI（佐野様の発表）&lt;/strong&gt;&lt;/h3&gt; 
&lt;p&gt;&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev5.jpg"&gt;&lt;img loading="lazy" class="aligncenter wp-image-185021 " src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev5.jpg" alt="" width="758" height="570"&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;抱えていた課題&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;プログラミングの抽象化レイヤーの進化と開発ツールの変化への対応&lt;/li&gt; 
 &lt;li&gt;開発業務の効率化と生産性向上&lt;/li&gt; 
 &lt;li&gt;資料作成やアイデア整理などのコーディング以外の作業の効率化&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;導入した理由・きっかけ&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;新しい開発スタイルで「速さ」「安全性」「柔軟性」を実現するため&lt;/li&gt; 
 &lt;li&gt;Kiro との出会い（2024年夏）がきっかけ&lt;/li&gt; 
 &lt;li&gt;生成 AI の柔軟性を活かしつつ、課題（コード品質のばらつき、非機能要件への対応不足など）を解決するため&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;導入して得られた結果&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;バイブコーディングモードを活用することで、マークダウン形式で効率的に資料作成が可能に&lt;/li&gt; 
 &lt;li&gt;レイアウト案をアスキーアートで事前確認するなど、視覚的な提示が可能に&lt;/li&gt; 
 &lt;li&gt;仕様駆動開発モードではプロトタイプの迅速な作成が実現&lt;/li&gt; 
 &lt;li&gt;バーコードスキャナーアプリの要件からタスク分解、実装まで効率的に進行&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev6.png"&gt;&lt;img loading="lazy" class="aligncenter wp-image-185020 size-full" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev6.png" alt="" width="979" height="525"&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;事例2: PoCでのAmazon Q Developer活用（可知様の発表）&lt;br&gt; &lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev7.jpg"&gt;&lt;img loading="lazy" class="aligncenter wp-image-185019 size-full" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev7.jpg" alt="" width="858" height="643"&gt;&lt;/a&gt;&lt;/h3&gt; 
&lt;p&gt;抱えていた課題&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;SNS バズ検知を需給マネジメントに繋げるための PoC を短期間・低コストで実施&lt;/li&gt; 
 &lt;li&gt;SNS API や可視化技術など、未経験の技術を習得して実装&lt;/li&gt; 
 &lt;li&gt;技術検証フェーズに時間やコストをかけられない&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;導入した理由・きっかけ&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;社内からの提案で、生成 AI の活用が適した題材と判断&lt;/li&gt; 
 &lt;li&gt;低コスト（$19/月）で社内環境も整備されていたため&lt;/li&gt; 
 &lt;li&gt;短期間での技術獲得とプロトタイプ開発、生成 AI 活用のノウハウ獲得を目指して導入&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;導入して得られた結果&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;新規技術（SNS API 活用技術、Streamlit によるアプリ開発技術）の習得が迅速に進んだ&lt;/li&gt; 
 &lt;li&gt;開発スピードが約 3 倍に向上（通常 2 週間かかる作業が 3 日で完了）&lt;/li&gt; 
 &lt;li&gt;コスト削減（10 人日 → 3 人日＋$19の料金のみ、約 1/3 のコスト）&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev8.jpg"&gt;&lt;img loading="lazy" class="aligncenter wp-image-185018 size-full" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev8.jpg" alt="" width="624" height="334"&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;事例3: Amazon Q Developerを使用したインフラ構築（谷様の発表）&lt;/h3&gt; 
&lt;p&gt;&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev9.jpg"&gt;&lt;img loading="lazy" class="aligncenter wp-image-185017 size-full" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev9.jpg" alt="" width="804" height="604"&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;抱えていた課題&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;インフラ構築業務での効率化とエラー削減&lt;/li&gt; 
 &lt;li&gt;Terraform の定義言語 HCL の習得や適切なコーディングの必要性&lt;/li&gt; 
 &lt;li&gt;インフラコード化（IaC）におけるコードレビューと品質確保&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;導入した理由・きっかけ&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;インフラ構築業務の流れが「パラメーター設計 → コード生成 → デプロイ → テスト」に変わる中で効率化を図るため&lt;/li&gt; 
 &lt;li&gt;コード生成からドライテスト、デプロイまでのプロセスを改善するため&lt;/li&gt; 
 &lt;li&gt;Claude Sonnet 4.5 が API 課金ではなく使える点が魅力的だった&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;導入して得られた結果&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;パラメーターシートやアーキテクチャ図を基に Terraform コードの自動生成が可能に&lt;/li&gt; 
 &lt;li&gt;AI によるコードレビューが人間のレビューを補完し、エラー検出が向上&lt;/li&gt; 
 &lt;li&gt;validate、plan、apply の各段階でのエラー検出と修正が効率化&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev10.png"&gt;&lt;img loading="lazy" class="aligncenter wp-image-185016 size-full" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev10.png" alt="" width="979" height="497"&gt;&lt;/a&gt;事例4: 仕様駆動開発の手引き（古川様の発表）&lt;br&gt; &lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev11.jpg"&gt;&lt;img loading="lazy" class="aligncenter wp-image-185015 size-full" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev11.jpg" alt="" width="1286" height="965"&gt;&lt;/a&gt;&lt;/h3&gt; 
&lt;p&gt;抱えていた課題&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;「仕様が主、実装が従」という本来あるべき開発の構図が逆転しがち&lt;/li&gt; 
 &lt;li&gt;仕様書の陳腐化や実装との乖離の発生&lt;/li&gt; 
 &lt;li&gt;vibe coding は業務で活用するには曖昧すぎる&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;導入した理由・きっかけ&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;自分で設計して自分で実装するケースが多く、生成 AI 導入の恩恵が大きいと考えたため&lt;/li&gt; 
 &lt;li&gt;他の生成 AI ツールと Amazon Q Developer の比較検討を自分自身でやってみたかったため&lt;/li&gt; 
 &lt;li&gt;仕様駆動開発が開発手法として確立しつつあり、業務に適用してみたかったため&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;導入して得られた結果&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;ルール制定 → README記述 → 設計書作成 → TODOリスト作成 → 実装という流れで社内用の小規模なツールを効率的に開発できた&lt;/li&gt; 
 &lt;li&gt;AI が設計図やタスク分解などを自動化し、人間はレビューと意図合わせに集中できる&lt;/li&gt; 
 &lt;li&gt;仕様駆動開発の考え方を取り入れることで、開発の最初に充実したドキュメントを作れるようになった&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;事例5: Amazon Q Developer 活用事例紹介（鈴木様の発表）&lt;br&gt; &lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev13.jpg"&gt;&lt;img loading="lazy" class="aligncenter size-full wp-image-185013" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev13.jpg" alt="" width="979" height="733"&gt;&lt;/a&gt;&lt;/h3&gt; 
&lt;p&gt;抱えていた課題&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;製品機能設計に向けて AI エージェント技術の理解と実験環境構築が必要だった&lt;/li&gt; 
 &lt;li&gt;AgentCore や CloudFormation など、大量コードの読解や IaC 化の負荷が高い&lt;/li&gt; 
 &lt;li&gt;新しい技術領域で情報が少なく、定義ミスやドキュメント解釈間違いが発生しやすい&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;導入した理由・きっかけ&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Amazon Bedrock AgentCore を使った機能検討のため、AI エージェントの仕組み理解と環境構築を効率化したかった&lt;/li&gt; 
 &lt;li&gt;GitHub の AgentCore サンプルを活用する中で、Q を使えばコード理解・修正・IaC 化まで一気に進められると判断&lt;/li&gt; 
 &lt;li&gt;大量コードの理解、React アプリ実装など AI に向いている作業が多かったため Q 活用を決断&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;導入して得られた結果&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;AgentCore + Knowledge MCP + CloudFormation による再利用可能なAIエージェント実験環境を構築&lt;/li&gt; 
 &lt;li&gt;React チャットアプリやブラウザ動作確認まで実装〜テストの大部分を Q が自動化&lt;/li&gt; 
 &lt;li&gt;Rules 整備やレビューを通じて、Q を“正解を出す AI ”ではなく“協働する相棒”として運用する体制を確立&lt;/li&gt; 
 &lt;li&gt;Try &amp;amp; Error の混乱を Git コミットや TODO 管理で整理し、AI と協働できる実践的な開発フローを確立&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev15.png"&gt;&lt;img loading="lazy" class="aligncenter size-full wp-image-185012" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/13/qdev15.png" alt="" width="979" height="514"&gt;&lt;/a&gt;&lt;/h2&gt; 
&lt;h2&gt;定量的な成果&lt;/h2&gt; 
&lt;p&gt;3か月間の業務適用検証期間において、Amazon Q Developerを利用した取組は以下の定量的な成果を達成しました。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;コード生成・開発効率&lt;/strong&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;開発スピード 3 倍向上: 通常 2 週間かかる PoC 開発が 3 日で完了&lt;/li&gt; 
 &lt;li&gt;工数削減 67%: 10 人日から 3 人日へ削減、コストは約 1/3 に&lt;/li&gt; 
 &lt;li&gt;コード生成数: 検証期間中、57 名の参加者が累計で数千行のコード生成を実施&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;strong&gt;レビュー・品質向上&lt;/strong&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;レビュー時間短縮: AIによるコードレビュー支援により、人間のレビュー工数を削減しつつエラー検出精度が向上&lt;/li&gt; 
 &lt;li&gt;エラー早期発見: validate、plan、apply の各段階でのエラー検出が効率化され、手戻りコストを削減&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;strong&gt;継続利用&lt;/strong&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;参加率 95% : 募集定員 60 名に対し 57 名が参加し継続して利用&lt;/li&gt; 
 &lt;li&gt;アクティブ利用: 検証期間中、定期的なオフィスアワーやTeams「生成AI交流広場」での活発な情報交換を実施&lt;/li&gt; 
 &lt;li&gt;イベント参加: キックオフイベントに 250 名、ハンズオンに 100 名以上が参加&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;定性的なフィードバック（利用者の声）&lt;/h2&gt; 
&lt;p&gt;検証期間中のアンケートやCITS Day 2025での発表から、以下のような利用者の声が得られました。&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;「SNS API や Streamlit など、未経験の技術を短期間で習得できた。新規技術獲得へのハードルが大幅に下がった」&lt;/li&gt; 
 &lt;li&gt;「PoC の進め方が大きく変わることを実感。人は課題抽出やロジック検討、結果確認に注力できるようになった」&lt;/li&gt; 
 &lt;li&gt;「生成 AI と開発の構造を組み合わせることで、柔軟性・速さと品質・一貫性の両立が可能になった」&lt;/li&gt; 
 &lt;li&gt;「仕様書を起点に、AI エージェントに任せながら効率的に開発できる。仕様駆動開発が現実的な選択肢になった」&lt;/li&gt; 
 &lt;li&gt;「パラメーターシートやアーキテクチャ図を基に Terraform コードの自動生成が可能になり、インフラ構築業務が大幅に効率化された」&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;検証の総括&lt;/h2&gt; 
&lt;p&gt;キヤノンITS 様は、生成 AI ビジネス推進室を中心に Amazon Q Developer の展開を推進し、3 か月間の業務適用検証を通じて組織的な AI 駆動開発の定着を実現しました。エグゼクティブスポンサーの支援と予算負担の工夫により現場の参加障壁を排除し、専用 Teams チャネルでのコミュニティ形成、定期的なオフィスアワー、実践的なハンズオンセッションという段階的な学習支援を提供しました。&lt;/p&gt; 
&lt;p&gt;検証期間中、57 名の技術者が実務で Amazon Q Developer を活用し、開発スピード 3 倍向上、工数 67 %削減という具体的な定量効果を達成。Amazon Q Developer 自身で作成したダッシュボードにより利用状況を可視化し、CITS Day 2025 での表彰制度により 5 つの優秀事例を全社で共有しました。&lt;/p&gt; 
&lt;p&gt;成功の鍵は、生成AIビジネス推進室の設立による組織的な推進体制、単発イベントで終わらせない年間ロードマップに基づく継続的な支援施策、そして実ビジネスでの活用という 3 つの要素にあります。キックオフから始まり、ハンズオン、中間イベント、表彰へと続く一連の取り組みにより、SNS バズ検知システムなど実際の PoC 案件での成果を創出し、新規技術習得の加速、PoC プロセスの変革、インフラ構築の効率化など、多様な領域での効果を実証しました。&lt;/p&gt; 
&lt;h2&gt;キヤノンITS 様からAmazon Web Services Japanへの期待&lt;/h2&gt; 
&lt;p&gt;今回の取り組みを通じて、Amazon Q Developer を開発現場の生産性向上に有効活用できることが実感できました。PoC からインフラ構築、既存システムの改善まで、多様な領域で活用の可能性が広がっています。&lt;/p&gt; 
&lt;p&gt;今後は、今回の検証で得られた知見をもとに、社内での活用パターンの整理やナレッジの共有を進め、より多くのプロジェクトで生成AIを活かせる環境づくりを進めていきます。また、Amazon Web Services Japan 様と連携しながら、新機能の検証や他サービスとの組み合わせなど、さらなる活用領域の拡大にも取り組んでいく予定です。&lt;/p&gt; 
&lt;p&gt;生成AI が IT ライフサイクル全般の在り方を大きく変えつつある中、私たちは、現場の開発体験を改善するとともに、社会やお客様へ更なる価値提供に向けて積極的に活用していくための取り組みを継続して進めていきます。&lt;/p&gt; 
&lt;h2&gt;執筆者&lt;/h2&gt; 
&lt;div style="overflow: hidden;margin-bottom: 10px"&gt;
 &lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/21/CITS石堂.jpg"&gt;&lt;img loading="lazy" class="wp-image-185541 size-full alignleft" style="width: 200px;height: 250px;object-fit: cover" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/21/CITS石堂.jpg" alt="" width="1132" height="1132"&gt;&lt;/a&gt;
 &lt;br&gt; キヤノンITソリューションズ株式会社
 &lt;br&gt; 生成AIビジネス推進室
 &lt;br&gt; 石堂 きよみ
&lt;/div&gt; 
&lt;div style="overflow: hidden;margin-bottom: 10px"&gt;
 &lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/21/池田写真.jpeg"&gt;&lt;img loading="lazy" class="alignleft wp-image-185540 size-full" style="width: 200px;height: 250px;object-fit: cover" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/21/池田写真.jpeg" alt="" width="120" height="160"&gt;&lt;/a&gt;
 &lt;br&gt; Amazon Web Services Japan
 &lt;br&gt; ハイテク&amp;amp;ヘルスケア事業本部
 &lt;br&gt; アカウントマネージャー
&lt;/div&gt; 
&lt;div style="overflow: hidden;margin-bottom: 10px"&gt;
 &lt;a href="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2025/03/25/badgephotos.amazon.com_.jpeg"&gt;&lt;img loading="lazy" width="225" height="300" class="alignleft wp-image-153675" style="width: 200px;height: 250px;object-fit: cover" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2025/03/25/badgephotos.amazon.com_-225x300.jpeg" alt=""&gt;&lt;/a&gt;
 &lt;br&gt; Amazon Web Services Japan
 &lt;br&gt; ソリューションアーキテクト
 &lt;br&gt; 
 &lt;a href="https://x.com/_kimunao" target="_blank" rel="noopener"&gt;木村 直登(Naoto Kimura)&lt;/a&gt;
&lt;/div&gt;</content:encoded>
					
		
		
			</item>
		<item>
		<title>AWS における AI エージェント対応のデータ基盤 (2) — SageMaker Catalog で行・列レベルのアクセス権を透過的に適用する</title>
		<link>https://aws.amazon.com/jp/blogs/news/ai-agent-ready-data-platform-authorization-deep-dive/</link>
		
		<dc:creator><![CDATA[Kenji Kono]]></dc:creator>
		<pubDate>Thu, 21 May 2026 23:56:11 +0000</pubDate>
				<category><![CDATA[Amazon SageMaker Data & AI Governance]]></category>
		<category><![CDATA[Amazon SageMaker Unified Studio]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Generative AI]]></category>
		<category><![CDATA[Amazon SageMaker]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[AWS Lake Formation]]></category>
		<guid isPermaLink="false">086e08ab835a4ec14c42b3a41934149b7d2c8fa1</guid>

					<description>本記事は、シリーズ「AWS における AI エージェント対応のデータ基盤」の第 2 回です。第 1 回では、A […]</description>
										<content:encoded>&lt;p&gt;本記事は、シリーズ「AWS における AI エージェント対応のデータ基盤」の第 2 回です。&lt;a href="https://aws.amazon.com/jp/blogs/news/ai-agent-ready-data-platform-overview-and-demo/"&gt;第 1 回&lt;/a&gt;では、AI エージェントが組織の本番データに対して正しく動くために必要な 3 要素（認可・ビジネスデータカタログ・ドメイン知識）を紹介し、認可が効いている様子をデモで示しました。本記事では、3 要素のうち認可に焦点を当て、AI エージェント経由のデータアクセスに &lt;a href="https://aws.amazon.com/sagemaker/catalog/"&gt;Amazon SageMaker Catalog&lt;/a&gt; のアクセス制御を透過的に効かせる実装パターンを解説します。&lt;/p&gt; 
&lt;p&gt;サンプルリポジトリ: &lt;a href="https://github.com/aws-samples/sample-sagemaker-agentic-analyst"&gt;aws-samples/sample-sagemaker-agentic-analyst&lt;/a&gt;&lt;/p&gt; 
&lt;div style="border: 1px solid #d0d7de;border-radius: 6px;overflow: hidden;max-width: 640px;margin: 1.5em 0;font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif"&gt; 
 &lt;a href="https://github.com/aws-samples/sample-sagemaker-agentic-analyst" target="_blank" rel="noopener" style="text-decoration: none;color: inherit"&gt;&lt;p&gt;&lt;/p&gt; 
  &lt;div style="padding: 16px 20px"&gt; 
   &lt;div style="font-size: 14px;color: #656d76;margin-bottom: 8px"&gt;
    aws-samples
   &lt;/div&gt; 
   &lt;div style="font-size: 16px;font-weight: 600;color: #0969da;margin-bottom: 6px"&gt;
    sample-sagemaker-agentic-analyst
   &lt;/div&gt; 
   &lt;div style="font-size: 14px;color: #656d76;line-height: 1.5"&gt;
    A demo application that demonstrates how fine-grained access controls configured in SageMaker Unified Studio are transparently enforced on data access through AI agents.
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; &lt;/a&gt;
 &lt;p&gt;&lt;a href="https://github.com/aws-samples/sample-sagemaker-agentic-analyst" target="_blank" rel="noopener" style="text-decoration: none;color: inherit"&gt; &lt;/a&gt; &lt;/p&gt;
&lt;/div&gt; 
&lt;h2 id="ai-エージェントにアクセス制御を効かせる-3-つの壁"&gt;AI エージェントにアクセス制御を効かせる 3 つの壁&lt;/h2&gt; 
&lt;p&gt;AI エージェントにデータアクセスを任せるとき、守るべき原則があります。エージェントは独自の認可ロジックを持たず、ユーザーが SageMaker Catalog で付与されている権限を、エージェント経由でもそのまま透過的に利用させることです（SageMaker Catalog は &lt;a href="https://aws.amazon.com/datazone/"&gt;Amazon DataZone&lt;/a&gt; の上に構築されており、権限設定は DataZone API で操作します）。エージェント内に独自の認可ロジックを作ると、既存のガバナンスと二重管理になり、整合性を保つのが難しくなるからです。&lt;/p&gt; 
&lt;p&gt;この原則を実現しようとすると、素直な実装ではたどり着けない 3 つの壁があります。これらは本記事で解説する設計上の工夫によって越えられます。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;壁 1: コンピュートリソース自体のロールで権限を取得すると、全ユーザーが同一権限になる。&lt;/strong&gt; AI エージェントのツールは &lt;a href="https://aws.amazon.com/lambda/"&gt;AWS Lambda&lt;/a&gt;、&lt;a href="https://aws.amazon.com/fargate/"&gt;AWS Fargate&lt;/a&gt;、&lt;a href="https://aws.amazon.com/ec2/"&gt;Amazon EC2&lt;/a&gt; など何らかのコンピュートリソース上で実行されます。そのコンピュートリソース自体のロール（たとえば Lambda の実行ロール）で DataZone の &lt;code&gt;GetEnvironmentCredentials&lt;/code&gt; API を呼ぶと、返ってくるのはそのロール自身のメンバーシップに基づくプロジェクトロールです。どのユーザーがリクエストしても同じ認証情報が返るため、ユーザー個別のアクセス制御を効かせるには工夫が必要です。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;壁 2: SAML フェデレーション経由のトークンには、IdP 側のグループ情報が乗らない。&lt;/strong&gt; &lt;a href="https://aws.amazon.com/iam/identity-center/"&gt;AWS IAM Identity Center&lt;/a&gt;（以下 IdC）と、たとえば &lt;a href="https://aws.amazon.com/cognito/"&gt;Amazon Cognito&lt;/a&gt; を SAML フェデレーションで連携する構成では、IdC 側のグループ情報が Cognito のトークンに自動的には含まれません。「データコンシューマーには &lt;code&gt;athena_query&lt;/code&gt; を許可し、ドメイン管理者には &lt;code&gt;cloudtrail_query&lt;/code&gt; のみ許可する」といったツール単位の認可を IdC のグループベースで行うには、グループ情報をトークンに載せる工夫が必要です。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;壁 3: 設定時と実行時で関与するサービスが異なり、認可の全体像を把握する必要がある。&lt;/strong&gt; SageMaker Catalog の裏側では複数のサービスが連携しています。設定時に使うサービスと、クエリ実行時に評価されるサービスが異なるため、全体像を把握しないと正しい実装にたどり着けません。&lt;/p&gt; 
&lt;p&gt;本記事では、サンプルリポジトリ &lt;a href="https://github.com/aws-samples/sample-sagemaker-agentic-analyst"&gt;sample-sagemaker-agentic-analyst&lt;/a&gt; がこれらの壁をどう越えているかを解説します。&lt;/p&gt; 
&lt;h2 id="サービスの役割分担を整理する"&gt;サービスの役割分担を整理する&lt;/h2&gt; 
&lt;p&gt;本記事で扱うサービスの関係を先に整理します。&lt;/p&gt; 
&lt;p&gt;Amazon SageMaker Catalog は、データと AI の発見・ガバナンス・コラボレーションを担うサービスで、Amazon DataZone の上に構築されています。データの Publish/Subscribe やアクセス権の設定は SageMaker Catalog（および &lt;a href="https://aws.amazon.com/sagemaker/unified-studio/"&gt;Amazon SageMaker Unified Studio&lt;/a&gt; の UI）で行いますが、実際のクエリ実行時に行・列レベルのアクセス制御を評価するのは &lt;a href="https://aws.amazon.com/lake-formation/"&gt;AWS Lake Formation&lt;/a&gt; です。S3 上のファイルに対するアクセス制御は &lt;a href="https://aws.amazon.com/s3/features/access-grants/"&gt;Amazon S3 Access Grants&lt;/a&gt; が担います。&lt;/p&gt; 
&lt;p&gt;つまり、SageMaker Catalog で「誰がどのデータを見てよいか」を &lt;strong&gt;設定&lt;/strong&gt; し、Lake Formation と S3 Access Grants が &lt;strong&gt;実行時&lt;/strong&gt; にその設定を評価する、という役割分担です。&lt;/p&gt; 
&lt;p&gt;重要な原則として、DataZone はクエリ実行パスに入りません。後述する認証情報変換フローでは DataZone API（&lt;code&gt;RedeemAccessToken&lt;/code&gt; / &lt;code&gt;GetEnvironmentCredentials&lt;/code&gt;）を呼びますが、これは &lt;a href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway.html"&gt;AgentCore Gateway&lt;/a&gt; に接続された Lambda（以下 Tool Lambda）が &lt;strong&gt;プロジェクトロールの認証情報を取得する&lt;/strong&gt; ための前段であり、Athena クエリや S3 オブジェクト取得そのものには DataZone は介在しません。クエリ実行時の認可評価は Lake Formation と S3 Access Grants が担います。この「認証情報取得の経路」と「データアクセスの経路」の分離を理解しておくと、以降のフローが読みやすくなります。&lt;/p&gt; 
&lt;h2 id="認証情報変換フロー-5-つのステップ"&gt;認証情報変換フロー: 5 つのステップ&lt;/h2&gt; 
&lt;p&gt;壁 1 と壁 3 に対応するため、本サンプルでは 5 つのステップで認証情報を変換します。ブラウザでサインインしたユーザーの Cognito トークンから出発し、最終的にそのユーザーの権限が反映された SageMaker プロジェクトロールの一時認証情報を Tool Lambda の手元に届けます（下図）。&lt;/p&gt; 
&lt;p&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/04/23/credential-flow.png"&gt;&lt;/p&gt; 
&lt;h3 id="step-1-ブラウザから-agentcore-runtime-へ"&gt;Step 1: ブラウザから AgentCore Runtime へ&lt;/h3&gt; 
&lt;p&gt;ブラウザ上の React アプリが、&lt;a href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/agents-tools-runtime.html"&gt;Amazon Bedrock AgentCore Runtime&lt;/a&gt; のエンドポイントに HTTPS リクエストを送ります。このリクエストには 2 つのトークンが乗っています。&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;Authorization: Bearer &amp;lt;Cognito Access Token&amp;gt;&lt;/code&gt; — Runtime の Cognito Authorizer が検証します&lt;/li&gt; 
 &lt;li&gt;カスタムヘッダー &lt;code&gt;X-Amzn-Bedrock-AgentCore-Runtime-Custom-Cognito-Id-Token: &amp;lt;Cognito ID Token&amp;gt;&lt;/code&gt; — 次のステップで使います&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Cognito Access Token と Cognito ID Token はどちらも Amazon Cognito が発行する JSON Web Token（JWT）ですが、役割が異なります。Access Token は「このリクエストは正当なユーザーから来たか」を Runtime と Gateway が判定するために使います。ID Token はユーザーのアイデンティティ情報（メールアドレスなど）を含んでおり、次のステップで IdC のユーザーと突き合わせるために使います。&lt;/p&gt; 
&lt;h3 id="step-2-chat-agent-が-cognito-id-token-を-idc-access-token-に引き換える"&gt;Step 2: chat-agent が Cognito ID Token を IdC Access Token に引き換える&lt;/h3&gt; 
&lt;p&gt;Amazon Bedrock AgentCore Runtime はエージェントプロセスをホストするマネージドサービスです。呼び出し主体はその上で動くユーザーコード（本サンプルでは &lt;code&gt;chat-agent&lt;/code&gt;）であり、Runtime サービス自身がトークン変換を自動で行うわけではありません。&lt;code&gt;chat-agent&lt;/code&gt; が IdC の &lt;code&gt;CreateTokenWithIAM&lt;/code&gt; API を呼びます。&lt;/p&gt; 
&lt;pre class="typescript"&gt;&lt;code lang="typescript" class="language-typescript"&gt;const tokenRes = await new SSOOIDCClient({ region }).send(
  new CreateTokenWithIAMCommand({
    clientId: idcApplicationArn,
    grantType: 'urn:ietf:params:oauth:grant-type:jwt-bearer',
    assertion: cognitoIdToken,
  }),
);
const idcAccessToken = tokenRes.accessToken;&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;jwt-bearer grant で Cognito ID Token を渡すと、IdC はそのクレームから IdC ユーザーを特定し、IdC Access Token を返します。&lt;/p&gt; 
&lt;p&gt;ここで 2 つの補足があります。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Cognito JWT と IdC Access Token は別物です。&lt;/strong&gt; 発行者が違い（Cognito vs IdC）、形式も違います（JWT vs 不透明トークン）。Cognito JWT は Cognito 連携アプリでしか通用しませんが、IdC Access Token は IdC の &lt;a href="https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-overview.html"&gt;Trusted Identity Propagation（TIP）&lt;/a&gt; に対応した AWS サービスで通用します。TIP は、IdC ユーザーのアイデンティティを IAM ロールの STS セッションに identity context として伝播させる仕組みです。DataZone は TIP 対応サービスの 1 つで、&lt;code&gt;RedeemAccessToken&lt;/code&gt; はその入口に位置します。&lt;code&gt;CreateTokenWithIAM&lt;/code&gt; と &lt;code&gt;RedeemAccessToken&lt;/code&gt; は、このトークンの世界をまたぐブリッジの役割を果たします。&lt;/p&gt; 
&lt;p&gt;ただし本サンプルでは、TIP の identity-enhanced session をそのままデータ層まで持ち込んで Lake Formation や S3 Access Grants に評価させる構成は採っていません。SageMaker Catalog の Publish/Subscribe モデルが &lt;strong&gt;プロジェクトロール&lt;/strong&gt; に行・列・オブジェクトレベルの権限を付与する設計になっているため、IdC ユーザーのアイデンティティは &lt;code&gt;RedeemAccessToken&lt;/code&gt; → &lt;code&gt;GetEnvironmentCredentials&lt;/code&gt; を経由してプロジェクトロールへ引き換えられ、以降のデータアクセスはプロジェクトロールの権限で評価されます。TIP の役割はこの引き換えの前段に限定され、本記事の焦点もそこにあります。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;&lt;code&gt;CreateTokenWithIAM&lt;/code&gt; には &lt;code&gt;jti&lt;/code&gt; 制約があります。&lt;/strong&gt; JWT には &lt;code&gt;jti&lt;/code&gt;（JWT ID）という一意識別子のクレームがあり、IdC は jwt-bearer grant で受け取った JWT の &lt;code&gt;jti&lt;/code&gt; を記録します。同じ &lt;code&gt;jti&lt;/code&gt; の JWT が再度送られると拒否されるため、同一の Cognito ID Token で &lt;code&gt;CreateTokenWithIAM&lt;/code&gt; を 2 回呼ぶことはできません。このため、chat-agent で 1 リクエストあたり 1 回だけ実行し、得られた IdC Access Token を &lt;code&gt;x-idc-access-token&lt;/code&gt; カスタムヘッダーで AgentCore Gateway 経由で全 Tool Lambda に伝播する設計になっています。&lt;/p&gt; 
&lt;p&gt;なお、&lt;code&gt;CreateTokenWithIAM&lt;/code&gt; を呼ぶための IAM アクション名は &lt;code&gt;sso-oauth:CreateTokenWithIAM&lt;/code&gt; です。SDK クライアントは &lt;code&gt;SSOOIDCClient&lt;/code&gt; を使いますが、IAM ポリシー側のサービス名は &lt;code&gt;sso-oauth&lt;/code&gt; になります。また、IdC の OAuth Customer Managed Application に &lt;code&gt;datazone:domain:access&lt;/code&gt; スコープを事前に登録しておく必要があります。&lt;/p&gt; 
&lt;h3 id="step-3-tool-lambda-が-idc-access-token-を-domainexecutionrole-の認証情報に引き換える"&gt;Step 3: Tool Lambda が IdC Access Token を DomainExecutionRole の認証情報に引き換える&lt;/h3&gt; 
&lt;p&gt;Tool Lambda が Amazon DataZone の &lt;code&gt;RedeemAccessToken&lt;/code&gt; エンドポイントに HTTP POST を投げます。&lt;/p&gt; 
&lt;pre class="typescript"&gt;&lt;code lang="typescript" class="language-typescript"&gt;const redeemRes = await fetch(
  `https://datazone.${region}.api.aws/sso/redeem-token`,
  {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ domainId, accessToken: idcAccessToken }),
  },
);
const { credentials: domainExecRoleCreds } = await redeemRes.json();&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;strong&gt;&lt;code&gt;RedeemAccessToken&lt;/code&gt; は AWS SDK に含まれていません。&lt;/strong&gt; 公開ドキュメントでは Athena JDBC ドライバ経由の利用例（&lt;a href="https://docs.aws.amazon.com/datazone/latest/userguide/query-with-jdbc.html"&gt;Analyze subscribed data via JDBC&lt;/a&gt;）が示されていますが、サーバーサイドアプリからの直接呼び出しは生の HTTP リクエストで行う必要があります。このため、エンドポイント URL も通常の DataZone SDK が使う &lt;code&gt;datazone.{region}.amazonaws.com&lt;/code&gt; ではなく &lt;code&gt;datazone.{region}.api.aws&lt;/code&gt; を指定します。&lt;/p&gt; 
&lt;p&gt;この API には 2 つの特徴があります。SigV4 署名が不要であること（認証は IdC Access Token 自体が行う）、そして &lt;code&gt;jti&lt;/code&gt; 制約がないため並列の Tool 呼び出しで複数の Lambda が同じ IdC Access Token を使っても問題ないことです。&lt;/p&gt; 
&lt;p&gt;返ってくるのは DomainExecutionRole の一時認証情報（&lt;code&gt;accessKeyId&lt;/code&gt; / &lt;code&gt;secretAccessKey&lt;/code&gt; / &lt;code&gt;sessionToken&lt;/code&gt; / &lt;code&gt;expiration&lt;/code&gt;）です。DomainExecutionRole は SageMaker Unified Studio ドメインに紐付く IAM ロールで、この認証情報には &lt;strong&gt;IdC ユーザーのアイデンティティが紐付いています&lt;/strong&gt;。内部的には、&lt;code&gt;RedeemAccessToken&lt;/code&gt; が DomainExecutionRole を assume する際に、Step 2 で触れた TIP の仕組みにより STS セッションに IdC ユーザーの identity context が埋め込まれます。これが次のステップで効いてきます。&lt;/p&gt; 
&lt;h3 id="step-4-tool-lambda-が-domainexecutionrole-の認証情報でプロジェクトロールを取得する"&gt;Step 4: Tool Lambda が DomainExecutionRole の認証情報でプロジェクトロールを取得する&lt;/h3&gt; 
&lt;p&gt;Tool Lambda が Amazon DataZone SDK を &lt;strong&gt;DomainExecutionRole の認証情報で&lt;/strong&gt; 初期化し、&lt;code&gt;GetEnvironmentCredentials&lt;/code&gt; を呼びます。&lt;/p&gt; 
&lt;pre class="typescript"&gt;&lt;code lang="typescript" class="language-typescript"&gt;const envCreds = await new DataZoneClient({
  region,
  credentials: domainExecRoleCreds,
}).send(
  new GetEnvironmentCredentialsCommand({
    domainIdentifier: domainId,
    environmentIdentifier: environmentId,
  }),
);&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Amazon DataZone は呼び出し元の STS セッションから identity context を取り出し、IdC ユーザーを特定します。そのユーザーがプロジェクトのメンバーであれば、プロジェクトロールの一時認証情報を返します。メンバーでなければ拒否されます。&lt;/p&gt; 
&lt;p&gt;ここが本サンプルの核心です。DomainExecutionRole の認証情報で呼ぶからこそ、&lt;strong&gt;ユーザー本人のメンバーシップ&lt;/strong&gt; で認可が評価されます。もし Lambda 実行ロールで直接 &lt;code&gt;GetEnvironmentCredentials&lt;/code&gt; を呼んでいたら、Lambda 実行ロール自身のメンバーシップで判定されてしまい、ユーザーごとの権限差が消えます。&lt;/p&gt; 
&lt;h3 id="step-5-プロジェクトロールで-athena-s3-を呼び出す"&gt;Step 5: プロジェクトロールで Athena / S3 を呼び出す&lt;/h3&gt; 
&lt;p&gt;Tool Lambda が Athena や S3 のクライアントを &lt;strong&gt;プロジェクトロールの認証情報で&lt;/strong&gt; 初期化し、クエリやオブジェクト取得を実行します。&lt;/p&gt; 
&lt;pre class="typescript"&gt;&lt;code lang="typescript" class="language-typescript"&gt;const athena = new AthenaClient({
  region,
  credentials: {
    accessKeyId: envCreds.accessKeyId,
    secretAccessKey: envCreds.secretAccessKey,
    sessionToken: envCreds.sessionToken,
  },
});&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Athena がクエリを実行すると、Lake Formation がプロジェクトロールの権限に基づいて行・列レベルのフィルタリングを透過的に適用します。ユーザーの権限の範囲内にある行と列だけが結果として返り、範囲外の情報は応答に含まれません。&lt;/p&gt; 
&lt;h3 id="ステップのまとめ"&gt;ステップのまとめ&lt;/h3&gt; 
&lt;table style="border-collapse: collapse;width: 100%" border="1"&gt; 
 &lt;colgroup&gt; 
  &lt;col style="width: 20%"&gt; 
  &lt;col style="width: 20%"&gt; 
  &lt;col style="width: 20%"&gt; 
  &lt;col style="width: 20%"&gt; 
  &lt;col style="width: 20%"&gt; 
 &lt;/colgroup&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Step&lt;/th&gt; 
   &lt;th&gt;主体&lt;/th&gt; 
   &lt;th&gt;API&lt;/th&gt; 
   &lt;th&gt;入力&lt;/th&gt; 
   &lt;th&gt;出力&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;1&lt;/td&gt; 
   &lt;td&gt;ブラウザ → Runtime&lt;/td&gt; 
   &lt;td&gt;POST /invocations&lt;/td&gt; 
   &lt;td&gt;—&lt;/td&gt; 
   &lt;td&gt;Cognito Access Token + ID Token（Runtime に到達）&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;2&lt;/td&gt; 
   &lt;td&gt;chat-agent → IdC&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;CreateTokenWithIAM&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Cognito ID Token&lt;/td&gt; 
   &lt;td&gt;IdC Access Token&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;3&lt;/td&gt; 
   &lt;td&gt;Tool Lambda → DataZone&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;RedeemAccessToken&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;IdC Access Token&lt;/td&gt; 
   &lt;td&gt;DomainExecutionRole 認証情報&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;4&lt;/td&gt; 
   &lt;td&gt;Tool Lambda → DataZone&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;GetEnvironmentCredentials&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;DomainExecutionRole 認証情報&lt;/td&gt; 
   &lt;td&gt;プロジェクトロール認証情報&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;5&lt;/td&gt; 
   &lt;td&gt;Tool Lambda → Athena/S3&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;StartQueryExecution&lt;/code&gt; / &lt;code&gt;GetObject&lt;/code&gt; 等&lt;/td&gt; 
   &lt;td&gt;プロジェクトロール認証情報&lt;/td&gt; 
   &lt;td&gt;クエリ結果 / オブジェクト&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;Step 5 の S3 アクセスは Publisher と Subscriber で経路が分かれます。後述の「Publisher と Subscriber で異なる S3 アクセス方式」で詳述します。&lt;/p&gt; 
&lt;p&gt;この設計では、&lt;strong&gt;Lambda 実行ロールはデータアクセスに一切使いません&lt;/strong&gt;。権限判定はすべてユーザーに紐付いた認証情報で行われます。&lt;/p&gt; 
&lt;h2 id="policy-in-agentcore-によるツール単位認可"&gt;Policy in AgentCore によるツール単位認可&lt;/h2&gt; 
&lt;p&gt;認証情報変換フローはデータアクセスの認可を扱いますが、「どのユーザーがどのツールを呼べるか」という別軸の認可も必要です。AgentCore の認可モデルは、&lt;strong&gt;Inbound（ユーザー → AI エージェントへの入口）&lt;/strong&gt; と &lt;strong&gt;Outbound（AI エージェント → ツールへの出口）&lt;/strong&gt; の 2 軸で整理されます。Inbound は AgentCore Runtime の JWT Authorizer が Cognito Access Token を検証して「この呼び出し元はエージェントを呼んでよいか」を判定します。Outbound はツール単位の認可で、本サンプルでは AgentCore Gateway の &lt;a href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/policy.html"&gt;Policy in AgentCore&lt;/a&gt; で実現しています（下図）。&lt;/p&gt; 
&lt;p&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/04/23/cedar-inbound-outbound.png"&gt;&lt;/p&gt; 
&lt;h3 id="グループ情報の埋め込み"&gt;グループ情報の埋め込み&lt;/h3&gt; 
&lt;p&gt;壁 2 で述べた通り、IdC と Cognito を SAML フェデレーションで連携する構成では、IdC 側のグループ情報は Cognito トークンに自動的には含まれません。本サンプルでは、&lt;a href="https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html"&gt;Amazon Cognito の Pre token generation Lambda trigger&lt;/a&gt; の V2 イベントを使い、Cognito Access Token に &lt;code&gt;cedar_groups&lt;/code&gt; カスタムクレームを埋め込みます。値は &lt;code&gt;|data-producers|security-auditors|&lt;/code&gt; のようにパイプ区切りの文字列です。&lt;/p&gt; 
&lt;h3 id="cedar-ポリシーによる評価"&gt;Cedar ポリシーによる評価&lt;/h3&gt; 
&lt;p&gt;Policy in AgentCore では、Cedar 言語で記述されたポリシーを policy engine に登録し、それを AgentCore Gateway に関連付けます。Gateway にリクエストが到達すると、policy engine が Cognito Access Token の &lt;code&gt;cedar_groups&lt;/code&gt; クレームを読み取り、Cedar ポリシーで評価します。Gateway はリクエスト時点で JWT のクレームを &lt;code&gt;AgentCore::OAuthUser&lt;/code&gt; エンティティのタグとして Entity Store に格納するため、ポリシー上は &lt;code&gt;principal.getTag("cedar_groups")&lt;/code&gt; のようにタグとして参照します。「JWT では &lt;code&gt;cedar_groups&lt;/code&gt; クレーム、Cedar ポリシーでは &lt;code&gt;cedar_groups&lt;/code&gt; タグ」という名前の対応関係です。&lt;/p&gt; 
&lt;pre class="cedar"&gt;&lt;code lang="cedar" class="language-cedar"&gt;permit(
  principal is AgentCore::OAuthUser, action,
  resource == AgentCore::Gateway::"&amp;lt;gateway-arn&amp;gt;"
) when {
  principal.hasTag("cedar_groups") &amp;amp;&amp;amp;
  principal.getTag("cedar_groups") like "*|security-auditors|*" &amp;amp;&amp;amp;
  (action == AgentCore::Action::"cloudtrail-query___cloudtrail_query")
};&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;このポリシーは「&lt;code&gt;security-auditors&lt;/code&gt; グループに属するユーザーだけが &lt;code&gt;cloudtrail_query&lt;/code&gt; ツールを呼べる」ことを宣言しています。アクション名の &lt;code&gt;cloudtrail-query___cloudtrail_query&lt;/code&gt; は、AgentCore Gateway が MCP ツール定義から自動生成する命名で、&lt;strong&gt;ターゲット名（&lt;code&gt;cloudtrail-query&lt;/code&gt;）&lt;code&gt;___&lt;/code&gt; ツール名（&lt;code&gt;cloudtrail_query&lt;/code&gt;）&lt;/strong&gt; の形を取ります。&lt;/p&gt; 
&lt;p&gt;Cedar の policy engine は &lt;strong&gt;default-deny&lt;/strong&gt;（明示的に許可されない限り拒否）で動作します。上記の 1 本のポリシーだけでは &lt;code&gt;security-auditors&lt;/code&gt; 向けの 1 ツールしか許可されていないため、他のユーザー・他のツールはすべて拒否されます。同様のポリシーを複数定義することで、たとえばデータコンシューマーには &lt;code&gt;athena_query&lt;/code&gt; と &lt;code&gt;s3_read&lt;/code&gt; のみを許可し、データプロデューサーにはカタログ管理ツールも許可する、といった職務分離を実現できます。&lt;/p&gt; 
&lt;p&gt;Policy in AgentCore によるツール単位認可と、認証情報変換フローによるデータアクセス認可は独立した 2 つの軸です。Gateway で「このユーザーはこのツールを呼んでよいか」を判定し、Tool Lambda で「このユーザーはこのデータを見てよいか」を判定します。&lt;/p&gt; 
&lt;h2 id="publisher-と-subscriber-で異なる-s3-アクセス方式"&gt;Publisher と Subscriber で異なる S3 アクセス方式&lt;/h2&gt; 
&lt;p&gt;非構造化データ（S3 上のファイル）へのアクセスは、プロジェクトの役割によって経路が異なります。Amazon S3 Access Grants は、S3 の prefix / bucket / object 単位で IAM プリンシパルやディレクトリユーザーに READ/WRITE/READWRITE 権限を付与する仕組みで、&lt;code&gt;GetDataAccess&lt;/code&gt; API で当該対象への一時認証情報を取得してから S3 API を呼ぶ形で利用します。SageMaker Catalog の Publish/Subscribe は、この Grant を &lt;strong&gt;Subscriber のプロジェクトロールに対してのみ自動作成する&lt;/strong&gt; 設計です。Publisher 側のプロジェクトロールには明示的な Grant が作られず、Publisher は別のパス（IAM ポリシーによる直接アクセス）でバケットを読みます。これが Publisher/Subscriber で経路が分かれる理由です。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Publisher（プロジェクトがバケットを所有する場合）:&lt;/strong&gt; プロジェクトロールの認証情報で直接 &lt;code&gt;S3:GetObject&lt;/code&gt; を呼びます。アクセス権は、プロジェクトロールに付与された IAM インラインポリシー（プロジェクト配下のプレフィックスに限定）によって許可されます。Publisher プロジェクトロール自身への明示的な S3 Access Grants の Grant は存在しないため、&lt;code&gt;GetDataAccess&lt;/code&gt; は失敗します。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Subscriber（別プロジェクト経由で購読する場合）:&lt;/strong&gt; SageMaker Unified Studio の Publish/Subscribe が Subscriber ロールに対して IAM タイプの Grant を自動作成します。Tool Lambda はまず &lt;code&gt;S3Control:GetDataAccess&lt;/code&gt; で一時認証情報を取得し、その認証情報で &lt;code&gt;S3:GetObject&lt;/code&gt; を呼びます。&lt;/p&gt; 
&lt;p&gt;判断ロジックは、コネクションの &lt;code&gt;accessRole&lt;/code&gt; の有無とプロジェクトの所有関係で決まります。プロジェクトレベルのコネクションで &lt;code&gt;accessRole&lt;/code&gt; があれば S3 Access Grants 経由、なければ直接アクセスです。&lt;/p&gt; 
&lt;h2 id="まとめと次のアクション"&gt;まとめと次のアクション&lt;/h2&gt; 
&lt;p&gt;本記事では、AI エージェント経由のデータアクセスに SageMaker Catalog のアクセス制御を透過的に効かせる実装パターンを解説しました。&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;設定時と実行時の役割分担&lt;/strong&gt; を整理し、SageMaker Catalog / DataZone が設定を担い、Lake Formation / S3 Access Grants が実行時に認可を評価する構造を明確にする&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;認証情報変換フロー&lt;/strong&gt;（&lt;code&gt;CreateTokenWithIAM&lt;/code&gt; → &lt;code&gt;RedeemAccessToken&lt;/code&gt; → &lt;code&gt;GetEnvironmentCredentials&lt;/code&gt;）で、ユーザーに紐付いたプロジェクトロールの認証情報を Tool Lambda に届ける&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Policy in AgentCore&lt;/strong&gt; で、ツール単位の認可をデータアクセス認可とは独立した軸で制御する&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Lambda 実行ロールはデータアクセスに一切使わず、権限判定はすべてユーザーに紐付いた認証情報で行われます。これにより、SageMaker Catalog で設定された行・列・オブジェクトレベルのアクセス権は、AI エージェント経由でも透過的に適用されます。&lt;/p&gt; 
&lt;p&gt;&lt;a href="https://aws.amazon.com/jp/blogs/news/ai-agent-ready-data-platform-overview-and-demo/"&gt;第 1 回&lt;/a&gt;で紹介した拡張性（ゼロショット時系列予測のオンデマンド実行）も、本記事で解説した認可の仕組みに支えられています。アクセス制御されたデータを、追加の認証設計なしで &lt;a href="https://aws.amazon.com/sagemaker-ai/"&gt;Amazon SageMaker AI&lt;/a&gt; の推論エンドポイントに流し込めるのは、プロジェクトロールの認証情報が Tool Lambda の手元まで届いているからです。サンプルリポジトリの &lt;a href="https://github.com/aws-samples/sample-sagemaker-agentic-analyst/tree/main/apps/gateway-tools/time-series-forecast"&gt;&lt;code&gt;apps/gateway-tools/time-series-forecast/&lt;/code&gt;&lt;/a&gt; と &lt;a href="https://github.com/aws-samples/sample-sagemaker-agentic-analyst/blob/main/design/data-access-control.md"&gt;&lt;code&gt;design/data-access-control.md&lt;/code&gt;&lt;/a&gt; で実装の詳細を確認できます。&lt;/p&gt; 
&lt;p&gt;&lt;/p&gt; 
&lt;hr&gt; 
&lt;div style="border: 1px solid #d0d7de;border-radius: 6px;padding: 20px;margin: 1.5em 0;overflow: hidden"&gt; 
 &lt;p&gt;&lt;img loading="lazy" class="alignleft size-full" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/04/23/A7R01876-1x1-640.jpg" alt="高野 賢司" width="170" height="170" style="max-width:170px;height:auto;margin-right:15px"&gt;&lt;/p&gt; 
 &lt;h3&gt;高野 賢司&lt;/h3&gt; 
 &lt;p&gt;AWS のシニアソリューションアーキテクトとして、東海以西の製造業のお客様を中心に支援しています。Infrastructure as Code や AI 駆動開発を中心とした開発者ツールのエキスパートでもあり、 Kiro によって広がったソフトウェア開発の世界を楽しんでいます。&lt;/p&gt; 
&lt;/div&gt; 
&lt;div style="clear:both"&gt;&lt;/div&gt;</content:encoded>
					
		
		
			</item>
		<item>
		<title>AWS における AI エージェント対応のデータ基盤 (1) — ツールを配る時代から、データを返す時代へ</title>
		<link>https://aws.amazon.com/jp/blogs/news/ai-agent-ready-data-platform-overview-and-demo/</link>
		
		<dc:creator><![CDATA[Kenji Kono]]></dc:creator>
		<pubDate>Thu, 21 May 2026 23:55:17 +0000</pubDate>
				<category><![CDATA[Amazon Bedrock AgentCore]]></category>
		<category><![CDATA[Amazon SageMaker Data & AI Governance]]></category>
		<category><![CDATA[Amazon SageMaker Unified Studio]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Generative AI]]></category>
		<category><![CDATA[Amazon SageMaker]]></category>
		<category><![CDATA[Artificial Intelligence (AI)]]></category>
		<guid isPermaLink="false">f2034c7159d2176e29f48f66858d6bbff3509f44</guid>

					<description>AI エージェントに本番データを分析させるには、単にモデルと API をつなぐだけでは足りません。認可、ビジネ […]</description>
										<content:encoded>&lt;p&gt;AI エージェントに本番データを分析させるには、単にモデルと API をつなぐだけでは足りません。認可、ビジネスデータカタログ、ドメイン知識の 3 要素が揃うことで、エージェントは組織のアクセス制御とデータ構造を尊重した形で動作できます。&lt;/p&gt; 
&lt;p&gt;本記事は、シリーズ「AWS における AI エージェント対応のデータ基盤」の第 1 回です。&lt;a href="https://aws.amazon.com/sagemaker/"&gt;Amazon SageMaker&lt;/a&gt; を使用したデータ分析エージェントの参照実装としてサンプルリポジトリ &lt;a href="https://github.com/aws-samples/sample-sagemaker-agentic-analyst"&gt;aws-samples/sample-sagemaker-agentic-analyst&lt;/a&gt; を公開しました。本記事ではこのサンプルを題材に、3 要素がどう組み立てられているかを俯瞰し、2 つのデモシナリオで実際の挙動を見ていきます。また、AI エージェント対応のデータ基盤でできることの例として、従来は個別のモデルトレーニングが必要だった時系列予測を、任意のデータかつゼロショットで実行する例も紹介します。認可の実装詳細は&lt;a href="https://aws.amazon.com/jp/blogs/news/ai-agent-ready-data-platform-authorization-deep-dive/"&gt;第 2 回&lt;/a&gt;で扱います。&lt;/p&gt; 
&lt;div style="border: 1px solid #d0d7de;border-radius: 6px;overflow: hidden;max-width: 640px;margin: 1.5em 0;font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif"&gt; 
 &lt;a href="https://github.com/aws-samples/sample-sagemaker-agentic-analyst" target="_blank" rel="noopener" style="text-decoration: none;color: inherit"&gt;&lt;p&gt;&lt;/p&gt; 
  &lt;div style="padding: 16px 20px"&gt; 
   &lt;div style="font-size: 14px;color: #656d76;margin-bottom: 8px"&gt;
    aws-samples
   &lt;/div&gt; 
   &lt;div style="font-size: 16px;font-weight: 600;color: #0969da;margin-bottom: 6px"&gt;
    sample-sagemaker-agentic-analyst
   &lt;/div&gt; 
   &lt;div style="font-size: 14px;color: #656d76;line-height: 1.5"&gt;
    A demo application that demonstrates how fine-grained access controls configured in SageMaker Unified Studio are transparently enforced on data access through AI agents.
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; &lt;/a&gt;
 &lt;p&gt;&lt;a href="https://github.com/aws-samples/sample-sagemaker-agentic-analyst" target="_blank" rel="noopener" style="text-decoration: none;color: inherit"&gt; &lt;/a&gt; &lt;/p&gt;
&lt;/div&gt; 
&lt;h2 id="ツールを配る時代からデータを返す時代へ"&gt;ツールを配る時代から、データを返す時代へ&lt;/h2&gt; 
&lt;p&gt;組織のデータを業務で活用したい場合、利用者はこれまで BI ツール、ダッシュボード、SQL エディタといったツールを使って、自分でデータにたどり着く必要がありました。「先月の関西エリアの売上の前年同月比を見たい」と思ったら、ダッシュボードを開き、フィルタを設定し、数値を読み取ります。慣れていない利用者は、ツールの使い方を覚えるところから始めなければなりません。&lt;/p&gt; 
&lt;p&gt;AI エージェントがあれば、要求の形が変わります。利用者はチャット UI に「先月の関西エリアの売上の前年同月比を見せて」と依頼すれば、エージェントが利用者の権限を代行してデータを取得し、集計し、結果を返します。利用者はツールの操作を学ぶ必要はありません。必要なのは、何を知りたいかを言葉で伝えることだけです。&lt;/p&gt; 
&lt;p&gt;この変化を成立させる要素は 3 つあります。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;第 1 に、認可がデータ層で効いていること。&lt;/strong&gt; エージェントは利用者本人の権限でデータを取得する必要があります。例えば「&lt;a href="https://aws.amazon.com/lambda/"&gt;AWS Lambda&lt;/a&gt; の実行ロールに全てのデータへのアクセス権を与え、利用者が見てよい範囲は LLM に判断させる」という仕組みは成立しません。システムプロンプトはユーザーからの指示によって上書きされる可能性があるからです。このため、アクセス制御は LLM の外側、データ層で効かせる必要があります。行・列・オブジェクトレベルのアクセス制御は、データ層で宣言的に設定され、利用者を特定した認証情報でクエリが実行されなければなりません。&lt;/p&gt; 
&lt;p&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/04/23/auth-concept.png"&gt;&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;第 2 に、データがカタログ化され、エージェントから発見可能であること。&lt;/strong&gt; エージェントは組織のどこにどんなデータがあるか知らなければ、正しいクエリを実行できません。エージェントのコンテキストウィンドウをあふれさせる前に、的確にデータを発見するための仕組みが必要です。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;第 3 に、ドメイン知識がエージェントに届くこと。&lt;/strong&gt; 同じ「アクティブユーザー」という語でも、組織ごとに定義が違います。「週次レポートでは前週比と前年同週比を併記する」といった分析パターンも組織ごとに異なります。こうした文脈をエージェントに渡す方法がないと、一般的には正しいが組織の文脈と合わない回答や、あるいはもっともらしく見える誤ったデータを返す可能性があります。&lt;/p&gt; 
&lt;p&gt;本記事で紹介するサンプルは、これら 3 要素を &lt;a href="https://aws.amazon.com/sagemaker/catalog/"&gt;Amazon SageMaker Catalog&lt;/a&gt;、&lt;a href="https://aws.amazon.com/bedrock/agentcore/"&gt;Amazon Bedrock AgentCore&lt;/a&gt;、&lt;a href="https://aws.amazon.com/lake-formation/"&gt;AWS Lake Formation&lt;/a&gt;、&lt;a href="https://aws.amazon.com/s3/features/access-grants/"&gt;Amazon S3 Access Grants&lt;/a&gt; の組み合わせで実装しています。&lt;/p&gt; 
&lt;p&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/21/architecture.png"&gt;&lt;/p&gt; 
&lt;h2&gt;AI エージェント対応のデータ基盤の 3 要素&lt;/h2&gt; 
&lt;p&gt;3 要素がサンプルでどのように実装されているかを表にまとめます。&lt;/p&gt; 
&lt;table style="border-collapse: collapse;width: 100%" border="1"&gt; 
 &lt;colgroup&gt; 
  &lt;col style="width: 12%"&gt; 
  &lt;col style="width: 23%"&gt; 
  &lt;col style="width: 65%"&gt; 
 &lt;/colgroup&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;要素&lt;/th&gt; 
   &lt;th&gt;役割&lt;/th&gt; 
   &lt;th&gt;本サンプルでの実装&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;認可&lt;/td&gt; 
   &lt;td&gt;触ってよいデータ・使ってよいツールを制御する&lt;/td&gt; 
   &lt;td&gt;SageMaker Catalog（AWS Lake Formation + Amazon S3 Access Grants）で設定された行・列・オブジェクトレベルのアクセス権が、エージェント経由のデータアクセス時にも透過的に評価される。ツール単位の認可は、エージェントからツールへのリクエストを仲介する &lt;a href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway.html"&gt;Amazon Bedrock AgentCore Gateway&lt;/a&gt; 上で、&lt;a href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/policy.html"&gt;Policy in Amazon Bedrock AgentCore&lt;/a&gt; により管理する&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;ビジネスデータカタログ&lt;/td&gt; 
   &lt;td&gt;どこにどんなデータがあるかを発見させ、正しいデータに導く&lt;/td&gt; 
   &lt;td&gt;SageMaker Catalog をエージェントから検索・参照できるツール（&lt;code&gt;catalog_search&lt;/code&gt; / &lt;code&gt;catalog_detail&lt;/code&gt;）として提供する。Publish/Subscribe モデルと整合する&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;ドメイン知識&lt;/td&gt; 
   &lt;td&gt;組織固有の語彙・パターン・嗜好を注入する&lt;/td&gt; 
   &lt;td&gt;SageMaker Catalog のアセット説明・ビジネス用語集を通じて、組織のデータ資産そのものがエージェントのドメイン知識源になる。&lt;a href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/memory.html"&gt;Amazon Bedrock AgentCore Memory&lt;/a&gt; がチャット履歴を担当する&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h3 id="認可-宣言的な設定を透過的に適用する"&gt;認可: 宣言的な設定を透過的に適用する&lt;/h3&gt; 
&lt;p&gt;Amazon SageMaker Catalog は、データと AI の発見・ガバナンス・コラボレーションを担うサービスで、&lt;a href="https://aws.amazon.com/datazone/"&gt;Amazon DataZone&lt;/a&gt; の上に構築されています。データプロデューサーがテーブルやファイルを Publish し、データコンシューマーが Subscribe することで、プロジェクト単位の権限が宣言的に設定されます。&lt;/p&gt; 
&lt;p&gt;このデータ層の認可では、&lt;strong&gt;権限を設定する場所と、権限が適用される場所が分離されている&lt;/strong&gt;のが特徴です。設定は SageMaker Catalog 上で Publish/Subscribe モデルに沿って行い、実際のアクセス制御はクエリ実行時に別のサービスで適用されます。行・列レベルのフィルタリングは、データレイクに対するきめ細かなアクセス制御を担う AWS Lake Formation が適用します。S3 オブジェクトへのアクセスは、利用者・グループ単位で管理する Amazon S3 Access Grants が適用します。&lt;/p&gt; 
&lt;p&gt;AI エージェントがデータアクセスするときも、同じ認可設定がそのまま効きます。エージェントの内部にアクセス制御ロジックを書く必要はありません。利用者が SageMaker Catalog で付与されている権限が、エージェント経由のアクセスに対しても同じように評価されます。具体的な実装パターン（ブラウザのログインセッションから Tool Lambda の手元までプロジェクトロールの一時認証情報を運ぶ仕組み）は&lt;a href="https://aws.amazon.com/jp/blogs/news/ai-agent-ready-data-platform-authorization-deep-dive/"&gt;第 2 回&lt;/a&gt;で扱います。&lt;/p&gt; 
&lt;p&gt;ツール単位の認可は別軸で必要になります。たとえばセキュリティ監査ロールには CloudTrail 検索ツールだけを許し、データコンシューマーには Athena クエリと S3 読み取りだけを許す、といった職務分離です。本サンプルでは、Policy in Amazon Bedrock AgentCore により、AgentCore Gateway に接続されたツールの実行がグループベースのポリシーで制御されます。&lt;/p&gt; 
&lt;h3 id="ビジネスデータカタログ-エージェントから発見可能にする"&gt;ビジネスデータカタログ: エージェントから発見可能にする&lt;/h3&gt; 
&lt;p&gt;SageMaker Catalog は UI から人間が検索するだけのものではありません。本サンプルでは、エージェントがツール経由で検索・参照できるよう、以下の Tool を独自に実装して AgentCore Gateway 経由で提供しています。&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;catalog_search&lt;/code&gt;: 自然言語クエリやキーワードでアセットを検索する&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;catalog_detail&lt;/code&gt;: 特定アセットの詳細（スキーマ、説明、ビジネス用語集との関連）を取得する&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;エージェントは、利用者の問いに応じてまずカタログを検索し、適切なテーブルを特定してからクエリを組み立てます。検索は Subscribe 済みアセットに絞り込むか、カタログ全体を対象にするかを選べます。Subscribe 済みに絞ると回答は利用者の現在の権限で得られる範囲に限定されます。一方、全体検索では Subscribe していないアセットも「未購読」として識別できるため、必要であれば利用者に Subscribe 申請を促すこともできます（デモ 2 で扱います）。いずれの場合も、実際のデータアクセスは利用者本人の権限で実行されるため、Subscribe していないアセットのデータを勝手に読むことはできません。&lt;/p&gt; 
&lt;h3 id="ドメイン知識-データ資産に書き込む"&gt;ドメイン知識: データ資産に書き込む&lt;/h3&gt; 
&lt;p&gt;ドメイン知識には、組織内で共有されるものと、利用者個人に紐付くものがあります。本サンプルでは、それぞれを注入できるパスを以下のように整理しています。&lt;/p&gt; 
&lt;table style="border-collapse: collapse;width: 100%" border="1"&gt; 
 &lt;colgroup&gt; 
  &lt;col style="width: 50%"&gt; 
  &lt;col style="width: 50%"&gt; 
 &lt;/colgroup&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;種類&lt;/th&gt; 
   &lt;th&gt;注入できるパス&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;組織固有の語彙・定義（例: 「アクティブユーザー」の定義）&lt;/td&gt; 
   &lt;td&gt;SageMaker Catalog のアセット説明・ビジネス用語集。データプロデューサーが Publish 時に書き込むと、そのままエージェントが参照できる&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;分析パターン・クエリテンプレート（例: 月次売上では必ず前年同月比も出す）&lt;/td&gt; 
   &lt;td&gt;システムプロンプトへの注入、SageMaker Catalog のアセット説明への記述、Agent Core Memory のセマンティック検索&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;利用者個人の嗜好・履歴（例: 関西エリアの分析をよく頼む）&lt;/td&gt; 
   &lt;td&gt;AgentCore Memory の長期記憶&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;ポイントは、カタログのメタデータだけでは似たテーブルを区別できない場面が多いことです。たとえば &lt;code&gt;sales_daily&lt;/code&gt; と &lt;code&gt;sales_fact&lt;/code&gt; がどちらも売上を表していても、一方は速報値で一方は確定値かもしれません。この違いを自然言語でアセット説明に書き込めば、エージェントは正しいテーブルを選べます。ドメイン知識をデータ資産そのものに書き込む文化が、エージェントの回答品質を左右します。&lt;/p&gt; 
&lt;h3 id="補足-sql-生成とセマンティックレイヤー"&gt;補足: SQL 生成とセマンティックレイヤー&lt;/h3&gt; 
&lt;p&gt;AI エージェントにデータ分析を任せる際のアプローチは、大きく 2 つに整理できます。1 つは本サンプルのようにエージェントが SQL を直接生成する方法（Text-to-SQL）、もう 1 つは事前に定義したメトリクスと次元を持つセマンティックレイヤーを通じて問い合わせる方法です。前者は任意の問いに柔軟に応答でき、後者は正確性と決定性が必要な分析を安定して返せます。どちらが優れているというより、組織のデータ成熟度と用途で使い分けるのが現実的です。&lt;/p&gt; 
&lt;p&gt;本サンプルのアーキテクチャは、どちらのアプローチにも寄せられる構造を持ちます。Amazon Bedrock AgentCore Gateway は任意のツールを AWS Lambda 上で実装して接続できるため、&lt;code&gt;athena_query&lt;/code&gt; のような汎用的な SQL 実行ツールと、&lt;code&gt;sales_monthly_metric&lt;/code&gt; のように事前にパラメータ化されたツールを、同じエージェントに共存させられます。広いカバレッジを Text-to-SQL で取りつつ、よくあるユースケースや間違えてはいけない分析だけをセマンティックレイヤー相当のツールとして事前定義する、という運用も組めます。SageMaker Catalog のアセット説明・ビジネス用語集は、どちらのアプローチでもドメイン知識の伝達路として使えます。&lt;/p&gt; 
&lt;h2 id="デモ"&gt;デモ&lt;/h2&gt; 
&lt;p&gt;3 要素がどう協調して動くかを、2 つのシナリオで見ていきます。&lt;/p&gt; 
&lt;h3 id="デモ-1-構造化データと非構造化データを束ねて分析する"&gt;デモ 1: 構造化データと非構造化データを束ねて分析する&lt;/h3&gt; 
&lt;p&gt;営業分析担当者が「店舗別の売上傾向を知りたい」と問いかけるところから始まります。&lt;/p&gt; 
&lt;p&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/04/23/demo1-integ-1.gif"&gt;&lt;/p&gt; 
&lt;p&gt;エージェントはまず SageMaker Catalog を検索し、売上テーブルを見つけます。利用者本人の権限で &lt;a href="https://aws.amazon.com/athena/"&gt;Amazon Athena&lt;/a&gt; にクエリを投げ、店舗別の集計を取得します。&lt;a href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/code-interpreter-tool.html"&gt;Amazon Bedrock AgentCore Code Interpreter&lt;/a&gt; で集計結果を可視化し、グラフと短い解釈を返します。ここで効いている要素は次の通りです。&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;ビジネスデータカタログ&lt;/strong&gt;: 利用者はテーブル名を知らなくてよい。エージェントがカタログから探す&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;認可&lt;/strong&gt;: クエリは利用者本人の権限で実行される。Subscribe していないアセットはエージェントが検索で「未購読」と判別できる&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;ドメイン知識&lt;/strong&gt;: 「店舗別の売上傾向」という問いを、適切な集計粒度に落とし込む&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;続いて利用者が「既存の製品カタログを読んで、製品ごとのトレンドを分析して」と依頼します。ここでは、品番は売上テーブルにありますが、品名や製品説明はテーブルには含まれておらず、&lt;a href="https://aws.amazon.com/s3/"&gt;Amazon S3&lt;/a&gt; 上のテキストファイル（製品カタログ）にしかないという状況です。&lt;/p&gt; 
&lt;p&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/04/23/demo1-integ-2.gif"&gt;&lt;/p&gt; 
&lt;p&gt;エージェントは S3 からテキストファイルを取得し、そこに書かれた品名・説明と売上データを突き合わせて、製品カテゴリごとのトレンドを分析します。構造化データ（Athena / Lake Formation）と非構造化データ（S3 / S3 Access Grants）を同じ会話の中で束ねられるのは、どちらも利用者本人の権限で取得しているからです。&lt;/p&gt; 
&lt;h3 id="デモ-2-権限のないデータへのアクセスをエージェントが仲介する"&gt;デモ 2: 権限のないデータへのアクセスを、エージェントが仲介する&lt;/h3&gt; 
&lt;p&gt;もう 1 つのシナリオは、データへのアクセス権がまだない状況から始まります。利用者が「B2B 商談パイプラインの状況を教えて」と問いかけます。&lt;/p&gt; 
&lt;p&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/04/23/demo2-subscribe-request.jpg"&gt;&lt;/p&gt; 
&lt;p&gt;カタログには B2B 商談データがありますが、利用者のプロジェクトはまだ Subscribe していません。エージェントはデータにアクセスできないことを伝え、利用者の指示に従って SageMaker Catalog に Subscribe 申請を出します。申請自体をエージェントが Amazon DataZone の API 経由で実行します（上のスクリーンショット）。&lt;/p&gt; 
&lt;p&gt;次に、データ所有者の操作に移ります。データ所有者は &lt;a href="https://aws.amazon.com/sagemaker/unified-studio/"&gt;Amazon SageMaker Unified Studio&lt;/a&gt; にログインし、届いている Subscribe 申請を確認して承認します。&lt;/p&gt; 
&lt;p&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/04/23/demo2-approve.jpg"&gt;&lt;/p&gt; 
&lt;p&gt;利用者の画面に戻ります。同じチャットセッションで「承認されました」と伝えると、エージェントは再度データアクセスを試み、今度は成功します。B2B 商談パイプラインの分析と可視化が提示されます。&lt;/p&gt; 
&lt;p&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/04/23/demo2-result.jpg"&gt;&lt;/p&gt; 
&lt;p&gt;このシナリオの注目点は、利用者が SageMaker Catalog の UI を直接触らなくても、既存の Publish/Subscribe モデルに乗ってデータアクセス権の申請と取得ができることです。データガバナンスの仕組みはそのまま維持され、利用者体験だけがチャット UI に統合されます。&lt;/p&gt; 
&lt;h3 id="デモで起きていること"&gt;デモで起きていること&lt;/h3&gt; 
&lt;p&gt;どちらのデモでも、データ取得は利用者本人の権限で実行されています。AWS Lake Formation が行・列レベルのアクセス制御を、Amazon S3 Access Grants がオブジェクトレベルのアクセス制御を、クエリ実行時にプロジェクトロールの認証情報に対して評価します。利用者が Subscribe していないアセットには、エージェントもアクセスできません。デモ 2 で Subscribe 申請が承認されるまでデータが返らなかったのは、その評価がエージェント経由のアクセスにも同じように効いている証拠です。&lt;/p&gt; 
&lt;p&gt;どの利用者がどのロールで何を見たかは、すべて &lt;a href="https://aws.amazon.com/cloudtrail/"&gt;AWS CloudTrail&lt;/a&gt; に記録されます。Lambda の実行ロールは監査ログのデータアクセスに登場しません。プロジェクトロールの一時認証情報でクエリが実行されているからです。&lt;/p&gt; 
&lt;h2 id="サンプルの拡張例-ゼロショット時系列予測をオンデマンドで"&gt;サンプルの拡張例: ゼロショット時系列予測をオンデマンドで&lt;/h2&gt; 
&lt;p&gt;3 要素（認可、ビジネスデータカタログ、ドメイン知識）が揃ったデータ基盤の上には、分析以外の高度な機能もオンデマンドで組み込めます。ここでは一例として、本サンプルに含めているゼロショット時系列予測を紹介します。&lt;/p&gt; 
&lt;p&gt;従来、時系列予測モデルを使うには、データ準備、特徴量設計、モデル学習、評価、運用という長いサイクルが必要でした。系列ごとに個別のモデルをトレーニングするコストは、適用対象を限定する要因になっていました。近年登場したゼロショット予測モデル（本サンプルでは &lt;a href="https://www.amazon.science/blog/introducing-chronos-2-from-univariate-to-universal-forecasting"&gt;Chronos-2&lt;/a&gt;）は、新しい系列に対する追加学習なしに実用精度の予測を返します。このモデルを &lt;a href="https://aws.amazon.com/sagemaker-ai/"&gt;Amazon SageMaker AI&lt;/a&gt; の推論エンドポイントでホストし、エージェントのツール（&lt;code&gt;time_series_forecast&lt;/code&gt;）として公開することで、利用者は任意のテーブルに対して「来月の売上を予測して」と依頼するだけで予測結果とグラフを受け取れます。&lt;/p&gt; 
&lt;p&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/04/23/time-series-forecast.png"&gt;&lt;/p&gt; 
&lt;p&gt;このツール 1 つで、本サンプルの世界観は次のように広がります。&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;利用者が SageMaker Catalog で Subscribe した売上・在庫・トラフィック等のテーブルに対して、学習プロジェクトを立ち上げずに予測を実行できる&lt;/li&gt; 
 &lt;li&gt;エージェントがデータの取得から集計、予測、可視化までを一連の会話の中で扱う。Amazon Athena で取得したデータはそのまま Chronos-2 の推論エンドポイントに渡され、AgentCore Code Interpreter で fan chart として描画される&lt;/li&gt; 
 &lt;li&gt;アクセス制御はデータ取得の段階で効いているため、予測対象になるのは利用者が見てよい系列だけに自動的に限定される&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;個別のトレーニング基盤を用意せずに、アクセス制御されたデータの上で時系列予測を提供できる点が、この組み合わせの面白さです。実装の詳細（Chronos-2 の系列フォーマット、前処理の難しさ、AgentCore Code Interpreter 側の描画仕様）は、サンプルリポジトリの &lt;code&gt;apps/gateway-tools/time-series-forecast/&lt;/code&gt; と &lt;code&gt;apps/chat-agent/src/prompt.ts&lt;/code&gt; を参照してください。&lt;/p&gt; 
&lt;h2 id="考慮事項"&gt;考慮事項&lt;/h2&gt; 
&lt;h3 id="コスト"&gt;コスト&lt;/h3&gt; 
&lt;p&gt;本サンプルの固定費は月数ドル程度です。大半を占めるのは &lt;a href="https://aws.amazon.com/bedrock/"&gt;Amazon Bedrock&lt;/a&gt; のモデル推論の従量課金で、利用量に依存します。具体的な試算はサンプルリポジトリの &lt;code&gt;docs/&lt;/code&gt; 配下に掲載しています。AWS 無料利用枠の範囲で動く部分も多く、低コストで検証を始めることができます。&lt;/p&gt; 
&lt;h3 id="既存データレイクへの適用"&gt;既存データレイクへの適用&lt;/h3&gt; 
&lt;p&gt;既存の S3 / Redshift データレイクを、作り直さずに本サンプルと同じ構造に組み込めます。対象のテーブルやデータセットを SageMaker Catalog で管理するようにし、Publish/Subscribe を設定することで、エージェント経由のアクセスを追加できます。データのメタデータ整備や Publisher/Subscriber の役割分担、運用ポリシーの設計は、組織のデータガバナンス方針に沿って進めます。&lt;/p&gt; 
&lt;h2 id="デプロイ手順の概要"&gt;デプロイ手順の概要&lt;/h2&gt; 
&lt;p&gt;読者が自分で動かせるよう、手順の全体像を示します。詳細は &lt;a href="https://github.com/aws-samples/sample-sagemaker-agentic-analyst"&gt;リポジトリの README&lt;/a&gt; を参照してください。前提として、&lt;a href="https://aws.amazon.com/iam/identity-center/"&gt;AWS IAM Identity Center&lt;/a&gt;（以下 IdC）の組織インスタンスが必要で、SageMaker Unified Studio ドメインは AWS マネジメントコンソールから作成する必要があります。&lt;/p&gt; 
&lt;h2 id="まとめと次のアクション"&gt;まとめと次のアクション&lt;/h2&gt; 
&lt;p&gt;AI エージェントが組織の本番データで動くには、認可、ビジネスデータカタログ、ドメイン知識の 3 要素が揃う必要があります。本サンプルは、これらを Amazon SageMaker Catalog、Amazon Bedrock AgentCore、AWS Lake Formation、Amazon S3 Access Grants の組み合わせで実現しています。既存のデータレイクを作り直すことなく、SageMaker Catalog で管理する形に組み込んで AI エージェントに接続できます。&lt;/p&gt; 
&lt;p&gt;ツールを配る時代から、データを返す時代へ。次のアクションとして、以下を検討してください。&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;試す&lt;/strong&gt;: &lt;a href="https://github.com/aws-samples/sample-sagemaker-agentic-analyst"&gt;GitHub リポジトリ&lt;/a&gt; を参照してデプロイし、3 つの IdC ユーザーで権限ごとに異なる回答が返ることを確認する&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;自社に当てはめる&lt;/strong&gt;: 既存の S3 / Redshift データレイクを SageMaker Catalog で管理する形に組み込めるかを検討する。具体的には、対象テーブルの洗い出しと、Publisher/Subscriber の役割分担の設計から着手する&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;仕組みの理解を深める&lt;/strong&gt;: &lt;a href="https://aws.amazon.com/jp/blogs/news/ai-agent-ready-data-platform-authorization-deep-dive/"&gt;第 2 回「SageMaker Catalog で行・列レベルのアクセス権を透過的に適用する」&lt;/a&gt;で、認可の実装パターンを追う&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;/p&gt; 
&lt;hr&gt; 
&lt;div style="border: 1px solid #d0d7de;border-radius: 6px;padding: 20px;margin: 1.5em 0;overflow: hidden"&gt; 
 &lt;p&gt;&lt;img loading="lazy" class="alignleft size-full" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/04/23/A7R01876-1x1-640.jpg" alt="高野 賢司" width="170" height="170" style="max-width:170px;height:auto;margin-right:15px"&gt;&lt;/p&gt; 
 &lt;h3&gt;高野 賢司&lt;/h3&gt; 
 &lt;p&gt;AWS のシニアソリューションアーキテクトとして、東海以西の製造業のお客様を中心に支援しています。Infrastructure as Code や AI 駆動開発を中心とした開発者ツールのエキスパートでもあり、 Kiro によって広がったソフトウェア開発の世界を楽しんでいます。&lt;/p&gt; 
&lt;/div&gt; 
&lt;div style="clear:both"&gt;&lt;/div&gt;</content:encoded>
					
		
		
			</item>
		<item>
		<title>Sim-to-Real と Real-to-Sim: 高性能な Physical AI を支える原動力</title>
		<link>https://aws.amazon.com/jp/blogs/news/sim-to-real-and-real-to-sim-the-engine-behind-capable-physical-ai/</link>
		
		<dc:creator><![CDATA[Hiroki Mori]]></dc:creator>
		<pubDate>Thu, 21 May 2026 06:16:10 +0000</pubDate>
				<category><![CDATA[Amazon Bedrock]]></category>
		<category><![CDATA[Amazon Machine Learning]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Technical How-to]]></category>
		<category><![CDATA[digital twin]]></category>
		<category><![CDATA[Simulation]]></category>
		<guid isPermaLink="false">21a0d7e158231f4e86f4e0b628d5b2fd8f1722d0</guid>

					<description>はじめに、物理 AI システム（現実世界で知覚・推論・行動するロボット）は急速に進化しています。この進歩の中心にあるのが Sim-to-Real パイプラインです。しかし、実験室の外でも安定して動作するモデルを構築することは、この分野で最も難しい課題の一つであり続けています。シミュレーションで機能するものと […]</description>
										<content:encoded>&lt;p&gt;本記事は 2026 年 5 月 13 日 に公開された「&lt;a href="https://aws.amazon.com/blogs/physical-ai/sim-to-real-and-real-to-sim-the-engine-behind-capable-physical-ai/"&gt;Sim-to-Real and Real-to-Sim: The Engine Behind Capable Physical AI&lt;/a&gt;」を翻訳したものです。&lt;/p&gt; 
&lt;h3&gt;はじめに&lt;/h3&gt; 
&lt;p&gt;現実世界で知覚・推論・行動するロボット、いわゆる Physical AI システムの進化が加速しています。その中心にあるのが Sim-to-Real パイプラインです。しかし、実験室の外でも安定して動作するモデルの構築は、この分野で最も難しい課題の一つです。シミュレーションで機能するものと実際のハードウェアで機能するものの間にあるギャップこそ、多くのプロジェクトが行き詰まる原因です。&lt;/p&gt; 
&lt;p&gt;本記事では、Sim-to-Real (Sim2Real) と Real-to-Sim (Real2Sim) が、物理環境で動作する AI モデル構築において最も重要な技術となった理由を解説します。シミュレーションと現実のギャップがなぜ埋まりにくいのか、現代的なアプローチでどう克服するのか、そしてロボティクスをけん引する Vision Language Action モデル (VLA) がこのパイプラインの品質に全面的に依存している理由についても説明します。&lt;/p&gt; 
&lt;h3&gt;実世界のデータだけではスケールしない理由&lt;/h3&gt; 
&lt;p&gt;ロボットに操作タスクを学習させるには、照明・物体の位置・表面テクスチャ・グリッパーの向きといった条件を横断して汎化するために、通常数万件のデモンストレーションが必要です。それを実機で実施するのは時間もコストもかかり、リスクも伴います。&lt;/p&gt; 
&lt;p&gt;この制約はあらゆる分野に共通します。倉庫の自動化では通常、数千種類の SKU バリエーションへの対応が必要です。自動運転車は通常、数百万件の走行シナリオを必要とします。手術ロボットは、実際の患者で倫理的にリハーサルできない処置を扱います。必要な規模での物理的なデータ収集は、現実的に不可能です。&lt;/p&gt; 
&lt;p&gt;シミュレーションはこの課題に直接対処します。物理的に正確な仮想環境では、通常、はるかに低コストで安全な環境から桁違いの速さでトレーニングデータを生成できます。ただし、純粋にシミュレーションで学習したモデルは、常に変化し予測不可能な物理環境での動作という性質上、実世界に展開すると失敗しがちです。この失敗パターンには名前があります。シミュレーションと現実のギャップ、すなわち「リアリティギャップ」です。&lt;/p&gt; 
&lt;h3&gt;シミュレーションと現実のギャップ&lt;/h3&gt; 
&lt;p&gt;シミュレーションと現実のギャップとは、シミュレーションで学習したモデルを実機に展開したときの性能差のことです。シミュレーションはあくまで近似であるため、このギャップは避けられません。実際のカメラはノイズ・歪み・露出変動をもたらしますが、合成レンダリングはデフォルトではそれを再現しません。実際の表面には、どの物理エンジンも完全にはモデル化できない摩擦係数があります。実際のアクチュエータにはバックラッシュ・遅延・熱ドリフトがあります。クリーンな合成データで学習したモデルはシミュレーションの完全性を利用することを覚えてしまい、その挙動は現実には転用できません。&lt;/p&gt; 
&lt;p&gt;ギャップを埋めるには、二つの補完的なアプローチが必要です。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;シミュレーション精度の向上 &lt;/strong&gt;&lt;a href="https://developer.nvidia.com/isaac/sim"&gt;NVIDIA Isaac Sim&lt;/a&gt; のような現代の物理シミュレーターは、剛体ダイナミクス・変形可能物体・流体挙動・接触力を、数年前には実現できなかったレベルの精度でモデル化します。パストレーシングと物理ベースマテリアルを用いたフォトリアリスティックなレンダリングにより、実際のカメラ映像との区別がますます難しい視覚入力が生成されます。&lt;/p&gt; 
&lt;div id="attachment_2617" class="wp-caption aligncenter" style="width: 874px"&gt; 
 &lt;p&gt;&lt;img loading="lazy" class="size-full wp-image-2617" src="https://d2908q01vomqb2.cloudfront.net/a17554a0d2b15a664c0e73900184544f19e70227/2026/05/13/Picture1-6.png" alt="Figure 1: NVIDIA Isaac Sim running on an Amazon EC2 G6e.4xlarge instance" width="864" height="530" aria-describedby="caption-attachment-2617"&gt;&lt;/p&gt; 
 &lt;p id="caption-attachment-2617" class="wp-caption-text"&gt;Figure 1: Amazon EC2 G6e.4xlarge インスタンス上で動作する NVIDIA Isaac Sim&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;&lt;strong&gt;ドメインランダム化　&lt;/strong&gt;単に一つのシミュレーションを完全に正確にするのではなく、多数のランダム化されたバリエーションにわたって学習します。照明・テクスチャ・物体の質量・関節摩擦・センサーノイズを変化させることで、幅広い条件の分布に対してロバストなポリシーを学習します。重要なのは、純粋なデータ量ではなく、シミュレーションパラメータの十分な多様性とカバレッジです。これにより、ニューラルネットワークは多様な環境において、対象物のキーとなる要素を識別することを学習します。&lt;/p&gt; 
&lt;div id="attachment_2622" class="wp-caption aligncenter" style="width: 737px"&gt; 
 &lt;p&gt;&lt;img loading="lazy" class="wp-image-2622" src="https://d2908q01vomqb2.cloudfront.net/a17554a0d2b15a664c0e73900184544f19e70227/2026/05/13/Picture2-5.png" alt="Figure 2: A robot solving a Rubik's Cube, as demonstrated by OpenAI. (Source: OpenAI, https://openai.com/index/solving-rubiks-cube/)" width="727" height="465" aria-describedby="caption-attachment-2622"&gt;&lt;/p&gt; 
 &lt;p id="caption-attachment-2622" class="wp-caption-text"&gt;Figure 2: OpenAI が実証した、ルービックキューブを解くロボット。(出典: OpenAI, https://openai.com/index/solving-rubiks-cube/)&lt;/p&gt; 
&lt;/div&gt; 
&lt;h3&gt;Real-to-Sim: 物理世界をトレーニングインフラに変える&lt;/h3&gt; 
&lt;p&gt;Real-to-Sim とは、現実の環境をキャプチャしてシミュレーション対応のデジタル表現に変換するプロセスです。Sim2Real が学習済みポリシーを実機に転用することを目的とするなら、Real2Sim はそのシミュレーションがハードウェアの実際の動作環境を反映することを保証するためのものです。&lt;/p&gt; 
&lt;p&gt;使用される技術は複数の分野にまたがります。LiDAR スキャンとフォトグラメトリーは、3D メッシュに処理できる点群を生成します。&lt;a href="https://arxiv.org/abs/2003.08934"&gt;Neural Radiance Fields (NeRF)&lt;/a&gt; と &lt;a href="https://aws.amazon.com/jp/blogs/news/3d-gaussian-splatting-performant-3d-scene-reconstruction-at-scale/"&gt;3D Gaussian Splatting&lt;/a&gt; は、通常のカメラ映像からシーンのジオメトリと外観を再構築し、物理シミュレーション環境に直接取り込めるアセットを生成します。これはリアリティギャップ、すなわち仮想アセットと物理アセットのモデル化における性能差の解消に役立ちます。これらのアセットは、多様な照明条件やカメラアングルにわたって現実の見た目や質感を保持する技術を用いて仮想世界に取り込まれます。&lt;/p&gt; 
&lt;p&gt;Physical AI のトレーニングパイプラインにおいて、Real2Sim は&lt;strong&gt;遠隔操作によるデータ収集&lt;/strong&gt;で特に重要な役割を果たします。人間のオペレーターがデモンストレーションインターフェースを通じて物理的なロボットアームを操作すると、システムはその動きをシミュレーション上のデジタルツインに同時にミラーリングします。これにより現実世界で記録された人間品質のデモンストレーションデータセットと、同じタスクの追加的な合成バリエーションを生成できる同期済みシミュレーショントレースという二つのデータを同時に得られます。。&lt;/p&gt; 
&lt;div id="attachment_2626" class="wp-caption aligncenter" style="width: 188px"&gt; 
 &lt;p&gt;&lt;img loading="lazy" class="wp-image-2626" src="https://d2908q01vomqb2.cloudfront.net/a17554a0d2b15a664c0e73900184544f19e70227/2026/05/13/animated_sim_to_real.gif" alt="Figure 3: Teleoperations using the SO-101" width="178" height="316" aria-describedby="caption-attachment-2626"&gt;&lt;/p&gt; 
 &lt;p id="caption-attachment-2626" class="wp-caption-text"&gt;Figure 3: SO-101 を使ったテレオペレーション&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;このアプローチが実用的な加速手段となるのは、&lt;a href="https://arxiv.org/abs/1709.10089"&gt;模倣学習&lt;/a&gt;の中心的なボトルネックに対処しているからです。模倣学習とは、報酬ベースの試行錯誤ではなく人間のデモンストレーションを観察することでロボットが学習する枠組みです。高品質な人間のデモンストレーションは模倣学習が依存するトレーニングシグナルであり、Real2Sim インフラを活用することで、物理ハードウェアのコストを比例的に増やすことなくそのシグナルをスケールできます。&lt;/p&gt; 
&lt;h3&gt;合成データの生成とフィルタリング&lt;/h3&gt; 
&lt;p&gt;実世界およびテレオペレーションで収集したデータは分布に沿った教師信号を提供します。つまり、トレーニングサンプルがロボットの展開時に実際に直面する条件 (照明・物体の種類・カメラアングル) を反映しています。シミュレーションはスケールを提供します。現代の Physical AI トレーニングパイプラインはこの二つを組み合わせます。&lt;/p&gt; 
&lt;p&gt;合成データ生成とは、シミュレーション環境内でラベル付きトレーニングサンプルをプログラム的に大規模生成することです。操作タスクでは、異なる物体姿勢・照明条件・グリッパー構成にわたって把持シナリオの数千バリエーションをレンダリングし、それぞれに深度・セグメンテーションマスク・アクションラベルのグラウンドトゥルースを自動アノテーションします。&lt;/p&gt; 
&lt;p&gt;データ量だけでは不十分です。フィルタリングパイプラインは、自動品質メトリクスと学習済み識別器を使って、分布外または物理的に不自然なサンプルをトレーニングセットに入る前に除去します。適切に構築されたパイプラインの出力は、実際のデモンストレーションによる物理的な根拠、合成生成の規模、および自動フィルタリングによる品質管理を備えたトレーニングデータセットとなります。&lt;/p&gt; 
&lt;h3&gt;VLM・VLA と、シミュレーション品質がモデル性能を決める理由&lt;/h3&gt; 
&lt;p&gt;Physical AI チームがロボット制御の基盤レイヤーとして注目しているモデルが、Vision Language Model (VLM) と Vision Language Action モデル (VLA) です。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;VLM&lt;/strong&gt; は、大規模な画像とテキストのコーパスで学習したマルチモーダル基盤モデルです。幅広い視覚的理解で、画像内の内容を推論し、空間的な関係を説明し、物体を識別し、視覚的なコンテンツを参照する言語指示に従う能力を獲得します。&lt;a href="https://aws.amazon.com/bedrock/"&gt;Amazon Bedrock&lt;/a&gt; 上の &lt;a href="https://aws.amazon.com/nova/"&gt;Amazon Nova&lt;/a&gt;、Anthropic Claude、Qwen、Mistral などがこのクラスの例です。Amazon Bedrock は、基盤インフラを管理することなくこれらのモデルにアクセスするためのマネージド API レイヤーを提供します。これは、独自のインフラの複雑さを持つ Physical AI パイプラインに視覚的推論を統合する際に重要です。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;VLA&lt;/strong&gt; は、VLMのパラダイムを物理的な動作へと拡張したものです。VLAは、テキストを出力するのではなく、視覚的な観察と言語による指示に応じて、ロボットの動作、関節の位置、速度指令、エンドエフェクタの軌道などを生成します。VLAのトレーニング目標は、視覚的理解と物理的な因果関係の両方に基づいた方針を学習することです。つまり、「自分が見ているものと、自分がするように求められていることを踏まえて、どのような行動をとるべきか？」を学習します。&lt;/p&gt; 
&lt;p&gt;シミュレーションデータの品質は、VLAが明示的に学習されていないタスクに対してどれだけうまく汎化できるかを直接左右します。学習に使用した視覚ドメイン（合成レンダリング）が展開ドメイン（現実世界）と一致しない場合、学習されたポリシーは破綻し、ぎこちない動作制御、タスクの失敗、ポリシー評価の精度低下といったパフォーマンス上の問題が即座に発生します。ドメインランダム化は、高品質のベースデータセットを取り込み、それを拡張して、新しいオブジェクト、異なる照明条件や色を持つ環境などを含むさらに高品質のデータセットを生成することで、ポリシーの堅牢性を高めます。高忠実度物理演算により、動作出力が物理的に意味のあるものとなることが保証されます。&lt;/p&gt; 
&lt;p&gt;合成データパイプラインは、実際のデモンストレーションだけではカバーできないタスク分布、まれな障害モード、エッジケース構成、そしてまだ物理的に存在しない環境に対してVLAを学習させることを可能にします。&lt;/p&gt; 
&lt;h3&gt;産業への応用&lt;/h3&gt; 
&lt;p&gt;このパイプラインが最も即効性のある価値をもたらす業界には、ある共通の特徴があります。それは、物理的な環境がリスクが高く、変化に富み、直接学ぶには費用がかかったり危険を伴ったりするという点です。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;製造業&lt;/strong&gt;では、倉庫自動化システムが SKU のバリエーション・梱包の損傷・フロアレイアウトの変化に対応する汎化能力を必要とします。Real2Sim キャプチャがシミュレーショントレーニングに供給され、Sim2Real 転用により実世界のバリエーションに耐えるポリシーが生成されます。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;自動車業界&lt;/strong&gt;では、自動運転システムは通常、実世界では安全に再現できない数百万件のエッジケースシナリオにわたるトレーニングを必要とします。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;医療分野&lt;/strong&gt;では、手術や患者ケアへの応用が厳格な安全規制上の制約を受けます。高精度なシミュレーションにより、患者への接触なしにモデルのトレーニングと検証を進められます。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;エネルギー・公益事業&lt;/strong&gt;では、点検用の自律ロボットが変電所・パイプライン・風力発電所など、人間が立ち入ることに実際の身体的リスクを伴う環境で稼働します。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;小売業界&lt;/strong&gt;では、自律型フルフィルメントシステムは、絶えず変化するレイアウトの中で膨大な種類のSKU（在庫管理単位）に対応しなければなりません。数千種類もの製品バリエーションにわたるトレーニングデータを生成するシミュレーションこそが、生産規模での汎用化を実現する唯一の現実的な方法です。&lt;/p&gt; 
&lt;h3&gt;今後の展望&lt;/h3&gt; 
&lt;p&gt;本記事では、Physical AIモデルを現実世界で動作させるためのコアエンジンであるSim2Real/Real2Simパイプラインの目的と内容について解説しました。本シリーズの次回記事では、LeRobot SO-101 AWS Sim2Real2Sim リファレンスプロジェクトのハンズオン技術解説を通じて、これらの概念を具体化します。AWS インフラストラクチャ・NVIDIA Isaac Sim・公開されている LeRobot プラットフォームを使ってエンドツーエンドで実装する、完全にデプロイ可能なアーキテクチャを紹介します。&lt;/p&gt; 
&lt;p&gt;まずは基盤モデルへのアクセスに &lt;a href="https://aws.amazon.com/bedrock/"&gt;Amazon Bedrock&lt;/a&gt; を、シミュレーションワークロードに最適化された &lt;a href="https://aws.amazon.com/ec2/instance-types/g6e/"&gt;Amazon EC2 G6e インスタンス&lt;/a&gt;をご確認ください。&lt;/p&gt; 
&lt;div style="text-align: center;padding: 20px"&gt;&lt;/div&gt; 
&lt;!-- '"` --&gt;
&lt;p&gt;&lt;/p&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt;
   &lt;img src="https://d2908q01vomqb2.cloudfront.net/a17554a0d2b15a664c0e73900184544f19e70227/2024/09/03/DarioAWS-1.png" alt="Dario Macagnano" width="125"&gt;
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Dario Macagnano&lt;/h3&gt; 
  &lt;p&gt;Dario Macagnano は、AWSの物理AIソリューションアーキテクトです。リアルタイムシミュレーション、デジタルツイン、エッジ推論など、迅速なプロトタイプ開発から大規模な本番システムまで、幅広いソリューションの設計と導入に長年携わってきた経験を持ち、AI、ロボット工学、クラウドインフラストラクチャの融合によって、インテリジェントシステムを物理世界にもたらすことに情熱を注いでいます。&lt;/p&gt; 
 &lt;/div&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt;
   &lt;img src="https://d2908q01vomqb2.cloudfront.net/a17554a0d2b15a664c0e73900184544f19e70227/2026/04/17/Picture6-1.jpg" alt="Ignacio Sánchez" width="125"&gt;
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Ignacio Sánchez&lt;/h3&gt; 
  &lt;p&gt;Ignacio Sanchez は、スペインのマドリードを拠点とするAWSの物理AI担当ワールドワイド・スペシャリスト・ソリューション・アーキテクトです。世界中の顧客やパートナーと協力し、AWS上で空間コンピューティング、ロボティクス、エッジ推論ワークロードなど、デジタル世界と物理世界を結びつけるAIソリューションの設計と導入に取り組み、新興技術とその実世界への応用に情熱を注いでいます。余暇には、読書、ビデオゲーム、スポーツを楽しんでいます。&lt;/p&gt; 
 &lt;/div&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt;
   &lt;img src="https://d2908q01vomqb2.cloudfront.net/a17554a0d2b15a664c0e73900184544f19e70227/2026/05/13/quinn.jpg" alt="Quinn Cheong" width="125"&gt;
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Quinn Cheong&lt;/h3&gt; 
  &lt;p&gt;Quinn Cheong は、AWSの物理AI担当グローバルスペシャリストソリューションアーキテクトとして、グローバルな物理AIアーキテクチャ戦略の策定に貢献しています。最先端のソフトウェア開発に精通しており、Kubernetes上でのワールド生成や3Dモデル推論から、ARグラス向けWebXR拡張ワーカーの開発まで、数々のソリューションを先駆的に開発。また、AWSの講演者として、30以上のグローバルイベントやサミットで講演を行った実績があります。&lt;/p&gt; 
 &lt;/div&gt; 
&lt;/footer&gt; 
&lt;p style="text-align: left"&gt;翻訳は Visual Compute SSA 森が担当しました。原文はこちらをご覧ください。&lt;/p&gt;</content:encoded>
					
		
		
			</item>
		<item>
		<title>形式的検証済み AES-XTS: s2n-bignum に加わった初の AES アルゴリズム</title>
		<link>https://aws.amazon.com/jp/blogs/news/formally-verified-aes-xts-the-first-aes-algorithm-to-join-s2n-bignum/</link>
		
		<dc:creator><![CDATA[中島 章博]]></dc:creator>
		<pubDate>Thu, 21 May 2026 04:28:49 +0000</pubDate>
				<category><![CDATA[Graviton]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[Thought Leadership]]></category>
		<category><![CDATA[automated reasoning]]></category>
		<category><![CDATA[cryptography]]></category>
		<category><![CDATA[Security Blog]]></category>
		<guid isPermaLink="false">2e2020e08e4570491a313f40835b09f9c78d8286</guid>

					<description>AWS は AES-XTS 復号の最適化された Arm64 アセンブリ実装の形式的検証に成功し、s2n-bignum ライブラリに初の AES アルゴリズムとして追加しました。本記事では、コア演算のアセンブリコードを単純化することで SLOTHY による自動最適化を可能にし、HOL Light 対話型定理証明器を用いて IEEE 1619 仕様への適合を数学的に証明したプロセスを紹介します。暗号文スティーリングや定数時間設計、メモリ安全性の検証についても解説します。</description>
										<content:encoded>&lt;p&gt;本ブログは 2026 年 3 月 20 日に公開された Amazon Science Blog “&lt;a href="https://www.amazon.science/blog/formally-verified-aes-xts-the-first-aes-algorithm-to-join-s2n-bignum" rel="noopener" target="_blank"&gt;Formally verified AES-XTS: The first AES algorithm to join s2n-bignum&lt;/a&gt;” を翻訳したものです。&lt;/p&gt; 
&lt;p class="article-subtitle"&gt;コア演算のアセンブリコードを単純化して明確化することで、自動最適化と検証が可能になりました。&lt;/p&gt; 
&lt;p&gt;暗号化アルゴリズムは、読み取り可能なデータをランダムなビットの並びのように見える暗号文に変換する数学的手続きです。暗号文は、対応する復号アルゴリズムと正しい鍵を使用したときにのみ復号できます。&lt;/p&gt; 
&lt;p&gt;保管中のデータ (ディスクやデータベースに保存される情報) に対しては、&lt;a class="Link" href="https://en.wikipedia.org/wiki/Disk_encryption_theory#XEX-based_tweaked-codebook_mode_with_ciphertext_stealing_(XTS)" target="_blank" data-cms-ai="0" rel="noopener"&gt;AES-XTS&lt;/a&gt; のようなアルゴリズムが、ストレージに書き込まれる前に各ブロックを暗号化することで、物理的な盗難やストレージシステムへの不正アクセスから保護します。転送中のデータ (ネットワーク上を移動する情報) に対しては、TLS のようなプロトコルが複数のアルゴリズムを組み合わせて使用します。非対称暗号化アルゴリズム (RSA や楕円曲線) で安全な接続を確立し、高速な対称暗号化アルゴリズム (AES-GCM など) で実際のデータストリームを保護するとともに改ざんされていないことを検証します。Amazon Web Services (AWS) では、&lt;a class="Link" href="https://docs.aws.amazon.com/ja_jp/kms/latest/cryptographic-details/ebs-volume-encryption.html" target="_blank" data-cms-ai="0" rel="noopener"&gt;EBS&lt;/a&gt;、&lt;a class="Link" href="https://docs.aws.amazon.com/pdfs/whitepapers/latest/security-design-of-aws-nitro-system/security-design-of-aws-nitro-system.pdf" target="_blank" data-cms-ai="0" rel="noopener"&gt;Nitro Card&lt;/a&gt;、DynamoDB などのサービスでお客様のデータを保護するために AES-XTS を使用しており、AES-GCM を用いた TLS によりサービス間およびお客様との通信を含むすべてのネットワーク通信を保護しています。&lt;/p&gt; 
&lt;p&gt;AWS は、AES-XTS 復号の最適化された Arm64 アセンブリ実装の形式的検証に挑戦しました。「形式的検証」とは、エンジニアリングされたシステムが特定の&lt;i&gt;仕様&lt;/i&gt;を満たすことを数学的に証明するプロセスです。&lt;/p&gt; 
&lt;p&gt;本研究は、ブロック指向ストレージデバイスの暗号保護に関する &lt;a class="Link" href="https://standards.ieee.org/ieee/1619/11552/" target="_blank" data-cms-ai="0" rel="noopener"&gt;IEEE 標準 1619&lt;/a&gt; に従い、AES-XTS の AES-256-XTS バリアントに焦点を当てています。「256」は暗号化鍵のサイズを表します。&lt;/p&gt; 
&lt;p&gt;固定サイズのブロックを処理するアルゴリズムとは異なり、AES-XTS は 16 バイトから 16 メガバイトまでの可変長データを扱い、不完全なブロックには特別なロジックを使用します。検証されたアセンブリコードは 5 倍アンロール版で、ループが 5 つのレジスタ (それぞれが入力ブロックを格納) で並列実行されるように展開され、最新の CPU パイプライン向けに最適化されていました。エラーがあるとお客様データのセキュリティを損なう可能性がある重要なコードでありながら、手動レビューでは正当性を保証できないほど複雑でした。&lt;/p&gt; 
&lt;p&gt;Amazon Web Services の形式的に検証された大数演算ライブラリである &lt;a class="Link" href="https://github.com/awslabs/s2n-bignum" target="_blank" data-cms-ai="0" rel="noopener"&gt;s2n-bignum&lt;/a&gt; の一部として、AWS は改善された Arm64 アセンブリ実装による AES-XTS 暗号化と復号を提供するとともに、チームメンバー (John Harrison) が開発した &lt;a class="Link" href="https://github.com/jrh13/hol-light" target="_blank" data-cms-ai="0" rel="noopener"&gt;HOL Light&lt;/a&gt; 対話型定理証明器を用いた仕様記述および形式的検証を行いました。&lt;/p&gt; 
&lt;p&gt;これは、入力長に応じて複数の経路を持つ大規模関数を対象とした証明駆動開発の実験でした。その結果、s2n-bignum ライブラリにおいてこれまでで最大規模の証明が完成しました。典型的な入力サイズである 512 バイトでは、アルゴリズムのパフォーマンスは元のコードと同等か、高度に最適化された Arm コアではわずかに向上しました。このアルゴリズムとその証明を s2n-bignum ライブラリに追加することで、より多くの AES ベースのアルゴリズムを追加する道が開かれます。&lt;/p&gt; 
&lt;h2&gt;アルゴリズムの説明&lt;/h2&gt; 
&lt;p&gt;AES は鍵付き置換を実装するブロック暗号です。つまり、平文ファイルをブロック (この場合は 128 ビットのブロック) に分けて処理し、任意の鍵に対して、各平文ブロックを一意の暗号文ブロックに対応付ける全単射 (一対一かつ可逆) 関数を定義します。この数学的性質により、復号によって元の平文を一意に復元できることが保証されます。&lt;/p&gt; 
&lt;p&gt;AES-XTS は、ストレージ暗号化のために特別に設計されたモードです。基盤となる構成要素として AES を使用しますが、ディスク暗号化の独自要件に対応するため、位置依存の tweak (調整値) と暗号文スティーリング (ciphertext stealing) (部分ブロックを処理する方法) を追加しています。ディスク暗号化では、任意のセクタへのランダムアクセスが必要であり、データサイズを正確に保つ必要があります。&lt;/p&gt; 
&lt;p&gt;AES-XTS は、2 つの鍵を使用するアプローチでストレージデータを暗号化します。各 128 ビットブロックとその位置依存の tweak は排他的論理和 (XOR、入力値が異なる場合のみ 1 を出力する二項演算) され、その結果が AES で暗号化され、再び tweak と XOR されます。これにより、ディスク上の異なる位置にある同一のデータが異なる暗号文を生成します。tweak は、セクタ番号を 2 番目の鍵で暗号化し、&lt;a class="Link" href="https://en.wikipedia.org/wiki/Finite_field" target="_blank" data-cms-ai="0" rel="noopener"&gt;ガロア体&lt;/a&gt;で α のべき乗を掛けることで生成され、各ブロック位置に対して一意の値が作成されます。&lt;/p&gt; 
&lt;p&gt;最後のブロックが完全な 128 ビットでない場合、暗号文スティーリングが機能します。暗号文スティーリングは前のブロックからバイトを「借用」することで、パディングや無駄な領域なしに任意の長さのデータを暗号化できるようにします。これにより、各ブロックの暗号化を位置に基づいて行いながら、任意のセクタを独立して読み書きできます。これはディスク暗号化において重要な機能です。なぜなら、ディスク暗号化のセキュリティモデルでは、攻撃者が対象以外のセクタにアクセスし、それらを変更し、復号を要求することが許容されているためです。また、暗号文のサイズが平文と完全に同じになることも保証され、所定の場所に収まります。&lt;/p&gt; 
&lt;figure class="Figure"&gt; 
 &lt;div class="Figure-media"&gt; 
  &lt;p&gt; &lt;img loading="lazy" class="Image" data-image-size="figureLarge" alt="the-basic-xex-block-encryption-structure-with-the-xor-encrypt-xor-flow-v3.jpg" width="1200" height="675" data-lazy-load="true" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/18/the-basic-xex-block-encryption-structure-with-the-xor-encrypt-xor-flow-v3.jpg"&gt;&lt;/p&gt;
 &lt;/div&gt; 
 &lt;div style="font-size: 0.90em" class="Figure-content"&gt;
  &lt;figcaption class="Figure-caption"&gt;
   XOR-暗号化-XOR (XEX) 構造を採用した AES-XTS 暗号化
  &lt;/figcaption&gt;
 &lt;/div&gt; 
&lt;/figure&gt; 
&lt;hr&gt; 
&lt;figure class="Figure"&gt; 
 &lt;div class="Figure-media"&gt; 
  &lt;p&gt; &lt;img loading="lazy" class="Image" data-image-size="figureLarge" alt="ciphertext-stealing-encryption.png" width="1200" height="675" data-lazy-load="true" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/18/ciphertext-stealing-encryption.png"&gt;&lt;/p&gt;
 &lt;/div&gt; 
 &lt;div style="font-size: 0.90em" class="Figure-content"&gt;
  &lt;figcaption class="Figure-caption"&gt;
   暗号文スティーリングは、最後から 2 番目のブロックの出力を分割することで、暗号化中の部分ブロックを処理
  &lt;/figcaption&gt;
 &lt;/div&gt; 
&lt;/figure&gt; 
&lt;hr&gt; 
&lt;figure class="Figure"&gt; 
 &lt;div class="Figure-media"&gt; 
  &lt;p&gt; &lt;img loading="lazy" class="Image" data-image-size="figureLarge" alt="the-symmetric-decryption-process-edit-v3.jpg" width="1200" height="675" data-lazy-load="true" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/18/the-symmetric-decryption-process-edit-v3.jpg"&gt;&lt;/p&gt;
 &lt;/div&gt; 
 &lt;div style="font-size: 0.90em" class="Figure-content"&gt;
  &lt;figcaption class="Figure-caption"&gt;
   対称復号プロセス
  &lt;/figcaption&gt;
 &lt;/div&gt; 
&lt;/figure&gt; 
&lt;hr&gt; 
&lt;figure class="Figure"&gt; 
 &lt;div class="Figure-media"&gt; 
  &lt;p&gt; &lt;img loading="lazy" class="Image" data-image-size="figureLarge" alt="reverse-ciphertext-stealing-for-decryption.png" width="1200" height="675" data-lazy-load="true" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/18/reverse-ciphertext-stealing-for-decryption.png"&gt;&lt;/p&gt;
 &lt;/div&gt; 
 &lt;div style="font-size: 0.90em" class="Figure-content"&gt;
  &lt;figcaption class="Figure-caption"&gt;
   復号のための逆暗号文スティーリング
  &lt;/figcaption&gt;
 &lt;/div&gt; 
&lt;/figure&gt; 
&lt;p&gt;&lt;/p&gt; 
&lt;h2&gt;アセンブリ実装の制御フロー&lt;/h2&gt; 
&lt;p&gt;AWS は、Amazon の &lt;a class="Link" href="https://aws.amazon.com/jp/security/opensource/cryptography/" target="_blank" data-cms-ai="0" rel="noopener"&gt;AWS-LC&lt;/a&gt; 暗号ライブラリにある既存の &lt;a class="Link" href="https://github.com/nebeid/aws-lc/blob/013240baa4550afad210b6b5735854f3365545e4/generated-src/linux-aarch64/crypto/fipsmodule/aesv8-armx.S#L817" target="_blank" data-cms-ai="0" rel="noopener"&gt;AES-XTS&lt;/a&gt; 実装から開始しました。AES-XTS は平文を 128 ビットブロックでループ処理し、各ブロックの暗号化には 15 のステップが必要で、各ステップには暗号化鍵から導出された独自の「ラウンドキー」が使用されます。既存の実装は 5 倍アンロールされており、5 ブロックずつ並列で処理します。最後のブロックの長さが 128 ビット未満の場合、入力バッファの限界を超えて読み取る「バッファオーバーリード」のリスクがあります。&lt;/p&gt; 
&lt;p&gt;オーバーリードを回避するため、既存の実装では入力バッファ内の現在位置へのポインタに対して複雑な操作を行います。これには、追跡が困難な高度な制御フローが必要です。ループカウンタはループの前と途中で複数回インクリメントおよびデクリメントされ、ループには最終的なループバック分岐以外に 2 つの追加の出口点があります。&lt;/p&gt; 
&lt;p&gt;1 つの出口点は、ループの最終イテレーションで 4 ブロックが残っている場合のためのもので、もう 1 つの出口点は 1 ～ 3 ブロックが残っている場合のためのものです。ループのフローは、パイプラインの使用率を最大化するためにロード/ストア命令と AES および XOR 命令をインターリーブしています。ループ終了後、残りのブロックの処理は 4 から 1 までの長さに対して絡み合っており、最後に部分ブロックがある場合、アルゴリズムは暗号文スティーリング手順を実行します。さらに、15 個のラウンドキーのうち 7 つだけがレジスタに保持され、他の 8 つはループ内外でメモリから繰り返しロードされていました。&lt;/p&gt; 
&lt;p&gt;AWS はまず、Arm コード用のスーパーオプティマイザである &lt;a class="Link" href="https://github.com/slothy-optimizer/slothy" target="_blank" data-cms-ai="0" rel="noopener"&gt;SLOTHY&lt;/a&gt; に命令を再配置させてパイプラインの使用率を最大化することで、メインループのパフォーマンスを向上できるかを調査しました。SLOTHY には、さまざまな Arm マイクロアーキテクチャの簡略化されたモデルが含まれています。制約ソルバーを使用して、最適な命令スケジュール、レジスタリネーミング、および周期的なループインターリーブを提供します。&lt;/p&gt; 
&lt;p&gt;しかし、SLOTHY がループを識別して最適化するためには、ループは典型的なループの動作を示し、各イテレーションの最後にカウンタを減少させ、最初に戻る必要があります。SLOTHY はまた、8 つのラウンドキーをロードすることで作成されるネストされたループを処理できません。&lt;/p&gt; 
&lt;p&gt;これがループを「整理」し始める動機となりました。まず、すべてのラウンドキーを永続的に保持するためにレジスタを解放しました。これは、最適化された命令の順序が元のコードよりも少ない一時レジスタしか必要としなかったため可能でした。次に、複数の出口点と、残りのブロックを処理するためのループカウンタの操作を取り除きました。カウンタの値は常にバッファに残っている 5 ブロックチャンクの数を示し、SLOTHY の要件に適合します。ループは残りのブロックの処理の前に終了します。&lt;/p&gt; 
&lt;p&gt;ループが終了したら、1 から 4 までの残りブロック数のそれぞれを処理するための個別の処理ブランチを用意します。4 つのブランチはすべて暗号文スティーリングで終了します。これは、暗号化アルゴリズムと復号アルゴリズムの制御フローグラフ&lt;i&gt; (下記参照)&lt;/i&gt; で確認できます。コード全体を通して、定数時間の設計思想を維持しました。つまり、分岐や特別な処理は秘密データではなく、入力バイト長などの公開値のみに基づいています。&lt;/p&gt; 
&lt;figure class="Figure"&gt; 
 &lt;div class="Figure-media"&gt; 
  &lt;p&gt; &lt;img loading="lazy" class="Image" data-image-size="figureLarge" alt="aes-256-xts-encryption-control-flow-graph-v2.jpg" width="1200" height="1500" data-lazy-load="true" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/18/aes-256-xts-encryption-control-flow-graph-v2.jpg"&gt;&lt;/p&gt;
 &lt;/div&gt; 
 &lt;div style="font-size: 0.90em" class="Figure-content"&gt;
  &lt;figcaption class="Figure-caption"&gt;
   AES-256-XTS 暗号化制御フローグラフ
  &lt;/figcaption&gt;
 &lt;/div&gt; 
&lt;/figure&gt; 
&lt;hr&gt; 
&lt;figure class="Figure"&gt; 
 &lt;div class="Figure-media"&gt; 
  &lt;p&gt; &lt;img loading="lazy" class="Image" data-image-size="figureLarge" alt="aes-256-xts-decryption-control-flow-graph-v2.jpg" width="1200" height="1500" data-lazy-load="true" src="https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2026/05/18/aes-256-xts-decryption-control-flow-graph-v2.jpg"&gt;&lt;/p&gt;
 &lt;/div&gt; 
 &lt;div style="font-size: 0.90em" class="Figure-content"&gt;
  &lt;figcaption class="Figure-caption"&gt;
   AES-256-XTS 復号制御フローグラフ
  &lt;/figcaption&gt;
 &lt;/div&gt; 
&lt;/figure&gt; 
&lt;p&gt;&lt;/p&gt; 
&lt;h2&gt;パフォーマンス&lt;/h2&gt; 
&lt;p&gt;コードへの修正により、AWS は SLOTHY を使用して暗号化アルゴリズムを最適化できるようになりました。これにより AWS Graviton ファミリーの Arm プロセッサでわずかなパフォーマンス向上が得られましたが、最適化されたアウトオブオーダーパイプラインを持つより高度なチップでは、向上幅は小さくなりました。元の実装と比較して、アルゴリズムの実行を通じてラウンドキーをレジスタに保持しメモリからのロードを節約することで、AES 命令を他の命令とインターリーブしないことの影響を相殺できました。&lt;/p&gt; 
&lt;p&gt;ループ内の命令フローをよりクリーンにし、出口処理をモジュール化したことで、ループイテレーションのさまざまなアンロール係数を試すことができました。AWS は 3 倍、4 倍、6 倍の係数を実験し、さまざまなマイクロアーキテクチャにおいて 5 倍が依然として最良の選択であると結論付けました。&lt;/p&gt; 
&lt;h2&gt;形式的検証による正当性の確保&lt;/h2&gt; 
&lt;p&gt;最適化された暗号化コードを本番環境にデプロイするには、それが正しく動作することの数学的な確実性が必要です。ランダムテストでは単純なケースを素早くチェックできますが、AWS は AES-XTS 実装に対して最高レベルの保証を提供するために形式的検証を活用しています。&lt;/p&gt; 
&lt;h3&gt;なぜ AES-XTS に HOL Light なのか?&lt;/h3&gt; 
&lt;p&gt;&lt;/p&gt; 
&lt;p&gt;AWS の実装が IEEE 1619 仕様に一致することを証明するために、同僚の John Harrison が開発した対話型定理証明器である HOL Light を使用しています。HOL Light は、コードが書かれる際に検証される「構築による正当性」アプローチをソフトウェア開発に対して特に単純に実装したものです。HOL Light の信頼されたカーネルはわずか数百行のコードで、基本的な論理推論規則を実装しています。これは、証明戦術や自動化にバグがあったとしても、HOL Light が誤った証明を受け入れる原因にはなり得ないことを意味します。最悪の場合、バグによって証明を完了できなくなりますが、偽の命題を証明可能にすることはできません。&lt;/p&gt; 
&lt;p&gt;AWS が AES-XTS 検証に HOL Light を選んだ理由はいくつかあります。&lt;/p&gt; 
&lt;ul class="rte2-style-ul"&gt; 
 &lt;li&gt;&lt;b&gt;アセンブリレベルの検証&lt;/b&gt;: AWS はコンパイル済みコードに依存するのではなく、実装を直接アセンブリで記述しています。より困難ではありますが、これにより証明はあらゆるコンパイラから独立したものになります。HOL Light は CPU 命令仕様を使用してマシンコードバイトについて直接推論し、ソフトウェアスタックの最下層で保証を提供します。&lt;/li&gt; 
 &lt;li&gt;&lt;b&gt;既存の暗号インフラストラクチャ&lt;/b&gt;: s2n-bignum は、実行アーティファクトを取り除き純粋に数学的な問題を残すシンボリックシミュレーション、ワード演算用の特殊化された戦術、バイトリスト処理など、暗号検証のための広範なサポートをすでに提供しています。AWS は AES 演算に関する証明された補題を追加し、他の AES モードの証明にも再利用できるようにしました。&lt;/li&gt; 
 &lt;li&gt;&lt;b&gt;複雑な制御フローの処理&lt;/b&gt;: 十分な説明なしに複雑な証明で失敗する可能性のある完全自動証明器とは異なり、HOL Light の対話型アプローチにより、5 倍アンロールされたループに必要な複雑なループ不変条件を経由して証明を導くことができ、任意の長さのデータブロックを処理し、可変長入力と部分ブロックに必要な複雑なメモリ推論を実行できます。&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;s2n-bignum フレームワーク&lt;/h3&gt; 
&lt;p&gt;&lt;/p&gt; 
&lt;p&gt;s2n-bignum を AES-XTS の実装に使用することは、2 つの目的を果たします。これは x86-64 および Arm アーキテクチャでアセンブリコードを形式的に検証するためのフレームワークであり、暗号化のための高速で検証されたアセンブリ関数のコレクションでもあります。このライブラリには、特に大数の数学的演算 (これが名前の由来) に関する多数の暗号化アルゴリズムの検証済み実装がすでに含まれており、これらは公開鍵暗号プリミティブの基盤となっています。s2n-bignum の一部として公開鍵アルゴリズムを証明するために HOL Light がどのように使用されたかの詳細については、Amazon Science の以前のブログ記事「&lt;a class="Link" href="https://aws.amazon.com/jp/blogs/news/formal-verification-makes-rsa-faster-and-faster-to-deploy/" data-cms-ai="0" rel="noopener" target="_blank"&gt;Graviton での RSA の高速化: 形式的検証で正当性を証明し開発も加速&lt;/a&gt;」および「&lt;a class="Link" href="https://aws.amazon.com/jp/blogs/news/better-performing-25519-elliptic-curve-cryptography/" data-cms-ai="0" rel="noopener" target="_blank"&gt;自動推論で「25519」楕円曲線暗号の高速化と正当性保証を実現&lt;/a&gt;」を参照してください。&lt;/p&gt; 
&lt;p&gt;前述のとおり、AES-XTS は AES ブロック暗号のモードの 1 つです。AES は、換字操作 (S ボックスを使用した SubBytes)、転置操作 (ShiftRows、MixColumns)、および鍵混合を組み合わせた換字・転置ネットワーク (SPN) 構造に基づいています。s2n-bignum を Arm64 および x86_64 プロセッサにある AES 命令セットアーキテクチャ (ISA)、AES ブロック暗号の仕様、および AES-XTS 用の追加仕様を含むように拡張することで、より多くの AES ベースのアルゴリズムを同じ厳密な検証で扱う道を開いています。&lt;/p&gt; 
&lt;h3&gt;仕様の開発とテスト&lt;/h3&gt; 
&lt;p&gt;&lt;/p&gt; 
&lt;p&gt;AES およびそれに基づくモードの SPN の性質は、定理証明器が本来理解できる単純な数式 (公開鍵暗号の基本である剰余乗算など) では表現できません。データを処理するステップの記述を書く必要があります。これがアセンブリを検証する前に、HOL Light の仕様が IEEE 標準を正確に捉えているという確信が必要だった理由です。&lt;/p&gt; 
&lt;p&gt;AWS は、入出力にバイトリストを使用し、内部ブロック演算には 128 ビットワードを使用して、標準の構造を反映するように仕様を記述しました。次に、&lt;i&gt;変換&lt;/i&gt;を開発しました。これは、評価が数学的に正しいという証明を生成しながら、具体的な入力で仕様を評価するために使用される HOL Light 関数です。&lt;/p&gt; 
&lt;p&gt;AWS は、さまざまな AES-XTS 暗号化/復号シナリオをカバーし、すべてのブロックの処理 (再帰を使用) と暗号文スティーリングを実行する単体テストを実施することで、仕様を検証しました。&lt;/p&gt; 
&lt;p&gt;これらのテストにより、より複雑なアセンブリ検証に取り組む前に、仕様が IEEE 標準と一致することが確認されました。この 2 段階のアプローチ (まずテストにより仕様が正しいことを保証し、次に実装が仕様と一致することを形式的に検証する) により、AWS は正しいことを証明しているという確信を得られました。&lt;/p&gt; 
&lt;h3&gt;証明戦略&lt;/h3&gt; 
&lt;p&gt;&lt;/p&gt; 
&lt;p&gt;AWS の証明はコンポジショナル (合成的) であり、全体の問題を個別に証明できる部分問題に分解します。部分問題に応じて、部分証明は有界 (入力範囲に対してのみ真) または無界となります。&lt;/p&gt; 
&lt;p&gt;5 ブロック (復号の場合は 6 ブロック) 未満の入力に対しては、各ケースを網羅的に検証する有界証明を作成しました。5 ブロック (復号の場合は 6 ブロック) 以上の入力に対しては、ループ実行中に真であり続ける数学的命題であるループ不変条件を開発し、任意の長さの入力に対する正当性を証明しました。ループ不変条件は、ループ終了条件が満たされるまでに 3 つの重要な要素を追跡します。各イテレーションでのレジスタ状態、「tweak」(各ブロックの暗号化を一意にするもの) の進化、そしてブロックが処理されるにつれてのメモリ内容です。部分ブロック (末尾) 処理については、すべてのケースで再利用できる暗号文スティーリングの個別の定理を証明しました。&lt;/p&gt; 
&lt;p&gt;トップレベルの正当性定理はすべての証明を組み合わせ、次の命題を主張します。&lt;/p&gt; 
&lt;pre&gt;もしプログラム、入力、出力、スタックが特定の互いに素な性質を満たし、
入力長 &lt;i&gt;len&lt;/i&gt; が 16 &amp;lt;= &lt;i&gt;len&lt;/i&gt; &amp;lt;= 2&lt;sup&gt;24&lt;/sup&gt; を満たすならば、
初期マシン状態が適切なシンボリック値で設定されている場合、
プログラム全体が実行された後、出力バッファに格納された値は AES-XTS 仕様を満たさなければならない。&lt;/pre&gt; 
&lt;p&gt;&lt;/p&gt; 
&lt;h3&gt;メモリ安全性と定数時間の証明&lt;/h3&gt; 
&lt;p&gt;&lt;/p&gt; 
&lt;p&gt;最近、s2n-bignum にはアセンブリ関数の定数時間およびメモリ安全性の特性を形式的に定義するための新しい関数と戦術が追加されました。これらのリソースにより、s2n-bignum の多くのアセンブリサブルーチンが定数時間でメモリ安全であることが検証されました。これには、楕円曲線のトップレベルのスカラー乗算関数、RSA の大整数演算、ML-KEM 暗号標準の Arm 実装 (Amazon Science で近日公開予定のブログ記事のテーマ) が含まれます。2025 年 10 月時点で AWS-LC で使用するために特定されたすべてのアセンブリサブルーチンは、定数時間でメモリ安全であることが形式的に検証されました。&lt;/p&gt; 
&lt;p&gt;AWS は、新しい戦術を AES-XTS など、その後追加されたアセンブリサブルーチンの検証に簡単に使用できるかを探っています。前述のとおり、AES-XTS は非常に複雑な制御フローを持っており、長く込み入った機能的正当性証明となりました。その複雑さは安全性証明にとっても課題です。プロセスは進行中ですが、復号および暗号化アルゴリズムの暗号文スティーリングサブルーチンの安全性特性はすでに証明されています。&lt;/p&gt; 
&lt;p&gt;これらの最初の証明は、バッファオーバーリードが起こりやすい重要なメモリアクセス手順に焦点を当てました。復号および暗号化アルゴリズムの残りの部分の証明は、同じ方法論を使用できます。定数時間およびメモリ安全性の証明は、機能的正当性の証明と同じ構造に従いますが、証明目標がより焦点を絞っているためより単純です。&lt;/p&gt; 
&lt;h3&gt;正当性の継続的保証&lt;/h3&gt; 
&lt;p&gt;&lt;/p&gt; 
&lt;p&gt;AWS は形式的検証を s2n-bignum の継続的インテグレーション (CI) ワークフローに統合しました。これにより、AES-XTS 実装への変更は、形式的な正当性証明を成功裏に通過しなければコミットできないという保証が得られます。CI の一環として、CPU 命令モデリングは実際のハードウェアに対するランダム化テストによって検証され、不正確さを「ファジング」することで、仕様が正しく証明が実際に成立することを保証します。&lt;/p&gt; 
&lt;p&gt;さらに、証明では入力がシンボルとして表現されるため、すべての可能な入力に対する正当性が保証されます。これにより、コードのすべての経路をカバーできても、すべての入力値をカバーできない可能性があるカバレッジテストの典型的な欠点を克服します。たとえば、ここで使用されているような定数時間コードは、秘密値で分岐することなく記述されます。通常、秘密値はそれらから派生したマスクの使用により演算に組み込まれます。同じ命令が秘密値に関係なく実行されます。したがって、ライン (行) カバレッジの達成は通常開発者の手の届く範囲にありますが、値カバレッジの達成は正当性の形式的検証に委ねられます。&lt;/p&gt; 
&lt;p&gt;この同じ方法論により、AWS は数学的な正当性の保証を持つ最適化された暗号化実装をデプロイし、同時に大幅なパフォーマンス向上を達成できました。これにより、開発者やツールはバグの導入を心配することなくコードをさらに自由に最適化でき、バグは証明によって自動的に検出されます。AES-XTS での経験により、アセンブリコードの証明駆動開発が、証明可能な正当性を保ちつつ、より理解しやすく、レビューしやすく、保守しやすく、最適化しやすい制御フローを生み出すことが示されました。&lt;/p&gt; 
&lt;footer&gt; 
 &lt;h2&gt;著者について&lt;/h2&gt; 
 &lt;div class="ArticlePage-authorInfoSection"&gt; 
  &lt;div class="ArticlePage-authorInfo"&gt; 
   &lt;div class="ArticlePage-authorInfo-bio"&gt; 
    &lt;div class="ArticlePage-authorInfo-bio-name"&gt; 
     &lt;a href="https://www.amazon.science/author/yan-peng" aria-label="" data-cms-ai="0" rel="noopener" target="_blank"&gt;Yan Peng&lt;/a&gt; 
    &lt;/div&gt; 
    &lt;div class="ArticlePage-authorInfo-bio-content"&gt;
      Yan Peng は Amazon Web Services (AWS) の applied scientist (応用科学者) です。暗号ライブラリと認可評価ライブラリの形式的検証に取り組んでいます。 
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;div class="ArticlePage-authorInfo"&gt; 
   &lt;div class="ArticlePage-authorInfo-bio"&gt; 
    &lt;div class="ArticlePage-authorInfo-bio-name"&gt; 
     &lt;a href="https://www.amazon.science/author/nevine-ebeid" aria-label="" data-cms-ai="0" rel="noopener" target="_blank"&gt;Nevine Ebeid&lt;/a&gt; 
    &lt;/div&gt; 
    &lt;div class="ArticlePage-authorInfo-bio-content"&gt;
      Nevine Ebeid は Amazon Web Services (AWS) の Cryptography グループの senior applied scientist (シニア応用科学者) であり、AWS 暗号ライブラリである AWS-LC のための最適化されたアルゴリズムの開発、検証、コンプライアンスに注力しています。AWS に入社する前は、自動車およびモバイルセキュリティアプリケーション向けの暗号ライブラリとプロトコルの研究開発を行っていました。 
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;div class="ArticlePage-authorInfo"&gt; 
   &lt;div class="ArticlePage-authorInfo-bio"&gt; 
    &lt;div class="ArticlePage-authorInfo-bio-name"&gt; 
     &lt;a href="https://www.amazon.science/author/juneyoung-lee" aria-label="" data-cms-ai="0" rel="noopener" target="_blank"&gt;June Lee&lt;/a&gt; 
    &lt;/div&gt; 
    &lt;div class="ArticlePage-authorInfo-bio-content"&gt;
      Juneyoung Lee は Amazon の Automated Reasoning Group の senior applied scientist (シニア応用科学者) です。 
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/footer&gt; 
&lt;footer&gt; 
 &lt;p&gt;本ブログは Security Solutions Architect の 中島 章博 が翻訳しました。&lt;/p&gt; 
&lt;/footer&gt;</content:encoded>
					
		
		
			</item>
		<item>
		<title>AWS Weekly Roundup: 1 周年を迎えた AWS Transform、Claude Platform on AWS、EC2 M3 Ultra Mac インスタンスなど (2026 年 5 月 18 日)</title>
		<link>https://aws.amazon.com/jp/blogs/news/aws-weekly-roundup-aws-transform-at-1-year-claude-platform-on-aws-ec2-m3-ultra-mac-instances-and-more-may-18-2026/</link>
		
		<dc:creator><![CDATA[Channy Yun (윤석찬)]]></dc:creator>
		<pubDate>Tue, 19 May 2026 23:50:42 +0000</pubDate>
				<category><![CDATA[Amazon Bedrock]]></category>
		<category><![CDATA[Amazon EC2 Mac Instances]]></category>
		<category><![CDATA[Amazon Redshift]]></category>
		<category><![CDATA[AWS Transform]]></category>
		<category><![CDATA[Launch]]></category>
		<category><![CDATA[News]]></category>
		<guid isPermaLink="false">b3a36a827585a10438d8d102aed1c9c7bb41d4cf</guid>

					<description>.NET、メインフレーム、および VMware ワークロード向けの AWS Transform がリリースされ […]</description>
										<content:encoded>&lt;p&gt;&lt;img loading="lazy" class="wp-image-103968 size-full alignright" style="width: 20%" src="https://d2908q01vomqb2.cloudfront.net/da4b9237bacccdf19c0760cab7aec4a8359010b0/2026/05/18/AWS-Transform-1-year.jpg" alt="" width="250" height="250"&gt;&lt;a href="https://aws.amazon.com/blogs/aws/aws-transform-for-net-the-first-agentic-ai-service-for-modernizing-net-applications-at-scale/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;.NET&lt;/a&gt;、&lt;a href="https://aws.amazon.com/blogs/aws/accelerate-the-modernization-of-mainframe-and-vmware-workloads-with-aws-transform/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;メインフレーム、および VMware ワークロード&lt;/a&gt;向けの &lt;a href="https://aws.amazon.com/transform/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;AWS Transform&lt;/a&gt; がリリースされたのは、今からちょうど 1 年前のことです。AWS Transform は、エンタープライズアプリケーションの大規模なモダナイズ専用に構築された初のエージェンティック AI サービスでした。re:Invent 2025 では、組織が AWS マネージド変換とカスタム変換を使用してコードを大規模にモダナイズし、変換することを可能にする &lt;a href="https://aws.amazon.com/transform/custom?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;AWS Transform カスタム&lt;/a&gt;が発表されました。そのまま使用できる変換や、組織固有の要件に合わせてカスタマイズできる変換を使用して、言語バージョンのアップグレード、フレームワークの移行、パフォーマンスの最適化、コードベースの分析を実行できます。また、&lt;a href="https://aws.amazon.com/blogs/aws/aws-transform-announces-full-stack-windows-modernization-capabilities/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;フルスタック Windows モダナイズ機能&lt;/a&gt;と、&lt;a href="https://aws.amazon.com/blogs/aws/aws-transform-for-mainframe-introduces-reimagine-capabilities-and-automated-testing-functionality/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;メインフレーム向けの Reimagine 機能と自動テスト機能&lt;/a&gt;も導入されました。&lt;/p&gt; 
&lt;p&gt;この12 か月間で、何千ものお客様が AWS Transform を使用して何 10 万ものサーバーを移行し、160 万時間以上の時間を節約して、45 億行以上のコードを処理しました。1 周年を記念して、AWS Transform エージェントが &lt;a href="https://aws.amazon.com/about-aws/whats-new/2026/04/aws-transform-developer-tools/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;Kiro、Claude、Cursor、Codex&lt;/a&gt; で利用可能になりました。これには、カスタマイズされた変換エージェントを構築するための&lt;a href="https://aws.amazon.com/about-aws/whats-new/2026/05/aws-transform-agent-builder-toolkit/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;エージェントビルダーツールキット「Kiro パワー」&lt;/a&gt;が含まれます。&lt;/p&gt; 
&lt;p&gt;AWS の 12 か月間の歩み、学んだ 4 つの事柄、そしてこれらがロードマップをどのように進化させたかについては、&lt;a href="https://aws.amazon.com/blogs/migration-and-modernization/aws-transform-one-year-milestone/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;1 周年記念ブログ記事&lt;/a&gt;をお読みください。&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;2026 年 5 月 11 日週のリリース&lt;/strong&gt;&lt;br&gt; 2026 年 5 月 11 日週のリリースのうち、私が注目したリリースをいくつかご紹介します。&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href="https://aws.amazon.com/about-aws/whats-new/2026/05/claude-platform-aws/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;Claude Platform on AWS の一般提供開始&lt;/a&gt; – 既存の AWS アカウントから、API、コンソール、早期アクセスのベータ機能を含めた Anthropic のネイティブ Claude Platform エクスペリエンスに直接アクセスでき、個別のアカウント、請求、追跡を管理する必要はありません。Claude Platform on AWS は Anthropic が運営しており、カスタマーデータは AWS のセキュリティ境界外で処理されます。詳細については、&lt;a href="https://aws.amazon.com/blogs/machine-learning/introducing-claude-platform-on-aws-anthropics-native-platform-through-your-aws-account/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;機能を詳しく検証するブログ記事&lt;/a&gt;をお読みください。&lt;/li&gt; 
 &lt;li&gt;&lt;a href="https://aws.amazon.com/about-aws/whats-new/2026/05/amazon-ec2-m3-ultra-mac-instances-generally-available/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;Amazon EC2 M3 Ultra Mac インスタンス&lt;/a&gt; – これらのインスタンスは、28 コアの CPU、60 コアの GPU、32 コアの Neural Engine、256 GB のユニファイドメモリを搭載した Apple M3 Ultra Mac Studio コンピュータ上に構築されています。EC2 M3 Ultra Mac インスタンスは、M4 Max Mac インスタンスの 2 倍のユニファイドメモリ、1.75 倍の CPU コア、1.5 倍の GPU コア、2 倍の Neural Engine コアを備えているため、Apple 開発者ははるかに多くの Xcode シミュレータを並列実行し、オンデバイス機械学習ワークフローを高速化して、製品の市場投入までの時間を短縮できます。&lt;/li&gt; 
 &lt;li&gt;&lt;a href="https://aws.amazon.com/blogs/aws/amazon-redshift-introduces-aws-graviton-based-rg-instances-with-an-integrated-data-lake-query-engine/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;AWS Graviton 搭載の Amazon Redshift RG インスタンス&lt;/a&gt; – より優れたパフォーマンスを実現するこれらのインスタンスは、データウェアハウスとデータレイクのワークロードを前世代 RA3 インスタンスの最大 2.4 倍の速さで実行でき、vCPU あたりの料金も 30% 削減されます。RG インスタンスには、Apache Iceberg と Parquet のデータをクラスターノード上で処理する、Redshift のカスタムビルドされたベクトル化データレイククエリエンジンが含まれています。&lt;/li&gt; 
 &lt;li&gt;&lt;a href="https://aws.amazon.com/blogs/aws/amazon-bedrock-introduces-new-advanced-prompt-optimization-and-migration-tool/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;Amazon Bedrock の Advanced Prompt Optimization&lt;/a&gt; – Bedrock では、あらゆるモデルのプロンプトを最適化できます。元のプロンプトと最適化されたプロンプトを同時に最大 5 個のモデルで比較しながら最適化が行われ、新しいモデルに移行する場合や、現在のモデルでより優れたパフォーマンスを実現したい場合にも使用できます。&lt;/li&gt; 
 &lt;li&gt;&lt;a href="https://aws.amazon.com/about-aws/whats-new/2026/05/aws-security-agent-full-repository-code-review/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;AWS セキュリティエージェントによるリポジトリ全体のコードスキャン (プレビュー)&lt;/a&gt; – コードベース全体を対象としたコンテキスト認識型の詳しいセキュリティ分析を実行する、AWS セキュリティエージェントの新機能を使用できます。脆弱性が発見されると、スキャナーがコード修正 (正確なファイルと行に関連付けられた具体的な修正案) を生成するため、チームはセキュリティ脆弱性をこれまでにない速さで修正できます。プレビュー中、既存の AWS セキュリティエージェントのお客様はこの機能を追加料金なしで利用できます。&lt;/li&gt; 
 &lt;li&gt;&lt;a href="https://aws.amazon.com/about-aws/whats-new/2026/05/aws-announces-AWS-interconnect-multicloud-oci-preview/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;Oracle Cloud Infrastructure との AWS Interconnect – マルチクラウド接続 (プレビュー)&lt;/a&gt; – AWS Interconnect – マルチクラウド接続を使用することで、他のクラウドプロバイダーに対するレジリエントでスケーラブルなプライベート接続をすばやくプロビジョニングできます。OCI は AWS Interconnect の基盤であるオープン仕様を採用した最新の CSP です。これは、AWS が OCI (プレビュー)、Google Cloud (一般提供)、および Microsoft Azure (2026 年後半に提供予定) をご利用のお客様に、一貫性のあるシンプルなエクスペリエンスを提供することを可能にします。&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;strong&gt;その他のアップデート&lt;/strong&gt;&lt;br&gt; 皆さんが興味を持つと思われるその他のニュースをいくつかご紹介します。&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href="https://www.aboutamazon.com/news/aws/amazon-trainium-investment-university-ai-research?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;Build on Trainium プログラムを通じて AI 研究と教育を加速&lt;/a&gt; – 次世代の AI 研究者が Amazon チップを使用して発見を加速させる方法をお読みください。AWS は、大学研究者が専用の AI チップにアクセスできるようにするために、1 億 1,000 万 USD を投資しました。AWS Trainium は、UC Berkeley、MIT、Carnegie Mellon などの大学で AI 研究を高速化しています。すべての研究はオープンソースであるため、より広範な開発者コミュニティに改善内容が還元されることになります。&lt;/li&gt; 
 &lt;li&gt;&lt;a href="https://builder.aws.com/content/3Dj1piMsfZG5aSDK1q6bHfzPOqs/aws-community-days-where-builders-learn-together?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;AWS Community Days 2026 の完全リスト&lt;/a&gt; – 講演者が同じ志を持つ仲間であり、主催者が情熱を持つがゆえに活動するボランティアであって、コミュニティ自体がアジェンダを作成するようなイベントには、他とは違う特別な何かがあります。AWS Community Day はまさにそのようなイベントで、世界全大陸の都市で毎年開催されています。&lt;/li&gt; 
 &lt;li&gt;&lt;a href="https://kiro.dev/blog/bringing-back-startup-credits/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;Kiro スタートアップクレジットプログラムが復活&lt;/a&gt; – 第一弾では何千人もの創業者が応募したプログラムが、申し込みの受け付けを再開しました。プログラムに申し込んで、最大 1 年分の Kiro Pro+ クレジットを受け取りましょう。このクレジットは、組織の AWS アカウントに自動的に適用されます。&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;AWS のブログ記事一覧については、&lt;a href="https://aws.amazon.com/blogs/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;AWS ブログ&lt;/a&gt;ページをご確認ください。&lt;/p&gt; 
&lt;p&gt;AWS について詳しく学び、次に予定されている &lt;a href="https://aws.amazon.com/events/explore-aws-events/?refid=e61dee65-4ce8-4738-84db-75305c9cd4fe"&gt;AWS 主催の対面イベントとバーチャルイベント&lt;/a&gt;、&lt;a href="https://aws.amazon.com/startups/events?tab=upcoming?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;スタートアップイベント&lt;/a&gt;、&lt;a href="https://aws.amazon.com/events/summits/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;AWS Summits&lt;/a&gt; などの&lt;a href="https://builder.aws.com/connect/events?trk=e61dee65-4ce8-4738-84db-75305c9cd4fe&amp;amp;sc_channel=el"&gt;開発者向けイベント&lt;/a&gt;を調べて参加しましょう。&lt;a href="https://builder.aws.com/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el"&gt;AWS Builder Center&lt;/a&gt; にもご参加ください。ビルダーとつながり、ソリューションを共有して、開発をサポートするコンテンツにアクセスできます。&lt;/p&gt; 
&lt;p&gt;2026 年 5 月 18 日週のニュースは以上です。2026 年 5 月 25 日週の &lt;a href="https://aws.amazon.com/blogs/aws/tag/week-in-review/?trk=39d9c26c-b157-46ae-bde6-9cf598f5c9e0&amp;amp;sc_channel=el"&gt;Weekly Roundup&lt;/a&gt; もお楽しみに!&lt;/p&gt; 
&lt;p&gt;– &lt;a href="https://linkedin.com/in/channy/"&gt;Channy&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;原文は&lt;a href="https://aws.amazon.com/jp/blogs/aws/aws-weekly-roundup-aws-transform-at-1-year-claude-platform-on-aws-ec2-m3-ultra-mac-instances-and-more-may-18-2026/"&gt;こちら&lt;/a&gt;です。&lt;/p&gt;</content:encoded>
					
		
		
			</item>
		<item>
		<title>AWS Security Agent のフルリポジトリコードスキャン機能のプレビュー提供開始</title>
		<link>https://aws.amazon.com/jp/blogs/news/aws-security-agent-full-repository-code-scanning-feature-now-available-in-preview/</link>
		
		<dc:creator><![CDATA[中島 章博]]></dc:creator>
		<pubDate>Tue, 19 May 2026 03:43:42 +0000</pubDate>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Foundational (100)]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[AWS Security]]></category>
		<category><![CDATA[Security Blog]]></category>
		<guid isPermaLink="false">7cdc7af363f153ea4c4529a507bc7bc4e06a44db</guid>

					<description>AWS Security Agent の新機能であるフルリポジトリコードレビューのプレビューリリースを発表。コードベース全体に対してコンテキスト認識型のセキュリティ分析を実行し、人間のセキュリティ研究者のように信頼境界やデータフローを推論します。従来の SAST が見逃す不整合や設計レベルの脆弱性を、透明性のある証拠と具体的な修復方法とともに検出します。本記事では仕組みと開発ワークフローへの組み込み方を紹介します。</description>
										<content:encoded>&lt;p&gt;本ブログは 2026 年 5 月 12 日に公開された AWS Blog “&lt;a href="https://aws.amazon.com/blogs/security/aws-security-agent-full-repository-code-scanning-feature-now-available-in-preview/" rel="noopener" target="_blank"&gt;AWS Security Agent full repository code scanning feature now available in preview&lt;/a&gt;” を翻訳したものです。&lt;/p&gt; 
&lt;p&gt;本日 (2026 年 5 月 12 日)、AWS は &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/jp/security-agent/" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;AWS Security Agent&lt;/u&gt;&lt;/a&gt;&lt;/span&gt; の新機能であるフルリポジトリコードレビューのプレビューリリースを発表します。この機能は、コードベース全体に対して深いコンテキスト認識型のセキュリティ分析を実行します。AI 駆動型サイバーセキュリティ機能は急速に進化しており、AWS Security Agent は、これまでにない規模とスピードでコードベース全体にわたる脆弱性の発見と動作する攻撃コードの構築が可能になりました。人間のセキュリティ研究者のように推論しながら、マシンスピードで動作します。既知の脆弱性パターンとコードを照合する従来の静的解析ツールとは異なり、フルリポジトリコードレビューは、人間のセキュリティ研究者と同様にアプリケーションのアーキテクチャ、信頼境界、データフローについて推論し、透明性のある証拠と具体的な修復方法を伴う、開発者がすぐに対応できる検出結果を生成します。&lt;/p&gt; 
&lt;p&gt;AWS は、お客様への無償の早期アクセスを優先しています。これにより、防御側がコードベースを強化し、得られた知見を共有することで、業界全体が恩恵を受ける機会を提供します。&lt;/p&gt; 
&lt;div class="RichTextHeading"&gt; 
 &lt;h2&gt;課題: コードに合わせてスケールするセキュリティ分析&lt;/h2&gt; 
 &lt;p&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;今日の開発チームは、継続的なジレンマに直面しています。従来の静的アプリケーションセキュリティテスト (SAST) ツールは、SQL インジェクションのシンク(脆弱性箇所)、エスケープされていない出力、ハードコードされた認証情報など、既知のパターンを高速かつ確実に検出します。しかし、現代のアプリケーションは、サービス、API、信頼境界、認可ロジックが絡み合う複雑なシステムです。最も危険な脆弱性は、単一行のパターン違反ではなく、システム全体にわたるギャップであることが少なくありません。たとえば、検証関数が 5 つのケースのうち 4 つしかカバーしていない、あるエンドポイントだけ近隣のエンドポイントに存在する認可アノテーションが欠けている、エンコーディングがあるコンテキストでは適用されているのに別のコンテキストでは適用されていない、といったケースです。&lt;/p&gt; 
&lt;p&gt;手動のセキュリティレビューはこうした問題を発見できますが、コストが高く、時間がかかり、現代の開発のペースにスケールしません。コードベースが拡大するにつれ、チームは広さと深さのどちらかを選ばざるを得なくなります。&lt;/p&gt; 
&lt;p&gt;フルリポジトリコードレビューは、このギャップを埋めるために構築されました。個々の行やファイルだけでなく、リポジトリ全体を読み取って推論する自動化されたセキュリティ研究者をチームに提供し、パターンマッチングツールが見逃す検出結果を浮かび上がらせます。&lt;/p&gt; 
&lt;div class="RichTextHeading"&gt; 
 &lt;h2&gt;仕組み: プロファイル、検索、トリアージ、検証&lt;/h2&gt; 
 &lt;p&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;フルリポジトリコードレビューは、経験豊富なセキュリティエンジニアによる調査の進め方を反映した 4 つのステージで動作します。&lt;/p&gt; 
&lt;ol class="rte2-style-ol" id="rte-22b03e41-4d64-11f1-a0e7-e9a9538cb399" start="1"&gt; 
 &lt;li&gt;&lt;b&gt;アプリケーションのプロファイリング&lt;/b&gt;: スキャナーはまず、リポジトリ全体を読み取り、エントリポイント、信頼境界、データフロー、認可不変条件、すでに導入されている防御策を含むアプリケーションのセキュリティモデルを構築します。このプロファイリングステップはすべてのソースファイルを対象とするため、カバレッジの判断は暗黙的ではなく明示的になります。その結果、&lt;i&gt;アプリケーションが何を行うか&lt;/i&gt;と&lt;i&gt;そのアタックサーフェスがどこにあるか&lt;/i&gt;を構造化された形で理解できるようになります。 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;/h3&gt; 
  &lt;/div&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;b&gt;脆弱性の検索&lt;/b&gt;: オーケストレーターはセキュリティプロファイルを読み取り、アタックサーフェスについて推論し、最もリスクの高いコンポーネントから順に専門エージェントを展開します。各エージェントは、調査対象のモジュール、脅威コンテキスト、攻撃者視点での検証項目を含む、範囲を限定したタスクを受け取ります。手がかりがあれば、エージェントは開始スコープを超えてインポートや呼び出し元を自由に追跡できます。 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;/h3&gt; 
  &lt;/div&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;b&gt;トリアージと重複排除&lt;/b&gt;: 候補となる検出結果は重複排除され (同じシンク、同じ根本原因)、検証フェーズの前に低信頼度のノイズが除去されます。 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;/h3&gt; 
  &lt;/div&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;b&gt;独立した検証&lt;/b&gt;: すべての候補について、独立した検証エージェントがソースコードを再度読み取り、攻撃チェーン全体をトレースします。検証エージェントは両方の側から検討します。検出結果が脆弱性ではない理由 (補完的コントロール、意図的な設計) を探すと同時に、脆弱性である理由 (代替の攻撃経路、エッジケース) も探します。検出結果が拒否されるのは、それを支持する証拠と同等の強さの反証がある場合に限られます。このプロセスは、構造化された &lt;i&gt;Verified&lt;/i&gt; (検証済み) と &lt;i&gt;Could not verify&lt;/i&gt; (検証できず)&lt;b&gt; &lt;/b&gt;のセクションを持つ検出結果を生成するため、スキャナーがコードで何を確認したか、何がデプロイ環境に依存するかをチームが正確に把握できます。&lt;/li&gt; 
&lt;/ol&gt; 
&lt;div class="RichTextHeading"&gt; 
 &lt;h2&gt;何が違うのか&lt;/h2&gt; 
 &lt;p&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;フルリポジトリコードレビューは、従来の静的解析と 2 つの根本的な点で異なります。1 つは、既知の脆弱性パターンと照合するのではなく、アプリケーションの実際の動作について推論すること。もう 1 つは、不確実性を隠すのではなく明示する構造化された証拠を伴う検出結果を提示することです。&lt;/p&gt; 
&lt;div class="RichTextHeading"&gt; 
 &lt;h3&gt;&lt;/h3&gt; 
&lt;/div&gt; 
&lt;div class="RichTextHeading"&gt; 
 &lt;h3&gt;パターンマッチングではなく、コンテキスト認識型の推論&lt;/h3&gt; 
 &lt;p&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;スキャナーは脆弱性を検索する前にセキュリティモデルを構築するため、表面的なコードパターンだけでなく、アプリケーションの実際の動作について推論します。&lt;/p&gt; 
&lt;p&gt;実際の例を見てみましょう。あるストアドプロシージャに SQL インジェクションの脆弱性がありました。従来の SAST ツールは、特定の &lt;code class="CodeInline" style="color: #000"&gt;EXECUTE IMMEDIATE&lt;/code&gt; 呼び出しを検出するでしょう。しかし、スキャナーはさらに深く分析し、中央の検証関数が 5 つの正規表現プロファイルのいずれにおいてもシングルクォートをブロックしていないことを特定し、5 つのプロファイルすべてを名前で列挙したうえで、特定のデータベースエンジンでシングルクォートが重要である理由を説明し、別のストアドプロシージャが検証関数を完全にスキップしていることを指摘しました。1 つの呼び出しサイトでのポイント修正ではなく、検出結果はシステム全体のギャップに対する包括的な修復につながりました。&lt;/p&gt; 
&lt;p&gt;別のケースでは、HTML エンコーディングなしでフィールドに値が追加されている XSS 脆弱性をスキャナーが発見しました。同じ値は、同じファイル内の別のコンテキストでは &lt;code class="CodeInline" style="color: #000"&gt;Encode.forHtml()&lt;/code&gt; で適切にエンコードされて&lt;i&gt;いました&lt;/i&gt;。パターンマッチングツールは、エンコーディング関数が存在するためこれを見逃しますが、脆弱性は&lt;i&gt;不整合&lt;/i&gt;そのものにあり、これを発見するにはコードパス全体にわたるアプリケーションの動作を理解する必要があります。&lt;/p&gt; 
&lt;div class="RichTextHeading"&gt; 
 &lt;h3&gt;不確実な部分を明示する検証済み検出結果&lt;/h3&gt; 
 &lt;p&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;すべての検出結果は、効率的な開発者トリアージのために構造化されています。&lt;/p&gt; 
&lt;ul class="rte2-style-ul" id="rte-f29f3a60-4a95-11f1-8055-e11a30d69382"&gt; 
 &lt;li&gt;&lt;b&gt;問題&lt;/b&gt;: コードの何が間違っているかを、具体的なファイル名と行番号とともに明示&lt;/li&gt; 
 &lt;li&gt;&lt;b&gt;影響&lt;/b&gt;: 攻撃者が何を得られるかを、デプロイ環境の詳細とともに明示&lt;/li&gt; 
 &lt;li&gt;&lt;b&gt;検証範囲&lt;/b&gt;: スキャナーがコード内で直接確認した内容 (Verified) と、環境 (ネットワークセグメンテーション、ランタイム動作) に依存する内容 (Could not verify) を区別して明示&lt;/li&gt; 
 &lt;li&gt;&lt;b&gt;修復&lt;/b&gt;: 一般的なガイダンスではなく、具体的なコード変更を含む修正案を提示&lt;/li&gt; 
 &lt;li&gt;&lt;b&gt;重大度と信頼度&lt;/b&gt;: それぞれ独立して評価。重大度は脆弱性が悪用された場合の影響を、信頼度は攻撃チェーンのどの程度がコード内で検証されたかを反映&lt;/li&gt; 
&lt;/ul&gt; 
&lt;div class="RichTextHeading"&gt; 
 &lt;h2&gt;フルリポジトリコードレビューをワークフローに組み込む方法&lt;/h2&gt; 
 &lt;p&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;フルリポジトリコードレビューは、既存のセキュリティツールを置き換えるのではなく、補完するように設計されています。現代の開発ワークフローへの組み込み方は以下のとおりです。&lt;/p&gt; 
&lt;ul class="rte2-style-ul" id="rte-22b03e42-4d64-11f1-a0e7-e9a9538cb399"&gt; 
 &lt;li&gt;&lt;b&gt;セキュリティレビューの前&lt;/b&gt;:&lt;b&gt; &lt;/b&gt;ペネトレーションテストやセキュリティレビューをスケジュールする前に、フルリポジトリコードレビューを実行します。レビューが明白な問題と半ば明白な問題を浮かび上がらせるため、セキュリティチームは限られた時間を、人間の判断を必要とする高度な設計レベルの問題に集中できます。&lt;/li&gt; 
 &lt;li&gt;&lt;b&gt;買収したコードやオープンソースコードのオンボーディング時&lt;/b&gt;:&lt;b&gt; &lt;/b&gt;フルリポジトリコードレビューは、買収やベンダー依存関係を通じて、または統合中のオープンソースコンポーネントからコードを継承する際に特に価値を発揮します。スキャナーはセキュリティモデルをゼロから構築するため、コードベースに関する組織内の知識を必要としません。&lt;/li&gt; 
 &lt;li&gt;&lt;b&gt;アーキテクチャレビュー中&lt;/b&gt;:&lt;b&gt; &lt;/b&gt;スキャナーは信頼境界、データフロー、認可不変条件について推論するため、その検出結果は実装上のバグだけでなく、アーキテクチャ上の問題を浮かび上がらせることがよくあります。スキャン結果を脅威モデルと並べて確認し、コンポーネントの相互作用に関する仮定を検証してください。&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;AWS Security Agent でフルリポジトリコードレビューをご利用の場合は、&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/ja_jp/securityagent/latest/userguide/quickstart-code-review.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;クイックスタートガイド&lt;/a&gt;&lt;/span&gt;に従ってセットアップして実行してください。&lt;/p&gt; 
&lt;div class="RichTextHeading"&gt; 
 &lt;h2&gt;プレビュー提供と価格&lt;/h2&gt; 
 &lt;p&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;フルリポジトリコードレビューは、本日 (2026 年 5 月 12 日) より AWS Security Agent のお客様向けに追加料金なしでプレビュー提供されています。プレビュー期間中、エクスペリエンスの改良に向けて、みなさまからのフィードバックをお待ちしております。Security Agent ウェブアプリケーションの組み込みフィードバック機能をご利用いただくか、AWS アカウントチームにお知らせください。&lt;/p&gt; 
&lt;div class="RichTextHeading"&gt; 
 &lt;h2&gt;開始方法&lt;/h2&gt; 
 &lt;p&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://console.aws.amazon.com/securityagent/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Security Agent コンソール&lt;/a&gt;&lt;/span&gt; にアクセスして、フルリポジトリコードレビューを有効にし、最初のスキャンを実行してください。詳細については、&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/ja_jp/securityagent/latest/userguide/what-is.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;AWS Security Agent ドキュメント&lt;/u&gt;&lt;/a&gt;&lt;/span&gt; を参照してください。&lt;/p&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt; 
   &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/05/12/Ayush-Singh.jpg" alt="Ayush Singh" width="120" height="160" class="aligncenter size-full wp-image-42144"&gt; 
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Ayush Singh&lt;/h3&gt; 
  &lt;p&gt;Ayush は AWS のシニアプロダクトマネージャーで、AWS Security Agent の開発をリードしています。エンタープライズグレード、オープンソース、エージェンティック AI 製品をスケールさせた実績があります。組織がセキュリティプラクティスを効果的にスケールできるツールの構築に注力しています。ロチェスター大学で MBA を、KIIT 大学でコンピュータサイエンスの学士号 (B.Tech) を取得しています。&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt; 
 &lt;/div&gt; 
&lt;/footer&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt; 
   &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/05/12/Daniele-Bonadiman.jpg" alt="" width="120" height="160" class="aligncenter size-full wp-image-42145"&gt; 
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Daniele Bonadiman&lt;/h3&gt; 
  &lt;p&gt;Daniele は AWS のシニアアプライドサイエンティストで、AWS Security Agent に取り組んでいます。トレント大学で応用機械学習および自然言語処理の博士号を取得しました。AWS 在籍中、対話型 AI、マルチエージェントシステムのオーケストレーション、AI エージェントによるコード解釈に焦点を当てた複数の AI イニシアチブに貢献してきました。&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt; 
 &lt;/div&gt; 
&lt;/footer&gt; 
&lt;p&gt;
 &lt;!-- '"` --&gt;&lt;/p&gt; 
&lt;footer&gt; 
 &lt;p&gt;本ブログは Security Solutions Architect の 中島 章博 が翻訳しました。&lt;/p&gt; 
&lt;/footer&gt;</content:encoded>
					
		
		
			</item>
	</channel>
</rss>