DynamoDB-WebIDフェデレーション

Web Identity Federationを使用すると、大規模なユーザーグループの認証と承認を簡素化できます。個々のアカウントの作成をスキップして、一時的な資格情報またはトークンを取得するためにユーザーにIDプロバイダーへのログインを要求できます。AWS Security Token Service(STS)を使用して認証情報を管理します。アプリケーションはこれらのトークンを使用してサービスと対話します。

Web Identity Federationは、Amazon、Google、Facebookなどの他のIDプロバイダーもサポートしています。

Function−使用中、Web Identity Federationは最初にユーザーとアプリの認証のためにIDプロバイダーを呼び出し、プロバイダーはトークンを返します。これにより、アプリはAWS STSを呼び出し、入力用のトークンを渡します。STSはアプリを承認し、一時的なアクセス認証情報を付与します。これにより、アプリはIAMロールを使用し、ポリシーに基づいてリソースにアクセスできます。

WebIDフェデレーションの実装

使用する前に、次の3つの手順を実行する必要があります-

  • サポートされているサードパーティのIDプロバイダーを使用して、開発者として登録します。

  • アプリケーションをプロバイダーに登録して、アプリIDを取得します。

  • ポリシーの添付を含め、単一または複数のIAMロールを作成します。アプリごとにプロバイダーごとに役割を使用する必要があります。

Web IdentityFederationを使用するIAMロールの1つを想定します。次に、アプリは3段階のプロセスを実行する必要があります-

  • Authentication
  • 資格情報の取得
  • リソースアクセス

最初のステップでは、アプリは独自のインターフェースを使用してプロバイダーを呼び出し、トークンプロセスを管理します。

次に、ステップ2でトークンを管理し、アプリに AssumeRoleWithWebIdentityAWSSTSへのリクエスト。リクエストには、最初のトークン、プロバイダーアプリID、およびIAMロールのARNが含まれます。STSは、特定の期間が経過すると期限切れになるように設定された資格情報を提供します。

最後のステップで、アプリはDynamoDBリソースのアクセス情報を含む応答をSTSから受信します。これは、アクセス資格情報、有効期限、ロール、およびロールIDで構成されます。