View a markdown version of this page

OAuth 2.0 でサインインする - AWS サインイン

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

OAuth 2.0 でサインインする

OAuth の概要

AWS Sign-In 業界標準の OAuth 2.0 サポートにより、エージェントとアプリケーションは OAuth 認可を使用してサポートされている AWS サービスにアクセスできます。

OAuth は既存の ID AWS および認可モデルと統合されます。アプリケーションは AWS 、サインインを通じて有効期間の短い OAuth トークンを取得します。OAuth トークンは、既存の IAM ID、ポリシー、サービスコントロールポリシー (SCPs)、リソースコントロールポリシー (RCPs)、およびその他の AWS 認可コントロールと連携します。OAuth では、リソースへのアクセス AWS の管理方法を変更せずに、標準ベースの認可モデルを導入しています。

AWS サインインを使用すると、ブラウザを介してアプリケーションを認可したり (インタラクティブ)、既存の AWS 認証情報を持つアプリケーションがプログラムで OAuth アクセストークンを取得したりできます (非インタラクティブ)。

サポートされる機能

AWS サインインには、次の OAuth 機能があります。

機能 説明
インタラクティブ認可 ユーザー向けのブラウザベースの OAuth 認可。
非インタラクティブ認可 ブラウザを必要とせずに、既存の AWS 認証情報を使用するエージェントとアプリケーションの OAuth 認可。
トークン管理 アクセストークンと更新トークンを発行して内部検査し、更新トークンを取り消します。
動的クライアント登録 承認された OAuth 互換アプリケーションを AWS サインインで登録します。
IAM 統合 IAM アクセス許可、リソース、および条件キーを使用して OAuth 認可を管理します。
CloudTrail の統合 を使用して OAuth 認可イベントとトークンライフサイクルイベントを監査します AWS CloudTrail。

OAuth の仕組み

AWS サインインの OAuth 認可は OAuth 2.0 標準に従います。

  1. エージェントまたはアプリケーションは、サポートされている AWS サービスにアクセスするための認可をリクエストします。

  2. AWS サインインはユーザーを認証します。

  3. AWS サインインは、アプリケーションがユーザーに代わってリクエストされた AWS サービスにアクセスすることを許可する OAuth トークンを発行します。

  4. この AWS サービスは、IAM ポリシー、サービスコントロールポリシー (SCPs)、リソースコントロールポリシー (RCPs)、アクセス許可の境界、その他の適用可能なコントロールなど、既存の AWS 認可モデルを使用してすべてのリクエストを評価します。

OAuth トークンは、アプリケーションがサポートされている AWS サービスにアクセスすることを許可します。追加の AWS アクセス許可は付与されません。アプリケーションは、認証された IAM ID で既に許可されているアクションのみを実行できます。

認可モデル

AWS サインインは 2 つの OAuth 認可モデルをサポートしています。

インタラクティブ認可

インタラクティブ認可は、ブラウザベースの認証を使用する開発者を対象としています。

AWS サインインでは、コード交換 (PKCE) の証明キーを使用した OAuth 2.1 認可コードの付与が適用されます。アプリケーションに認可が必要な場合、ユーザーは AWS サインインにリダイレクトされます。サインインすると、ユーザーは認可リクエストを認証し、レビューして、同意を付与します。

認可が成功すると、 AWS サインインの問題が発生します。

  • アクセストークン – サポートされている AWS サービスへのアクセスをアプリケーションに許可する、存続期間の短い OAuth トークン (最大 1 時間)。

  • トークンの更新 – ユーザーが再度認証しなくても、新しいアクセストークンを取得するために使用します。 AWS サインインは、承認されたアプリケーションのトークンの更新を自動的に管理します。

インタラクティブ認可は以下をサポートします。

  • IAM ユーザー

  • AWS アカウント ルートユーザー

  • IAM Identity Center ユーザー

  • SAML およびカスタム ID ブローカーユーザー

インタラクティブ認可を使用してエージェントを接続する手順については、「」を参照してくださいAWS MCP サーバー

非インタラクティブ認可

非インタラクティブ認可は、 AWS 認証情報をすでに所有しており、ブラウザベースの認証を実行できないエージェントとアプリケーションを対象としています。

AWS サインインは、静的 OAuth クライアントシークレットの代わりに、署名バージョン 4 (SigV4) 認証情報を使用して AWS OAuth 2.0 クライアント認証情報付与を実装します。アプリケーションは、既存の AWS 認証情報を使用して AWS サインイントークンエンドポイントに認証し、サポートされている AWS サービスへのアクセスに使用できる有効期間の短い OAuth アクセストークンを受け取ります。

クライアント認証情報は、アクセストークンのみを発行します (更新トークンは発行しません)。現在のトークンの有効期限が切れたら、新しいアクセストークンをリクエストします。

非インタラクティブ認可を使用してアプリケーションを接続する手順については、「」を参照してくださいAWS MCP サーバー

セキュリティモデル

OAuth 認可は、既存の AWS セキュリティモデルと統合されます。 AWS サインインは、以下を含む OAuth 固有の機能を使用して、この認可モデルを拡張します。

これらの機能により、管理者は、既に使用しているのと同じ IAM 認可モデルを使用して OAuth 認可を管理できます AWS。

OAuth エンドポイント

AWS サインインには、次の OAuth エンドポイントが用意されています。

Endpoint パス 説明
Authorization /v1/authorize インタラクティブ認可フローを開始します。
トークン /v1/token OAuth トークンの認可コード、更新トークン、またはクライアント認証情報を交換します。
イントロスペクション /v1/introspect OAuth トークンに関するメタデータを返します。
失効 /v1/revoke 更新トークンを取り消します。
動的クライアント登録 /v1/register 承認された OAuth クライアントを AWS サインインに登録します。許可リストに登録されたリダイレクト URIs。

で OAuth フローにこのリージョンエンドポイントを使用しますhttps://{region}.oauth.signin.aws。可能なリージョン値のリストについては、AWS 「サインインエンドポイント」の「リージョン」列を参照してください。