翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SDK for Ruby 認証情報プロバイダーの使用
へのすべてのリクエストは、 によって発行された認証情報を使用して暗号的に署名 AWS する必要があります AWS。実行時、SDK は複数の場所を確認して認証情報の設定値を取得します。
を使用した認証は AWS 、コードベース外で処理できます。多くの認証方法は、認証情報プロバイダーチェーンを使用して、SDK によって自動的に検出、使用、更新されます。
プロジェクトの AWS 認証を開始するためのガイド付きオプションについては、 SDK およびツールリファレンスガイドの「認証とアクセス」を参照してください。 AWS SDKs
認証情報プロバイダーチェーン
すべての SDK には、 AWS のサービスに対するリクエストに使用する有効な認証情報を取得するためにチェックする一連の場所 (またはソース) があります。有効な認証情報が見つかると、検索は停止されます。この体系的な検索は、デフォルトの認証情報プロバイダーチェーンと呼ばれます。
注記
新しいユーザーが開始するための推奨アプローチに従った場合は、 中にコンソール認証情報を使用したログインを使用して認証しましたAWS SDK for Ruby AWS を使用した での認証。その他の認証方法もさまざまな状況で役に立ちます。セキュリティリスクを避けるため、常に短期の認証情報を使用することをお勧めします。その他の認証方法については、『AWS SDK とツールのリファレンスガイド』の「認証とアクセス」を参照してください。
チェーンのステップごとに、値を設定するさまざまな方法があります。コード内で直接値を設定することが常に優先され、次に環境変数として を設定し、共有ファイルで を設定します AWS config。
AWS SDKsおよびツールリファレンスガイドには、すべての SDK および で使用される AWS SDKs 設定に関する情報が記載されています AWS CLI。共有 AWS configファイルを使用して SDK を設定する方法の詳細については、「共有設定ファイルと認証情報ファイル」を参照してください。環境変数を設定して SDK を設定する方法の詳細については、「環境変数のサポート」を参照してください。
で認証するために AWS、 AWS SDK for Ruby は認証情報プロバイダーを次の表に示す順序でチェックします。
| 認証情報プロバイダー (優先順位順) | AWS SDKsとツールのリファレンスガイド | AWS SDK for Ruby API リファレンス |
|---|---|---|
| AWS アクセスキー (一時的および長期的な認証情報) | AWS アクセスキー | |
| AWS Security Token Service (AWS STS) からのウェブ ID トークン | ロール認証情報プロバイダーを引き受けます
|
Aws::AssumeRoleWebIdentityCredentials
|
| AWS IAM Identity Center。 このガイドでは、AWS SDK for Ruby AWS を使用した での認証 を参照してください。 | IAM Identity Center 認証情報プロバイダー | Aws::SSOCredentials |
信頼されたエンティティプロバイダー (AWS_ROLE_ARN など) このガイドでは、「AWS STS アクセストークンの作成」を参照してください。 |
ロール認証情報プロバイダーを引き受けます
|
Aws::AssumeRoleCredentials |
| ログイン認証情報プロバイダー | ログイン認証情報プロバイダー | Aws::LoginCredentials |
| プロセス認証情報プロバイダー | プロセス認証情報プロバイダー | Aws::ProcessCredentials |
| Amazon Elastic Container Service (Amazon ECS) の認証情報。 | コンテナ認証情報プロバイダー | Aws::ECSCredentials |
| Amazon Elastic Compute Cloud (Amazon EC2) インスタンスプロファイル認証情報 (IMDS 認証情報プロバイダー) | IMDS 認証情報プロバイダー | Aws::InstanceProfileCredentials |
AWS SDK for Ruby 環境変数AWS_SDK_CONFIG_OPT_OUTが設定されている場合、共有 AWS configファイルは、通常は で ~/.aws/config、認証情報について解析されません。
AWS STS アクセストークンの作成
ロールを引き受けるには、通常はアクセスできない AWS リソースにアクセスするために使用できる一時的なセキュリティ認証情報のセットを使用します。これらの一時的な認証情報は、アクセスキー ID、シークレットアクセスキー、およびセキュリティトークンで構成されています。Aws::AssumeRoleCredentials メソッドを使用して AWS Security Token Service (AWS STS) アクセストークンを作成できます。
次の例では、linked::account::arn が引き受けるロールの Amazon リソースネーム (ARN) で、session-name が引き受けたロールセッションの識別子である場合、アクセストークンを使用して Amazon S3 クライアントオブジェクトを作成します。
role_credentials = Aws::AssumeRoleCredentials.new( client: Aws::STS::Client.new, role_arn: "linked::account::arn", role_session_name: "session-name" ) s3 = Aws::S3::Client.new(credentials: role_credentials)
role_arn または の設定、または共有ファイルを使用した設定の詳細についてはrole_session_name、「 SDK およびツールリファレンスガイド」の AWS config「ロール認証情報プロバイダーを引き受ける」を参照してください。 AWS SDKs