5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Q. AgentCoreランタイムのインバウンド認証ってどっち選べばいいの?

5
Posted at

tl;dr

A. 一旦、Lambdaを挟むか挟まないかで決める
挟むならIAM認証、挟まないならJWT認証

IAM認証のケース

文字通りIAM認証ベースでランタイムへのリクエストを許可/拒否する設定。
使用ケースとしては

  • マネジメントコンソールからランタイムの動作確認がしたい
  • AWS CLIやAgentCore CLIでサクッとランタイムの動作確認がしたい
  • API Gateway + Lambda + AgentCoreランタイムみたいな構成を組みたい
  • EventBridge Schedulerからスケジュール駆動で動かしたい

とりあえずこんな感じでしょうか。

1個目と2個目はIAMユーザー・IAMグループ・IICユーザーなどなんでも認証されていればOKです。
ターミナルから叩くとこんな感じですが、ただしこれはシステムとして使うというより、あくまで動作確認程度のもの。
image.png

3つ目はLambdaのIAMサービスロールからAgentCoreランタイムを呼び出す形。
なのでLambda側のIAMサービスロールにInvokeAgentRuntime actionの許可ポリシーが付与されていればOK呼び出すことができます。

ちなみにIAM認証だけ設定していると、そのAgentCoreランタイムを呼び出す権限さえあればどこからでも呼び出せてしまうのでリスクと言えばリスクはあります。(図は下記ブログより引用)
image.png

そこで、特定のIAMロールなどからのみ呼び出し可能にしたい場合は、リソースベースポリシーを設定してあげればOKです。(図は下記ブログより引用)
image.png

詳しくは以下ブログをご参照。

あと認証の話ではないですが、API Gateway + Lambda + AgentCoreランタイム構成を組まれる方は以下もぜひ読んでおいてください。

厳密には、LambdaからAgentCoreランタイムを呼び出す際はIAM認証だけでなくJWT認証でもいけます。詳しくは後述します。

JWT認証のケース

JSON Web Token、通称JWTを用いた認証です。
OAuth 2.0互換のIDプロバイダーであればどれでも動作するそうです。AWSだとCognitoを使うやつです。

よくあるケースとしては、

  • Amplify Gen2 + CognitoからAgentCoreランタイム直呼び
  • EventBridge + API DestinationからAgentCoreランタイムを呼んでイベント駆動エージェントにしたい
  • MCPサーバーをホストし、Claude CodeでMCP接続(認証は会社のEntraID + Cognito)

1つ目は某AWS AI Heroのブログや資料でよく紹介されている、かなりスタンダードな構成です。(図は下記ブログより引用)
image.png

これはWebアプリとしてAIエージェントを動かすためのもので、恐らくこんな感じの構成が一番多いのではないかなと思います(2026年6月3日現在)。

また、AWSの方が公開している、ポータビリティを高める構成においては、JWT認証+HTTPリクエストという形を取られているようです。恐らくAmplifyではなくCloudFront + S3 + Cognitoなどでしょうか。

2つ目のイベント駆動エージェントは、私が過去に試したやつです。
詳しくはスライドを見てください。

3つ目は私が会社でやったアーキテクチャです。エージェントじゃなくてMCPサーバーをホスティングしてるんですけどね。
認証通って普通に使えてるのでできることはできるのですが、会社のやつなので詳細は割愛させていただきます(気になる方はJAWS-UGの勉強会やAWS Summitで僕と握手!)。

両方いける構成もある

私は試したことないのですが、AWSの中の人がSaaSなどのマルチテナント構成パターンを共有してくださっています。(図は下記ブログより引用)
image.png

ここで、図だとLambdaからRuntimeにIAM認証が伸びているのでIAM認証しか無理そうに見えますが、LambdaからHTTPリクエストを送ればJWT認証でもいけるみたいです。私は初知りでした…勉強になりました。

で、結局どっち選ぶの?

要件次第です…というのはそりゃそうなんですが、一旦わかりやすくいくなら

  • Lambdaなどバックエンドのコンピュートサービスからエージェントを呼ぶ構成
    →IAM認証
  • それ以外
    →JWT認証

くらいで最初は良いのかもしれません。
他にこんな感じで考えてるよーという方いればぜひご教示いただければと思います。

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?