コンテナ認証情報プロバイダー - AWS SDK とツール

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

コンテナ認証情報プロバイダー

コンテナ認証情報プロバイダーは、お客様のコンテナ化されたアプリケーションの認証情報を取得します。この認証情報プロバイダーは、Amazon Elastic Container Service (Amazon ECS) および Amazon Elastic Kubernetes Service (Amazon EKS) をご利用のお客様に役立ちます。SDK は GET リクエストを通じて指定された HTTP エンドポイントから認証情報をロードします。

Amazon ECS を利用する場合は、認証情報の分離、認可、監査可能性を改善するために、タスク IAM ロールを使用することをお勧めします。Amazon ECS を設定すると、SDK とツールが認証情報を取得するために使用する AWS_CONTAINER_CREDENTIALS_RELATIVE_URI 環境変数が設定されます。この機能用に Amazon ECS を設定するには、「Amazon Elastic Container Service デベロッパーガイド」の「タスク IAM ロール」を参照してください。

Amazon EKS を利用する場合は、認証情報の分離、最小特権、監査可能性、独立したオペレーション、再利用性、およびスケーラビリティを改善するために、Amazon EKS Pod Identity を利用することをお勧めします。ポッドと IAM ロールの両方は、アプリケーション用に認証情報を管理するために Kubernetes サービスアカウントに関連付けられています。Amazon EKS Pod Identity の詳細については、「Amazon EKS ユーザーガイド」の「Amazon EKS Pod Identities」を参照してください。Amazon EKS を設定すると、SDK とツールが認証情報を取得するために使用する AWS_CONTAINER_CREDENTIALS_FULL_URI および AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE 環境変数が設定されます。セットアップ情報については、Amazon EKS ユーザーガイドの「Amazon EKS ポッド ID エージェントのセットアップ」または、 AWS ブログウェブサイトの「Amazon EKS ポッド ID により Amazon EKS クラスター上のアプリケーションの IAM アクセス権限が簡素化される」を参照してください。

この機能を設定するには、以下のように使用します。

AWS_CONTAINER_CREDENTIALS_FULL_URI - 環境変数

SDK が認証情報をリクエストするときに使用するフル HTTP URL エンドポイントを指定します。これにはスキームとホストの両方が含まれます。

デフォルト値: なし。

有効な値:有効な URI。

注意:この設定は AWS_CONTAINER_CREDENTIALS_RELATIVE_URI の代替であり、AWS_CONTAINER_CREDENTIALS_RELATIVE_URI が設定されていない場合にのみ使用されます。

Linux/macOS のコマンドラインによる環境変数の設定の例を以下に示します。

export AWS_CONTAINER_CREDENTIALS_FULL_URI=http://localhost/get-credentials

または

export AWS_CONTAINER_CREDENTIALS_FULL_URI=http://localhost:8080/get-credentials
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI - 環境変数

SDK が認証情報をリクエストするときに使用する相対 HTTP URL エンドポイントを指定します。値は、デフォルトの Amazon ECS ホスト名 169.254.170.2 に付加されます。

デフォルト値: [なし]。

有効な値:有効な相対 URI。

Linux/macOS のコマンドラインによる環境変数の設定の例を以下に示します。

export AWS_CONTAINER_CREDENTIALS_RELATIVE_URI=/get-credentials?a=1
AWS_CONTAINER_AUTHORIZATION_TOKEN - 環境変数

認可トークンをプレーンテキストで指定します。この変数が設定されている場合、SDK は HTTP リクエストの認証ヘッダーに環境変数の値を設定します。

デフォルト値: なし。

有効な値: 文字列。

注意:この設定は AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE の代替であり、AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE が設定されていない場合にのみ使用されます。

Linux/macOS のコマンドラインによる環境変数の設定の例を以下に示します。

export AWS_CONTAINER_CREDENTIALS_FULL_URI=http://localhost/get-credential export AWS_CONTAINER_AUTHORIZATION_TOKEN=Basic abcd
AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE - 環境変数

プレーンテキストの認可トークンを含むファイルへの絶対ファイルパスを指定します。

デフォルト値: [なし]。

有効な値: 文字列。

Linux/macOS のコマンドラインによる環境変数の設定の例を以下に示します。

export AWS_CONTAINER_CREDENTIALS_FULL_URI=http://localhost/get-credential export AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE=/path/to/token

SDK との互換性 AWS

以下の SDK は、このトピックで説明する機能と設定をサポートします。部分的な例外があれば、すべて記載されています。すべての JVM システムプロパティ設定は、 AWS SDK for Java とでのみサポートされます。 AWS SDK for Kotlin

SDK サポート 注意または詳細情報
AWS CLI v2 Yes
SDK for C++ Yes
SDK for Go V2 (1.x) Yes
SDK for Go 1.x (V1) Yes
SDK for Java 2.x Yes
SDK for Java 1.x 部分的 Amazon EKS Pod Identity および AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE はサポートされていません。
3.x JavaScript 用の SDK Yes
2.x JavaScript 用の SDK 部分的 Amazon EKS Pod Identity および AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE はサポートされていません。
SDK for Kotlin Yes
SDK for .NET 3.x Yes
SDK for PHP 3.x Yes
SDK for Python (Boto3) Yes
SDK for Ruby 3.x Yes
SDK for Rust 部分的 Amazon EKS Pod Identity および AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE はサポートされていません。
以下のためのツール PowerShell Yes