【AWS】Claude DesktopをAWS IAM認証で接続したい | Nextmode Blog
こんにちは、ホワイトバードです。
Claude Platform on AWSがGAして2か月ほど経ちましたが、Claude Desktopからも使いたいという声が社内からも上がってきており、Claude Platform on AWSでうまく管理しつつ、デスクトップ版でも実現できるようにまとめてみました。
やりたかったこと
今回やりたかったのはこの2点です
-
Claude Desktop経由でClaude Coworkなどを使えるようにしたい
- Claude Platform on AWSで払い出されるAPI Keyはセキュリティ上使用したくないため、認証周りをAWS IAM認証を使用できるようにしたい
- その他、当社の環境に合わせた設定を整えたい(NetskopeやOktaを使ったAWS IAMのSAML設定など)※ここは本記事では省略
現時点での仕様
執筆日時点ではClaude Desktop には、リクエストごとに AWS IAM の SigV4 署名を行う機能 がありません。したがって、Claude Platform on AWSでClaude Desktopを使用する場合はAPIキーを払い出すようになっていますが、長期的にAPIキーがローカルに残る環境はあまり望ましくありません。
したがって、一時クレデンシャルを使用してBearerトークンを生成し、そちらを使ってClaude Desktopを利用できるようにします。
構成認証の構成イメージは下記のとおりです。

前提条件
Claude Desktop側の準備を進める前に、これらの準備が必要です。
- Claude Platform on AWSのワークスペースが開設済みであること
- AWS CLIがインストールされていること
- 必要なIAMポリシーが付与された(
AnthropicLimitedAccessなど)IAMロール/IAMユーザーがあること(ここはAWS環境によってまちまちなので、必要に応じて読み替えてください) - Pythonがインストール済みであること
- (Windowsの場合のみ)Claude Coworkで使用するためのVirtual Machine Platformが有効化されていること⇒Claude Desktopのワークスペース機能(Cowork のサンドボックス実行等)がWindows上で軽量VMを利用するため
以後、Windows環境を前提に進めていきますが、macOSの場合もできるだけ補足するようにします。
準備
では、上記の環境で準備していきます。
必要なPythonライブラリのインストール
AWSから一時クレデンシャルを使用するために必要なPythonライブラリをインストールします。
それぞれのライブラリは、次の意味を持ちます。
| ライブラリ | 用途 |
| boto3 | AWSプロファイルから認証情報を読み込むために使用 |
| token-generator-for-aws-external-anthropic | AWS 一時クレデンシャルからClaude Platform on AWS向け短期 API キー(Bearerトークン)を生成 |
| botocore[crt] (実体はawscrt) | aws login コマンドで発行される login_session 系クレデンシャルをboto3ライブラリが扱うために使用 ※これが無いと helper 実行時に以下のエラーで失敗 Missing Dependency: Using the login credential provider requires an additional dependency. You will need to pip install "botocore[crt]" before proceeding. |
ヘルパースクリプトの配置
ヘルパースクリプトをローカルPC上に配置します。フォルダの場所はどこでも構いません。
Windowsの場合は、同じフォルダに下記のbatファイルを設置します。macの場合は、batファイルは不要ですが、実行権限を追加します。
Windowsの場合
macOSの場合
Claude Desktopの設定
Claude Desktop側で先ほどのヘルパースクリプトを使用できるように設定します。Claude Desktopを起動したら左側のハンバーガーメニュー(三本線)から、開発者モードを有効化します。
・ヘルプ>トラブルシューティング>開発者モードを有効化する
開発者モードが有効化されたら、もう一度左側のハンバーガーメニュー(三本線)から、「サードパーティ推論の設定」を選択します。
・開発>サードパーティ推論の設定
設定値は、以下に設定していきます。
| 項目 | 設定値 |
| 推論プロバイダ | Gateway |
| ゲートウェイベース URL |
https://aws-external-anthropic.ap-northeast-1.api.aws ※リージョン名はワークスペースのリージョンを設定 |
| ゲートウェイ認証スキーム | bearer |
| カスタム推論ヘッダー |
{"anthropic-workspace-id": "wrkspc_XXXXXXX"} ※ワークスペースIDは、Claude Consoleで確認してください |
| 認証情報の種類 | ヘルパースクリプト |
| ヘルパースクリプト | Windowsの場合、batファイルを指定 macOSの場合、pyファイルを指定 |
| ヘルパースクリプトのTTL | 3600(デフォルト1時間) |
| 認証情報ヘルパーのタイムアウト | 30 |
| サイレントリフレッシュ用ヘルパーの再実行 | 有効 |
| モデル検出 | 有効 |
-1.png?width=1095&height=861&name=image%20(3)-1.png)
ここまで設定できたら設定を保存し、Claude Desktop を一度完全に終了します。
実行
ここから実際に使用開始まで行きたいと思います。
AWSにログイン
AWS CLIで、ヘルパースクリプトが使用するプロファイルでログインします。
成功すると本プロファイルにプロファイルに一時クレデンシャル(login_session)が設定されます。
※このコマンドはClaude Desktopやヘルパースクリプトが自動実行するものではありません。ユーザーが都度手動で実行する必要があります。
※クレデンシャルには有効期限があります。期限が切れるとヘルパースクリプトがトークン生成に失敗するため、その際は本コマンドを再実行してください。
Claude Desktopを起動
AWSのログインセッションが有効な間は、Claude Desktopのヘルパースクリプトが自動でトークンを更新してくれます。AWSのログインセッションが切れるとエラーとなるため、エラーになったら再度aws loginコマンドを実行します。
結果
無事Claude Desktopを起動できると、このようにチャットができるよういなります。(左下がGatewayになっていれば正しく動いています)
-3.png?width=1126&height=995&name=image%20(2)-3.png)
感想
今回はClaude DesktopをClaude Platform on AWSのIAM認証で動かす方法を実践してみました。長期的なAPIキーの払い出しを必要とせず、スクリプトを実行することでIAMを活用した細かい設定やCloudTrailなどのAWSでの管理も容易に実現できるようになっています。
実際非エンジニアの方の立場に立つともう少しClaude Desktop側で自動対応してくれるともっとありがたいとは思いますので、これは今後のアップデートに期待しています。
ネクストモードでは、安全な責任あるAIの利用に向けて、AWSやSaaSの導入運用支援を行っております。AIセキュリティなど、是非お気軽にご相談ください!