AWS MCP Server の新機能「OAuth認証」を Kiro CLI で試してみた

AWS MCP Server の新機能「OAuth認証」を Kiro CLI で試してみた

AWS MCP ServerがOAuth 2.0認証に対応しました。Kiro CLI 2.12.0を使い、AWS CLIプロファイルを用意せずにブラウザーのAWS Sign-InでAWS MCP Serverへ接続します。OAuth認可時に有効だったIAMロールの権限で、MCP経由のAWS操作を実行できることを確認しました。
2026.07.10

はじめに

2026年7月9日、AWS MCP Serverが OAuth 2.0 認証に対応しました。

https://aws.amazon.com/about-aws/whats-new/2026/07/oauth-aws-mcp-server/

https://aws.amazon.com/blogs/security/introducing-oauth-support-for-aws-mcp-server/

これまでAWS MCP Serverを利用するには、AWS CLIのインストールとmcp-proxy-for-aws(uvx経由)のセットアップ、AWS CLI用のローカル認証情報の用意が必要でした。今回のOAuth対応により、ブラウザーのAWS Sign-Inだけで接続できる方式が追加されています。

主な変更点を比較表にまとめます。

項目 以前(SigV4のみ) 今回(OAuth追加)
認証方式 SigV4(AWS CLI + mcp-proxy-for-aws必須) OAuth(ブラウザー Sign-In)を追加選択可能
セットアップ uvx、AWS CLI、ローカルクレデンシャル設定 kiro-cli mcp add + ブラウザーでOAuth認可
認可対象 ローカルプロファイルのIAMユーザー/ロール OAuth認可時にブラウザー側で有効だったアカウント/ロール
ウェブクライアント対応 非対応 Claude.ai、ChatGPT.com等からも接続可能

本記事で使用するKiro CLIでは、直近2バージョンでMCP OAuth認可の基盤が整備されています。

バージョン 追加内容
2.11.0(2026-07-02) /mcp auth/mcp cancel-auth/mcp logoutコマンド追加。MCPパネルでのキーボードショートカット(Ctrl+Aで再認証、Ctrl+Xで中止、Ctrl+Rで認証情報削除)
2.12.0(2026-07-08) MCP OAuth設定でclient_secretをサポート。Confidentialクライアント向けのトークンエンドポイント認証に対応

本記事では、Kiro CLI 2.12.0を使用し、OAuth認可フローでAWS MCP Serverに接続します。OAuth認可時にブラウザー側で有効だったロールがMCP経由のAWS操作に使われることを実機で確認します。

公式ドキュメント:

検証内容

検証環境

項目
Kiro CLI 2.12.0
AWS MCP Serverエンドポイント https://aws-mcp.us-east-1.api.aws/mcp
ローカルプロファイル 全操作を拒否(Deny *)したIAMユーザー
OAuth認可対象 別ロール(AdministratorAccess付与済み、スイッチロールでアクティブにした状態)

やりたいこと

以下の2つが同一Kiro CLIセッション内で異なるアイデンティティを返すことを示し、ローカルのAWS認証情報とOAuth経由のMCPサーバー認証が独立した経路であることを確認します。

  • use_awsツール(ローカルのAWS CLI認証情報を使用)
  • aws___call_awsツール(MCPサーバー経由、OAuthで認可されたロールを使用)

セットアップ

IAMユーザーの作成(ローカル認証情報用)

今回の検証では、ローカルとOAuthの認証経路が独立していることを示すため、全操作を拒否したIAMユーザーmcp-oauth-verify-testを作成しました。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "*",
      "Resource": "*"
    }
  ]
}

IAMポリシーのアタッチ(OAuth認可対象側)

OAuth認可は、ブラウザーで有効なAWS Sign-Inセッションに基づいて行われます。本検証では検証用AWSアカウントにAdministratorAccessを持つロールでスイッチロールした状態でOAuth認可を実施しました。

AdministratorAccessやPowerUserAccess等の広い権限がない場合は、OAuth認可時に使用するIAMエンティティにAWSMCPSignInOAuthAccessPolicyをアタッチしてください。

MCPサーバーの追加

Kiro CLIで以下のコマンドを実行します。

kiro-cli mcp add --name aws-mcp --url https://aws-mcp.us-east-1.api.aws/mcp

これだけでOAuth方式のMCPサーバーが登録されます。

検証手順

1. ローカル認証情報の確認

まず、ローカルのAWS CLI認証情報(use_awsツール)で現在のアイデンティティを確認しました。

{
  "UserId": "AIDA****************",
  "Account": "78**********",
  "Arn": "arn:aws:iam::78**********:user/mcp-oauth-verify-test"
}

ローカルプロファイルに設定した、全操作を拒否(Deny *)したIAMユーザーが返りました。

2. OAuth認可の実施

Kiro CLIのチャット画面で/mcp auth aws-mcpを実行し、OAuth認可フローを開始しました。

MCPパネルではサーバーのステータスが⚠ auth-requiredになり、ステータスバーにaws-mcp requires OAuth — Ctrl+y to authenticateと表示されます。Ctrl+yを押すと認可URLがターミナルに表示されるので、ブラウザーで開きます。

ブラウザーのOAuth認可画面

このとき、ブラウザーではAWSコンソールにスイッチロール済みの状態でした。「Authorize」ボタンを押して認可を完了すると、ブラウザーに「You can close this page now」と表示されます。

Kiro CLI側に戻ると、ステータスバーの認証要求表示が消え、MCPパネルのステータスが● running(9 tools)に変わります。

3. MCP経由のアイデンティティを確認

OAuth認可完了後、MCPサーバー経由のツール(aws___call_aws)でsts get-caller-identityを実行しました。

{
  "UserId": "AROA*****************:my-role-name",
  "Account": "78**********",
  "Arn": "arn:aws:sts::78**********:assumed-role/my-role-name/my-role-name"
}

ブラウザーでスイッチロールしていたロールセッションのアイデンティティが返りました。

結果の比較

項目 use_aws(ローカル) aws___call_aws(MCP / OAuth)
アイデンティティ IAMユーザーmcp-oauth-verify-test スイッチロール先のロール(AssumeRole)
認証元 ローカルプロファイルのアクセスキー ブラウザーのAWS Sign-Inセッション
権限 全操作を拒否(Deny * AdministratorAccess

同一のKiro CLIセッション内で、ローカル認証情報とMCP経由の認証情報が分離していることを確認できました。

再認証(アカウント/ロールの切り替え)

ブラウザー側でアカウントやロールを切り替えた後、MCPパネルから再認証できます。

  1. /mcpでパネルを開く
  2. Ctrl+R(remove creds) — 既存のOAuthトークンを削除(パネル表示は変わりません)
  3. Ctrl+A(auth) — サーバーが再起動し、ステータスが⚠ auth-requiredに変わる
  4. Ctrl+yまたはEnter — 認可URLを取得してブラウザーで認証

本検証では、ブラウザー側で別のロールにスイッチしてから上記を実行することで、MCP経由のAWS操作に使われるロールを切り替えられました。

まとめ

AWS MCP ServerがOAuth認証に対応しました。Kiro CLI 2.12.0を使用すると、AWS CLIプロファイルやアクセスキーをローカル端末に用意せず、ブラウザーのAWS Sign-Inセッションに基づくOAuth認可でAWS MCP Serverへ接続できます。

本検証では、ローカルのAWS CLI認証情報とは独立して、OAuth認可時にブラウザー側で有効だったロールがMCP経由のAWS操作に使われることを確認しました。同じKiro CLIセッション内でも、ローカルのAWS CLI認証情報を使う経路と、OAuth認可されたAWS MCP Server経由の経路は分離されています。

従来のaws loginaws sso loginでも、ブラウザーを使った認証は可能でした。ただし、Kiro CLIで作業している途中にAWS認証情報を有効化・更新するには、Kiro CLIを一時中断するか、別ターミナルを開いてコマンドを実行する必要がありました。

今回のOAuth対応により、MCPサーバーの登録後はKiro CLI上の/mcp authから認可フローを開始し、ブラウザーでAWS Sign-Inを完了して、そのままMCP経由のAWS操作に進めます。ターミナルを切り替えてAWS CLIの認証コマンドを実行する手順が不要になり、AWS MCP Serverを使い始めるまでの流れがシンプルになりました。

ローカルにAWS CLI用の認証情報を持たず、必要時にブラウザーのSign-Inセッションを通じてMCPサーバー利用を認可する使い方であれば、従来のaws login / aws sso login + mcp-proxy-for-aws経由より扱いやすくなっています。EC2インスタンスプロファイルやMFA/1Passwordなどでローカルの認証情報を保護できる環境では、引き続きSigV4方式も選択肢になります。

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事