AWS SDK for Ruby の設定 - AWS SDK for Ruby

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

AWS SDK for Ruby の設定

AWS SDK for Ruby の設定方法を学習します。SDK を使用するには、AWS 認証情報を設定するか、または AWS STS アクセストークンを作成し、使用する AWS リージョンを設定します。

AWS アクセスキーを取得する

アクセスキーはアクセスキー IDシークレットアクセスキーから成り、AWS に対するプログラムによるリクエストに署名するときに使用されます アクセスキーがない場合は、マネジメントコンソールを使用して作成できます。AWS ルートアカウントのアクセスキーの代わりに、IAM のアクセスキーを使用することをお勧めします。IAM では、AWS アカウントでの AWS サービスとリソースへのアクセスを安全に制御できます。

注記

アクセスキーを作成するには、必要な IAM アクションを実行するためのアクセス許可が必要です。詳細については、IAM ユーザーガイドのパスワードポリシーと認証情報を管理する IAM ユーザー許可の付与を参照してください。

アクセスキー ID とシークレットアクセスキーを取得するには

  1. IAM コンソールを開きます。

  2. ナビゲーションメニューで [ユーザー] を選択します。

  3. IAM ユーザー名 (チェックボックスではありません) を選択します。

  4. [認証情報] タブを開き、次に [アクセスキーの作成] を選択します。

  5. 新しいアクセスキーを表示するには、[表示] を選択します。認証情報は次のようになります。

    • アクセスキー ID: AKIAIOSFODNN7EXAMPLE

    • シークレットアクセスキー: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

  6. キーペアをダウンロードするには、[Download .csv file.csv] (キーファイルのダウンロード) を選択します。このキーは

安全な場所に保存してください。

重要

AWS アカウントを保護するためにキーは機密として扱い、メールでは決して送信しないでください。また、所属している組織外にこの情報を公開してはいけません。AWS または Amazon.com を名乗る人物から問い合わせがあった場合でも、この情報は開示しないでください。Amazon のスタッフまたは関係者がこの情報を尋ねることは決してありません。

関連トピック

AWS 認証情報の設定

AWS SDK for Ruby を使用して、AWS サービスを呼び出す前に、AWS のサービスおよびリソースへのアクセスを確認するために SDK が使用する、AWS アクセス認証情報を設定する必要があります。

AWS SDK for Ruby は、次の手順で認証情報を検索します。

これらの設定はコード内で上書きできます。以下の設定が優先されます。

以下のセクションでは、認証情報を設定できるさまざまな方法を最も柔軟な方法から説明します。AWS 認証情報と認証情報管理の推奨される方法の詳細については、AWS 全般のリファレンスの AWS セキュリティの認証情報を参照してください。

共有設定は一度のみロードされ、認証情報はクライアント作成時に静的に提供されます。共有認証情報は更新されません。

共有認証情報の設定

ローカルシステム上の AWS 認証情報プロファイルのファイルで共有認証情報を設定します。

Linux または OS X のような、Unix ベースのシステムでは、このファイルは次の場所にあります。

~/.aws/credentials

Windows では、このファイルは次の場所にあります。

%HOMEPATH%\.aws\credentials

default が、これらの認証情報に付与されたデフォルトの設定プロファイルで、your_access_key_id がアクセスキーの値で、your_secret_access_key がシークレットアクセスキーの値である場合、このファイルは次の形式である必要があります。

[default] aws_access_key_id = your_access_key_id aws_secret_access_key = your_secret_access_key

環境変数を使用して認証情報を設定する

AWS_ACCESS_KEY_ID および AWS_SECRET_ACCESS_KEY 環境変数を設定する

export コマンドを使用して、Linux または OS X などの Unix ベースのシステム上でこれらの変数を設定します。次の例では、アクセスキーの値を your_access_key_id に設定し、シークレットアクセスキーの値を your_secret_access_key に設定します。

export AWS_ACCESS_KEY_ID=your_access_key_id export AWS_SECRET_ACCESS_KEY=your_secret_access_key

Windows 上でこれらの変数を設定するには、次の例に示すように、set コマンドを使用します。

set AWS_ACCESS_KEY_ID=your_access_key_id set AWS_SECRET_ACCESS_KEY=your_secret_access_key

Aws.config を使用して認証情報を設定する

Aws.config ハッシュで、値を更新することで、コードの認証情報を設定します。

次の例では、アクセスキーの値を your_access_key_idに設定し、シークレットアクセスキーの値を your_secret_access_key に設定します。その後作成するどのクライアントやリソースも、これらの認証情報を使用します。

Aws.config.update({ credentials: Aws::Credentials.new('your_access_key_id', 'your_secret_access_key') })

認証情報の場所を変更する

Aws.config を使用して標準以外の場所に認証情報を保存することもできます。

次の例では、設定を更新し、認証情報を my-path に保存します。

shared_creds = Aws::SharedCredentials.new(path: 'my_path') Aws.config.update(credentials: shared_creds)

クライアントオブジェクト内で認証情報を設定する

AWS クライアントを作成する際、指定してコードの認証情報を設定します。

次の例では、アクセスキー your_access_key_id およびシークレットアクセスキー your_secret_access_key を使用して Amazon S3 クライアントを作成します。

s3 = Aws::S3::Client.new( access_key_id: 'your_access_key_id', secret_access_key: 'your_secret_access_key' )

IAM を使用して認証情報を設定する

Amazon Elastic Compute Cloud インスタンスの場合、AWS Identity and Access Management ロールを指定し、そのロールへのアクセスを Amazon EC2 インスタンスに許可します。詳細については、Linux インスタンス用の Amazon EC2 ユーザーガイドの Amazon EC2 の IAM ロールまたは Windows インスタンス用の Amazon EC2 ユーザーガイドの Amazon EC2 の IAM ロールを参照してください。

AWS STS アクセストークンの作成

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)

リージョンの設定

AWS のほとんどのサービスでは、使用時にリージョンを設定する必要があります。AWS リージョンは AWSの認証情報の設定と似た方法で設定できます。AWS SDK for Ruby は、次の手順でリージョンを検索します。

このセクションのこれ以降の部分では、リージョンに設定する方法を最も柔軟な方法から説明します。

環境変数を使用してリージョンを設定する

AWS_REGION 環境変数を設定して、リージョンを設定します。

export コマンドを使用して、Linux または OS X などの Unix ベースのシステムでこの変数を設定します。次の例では、リージョンを us-west-2 に設定します。

export AWS_REGION=us-west-2

Windows でこれらの変数を設定するには、set コマンドを使用します。次の例では、リージョンを us-west-2 に設定します。

set AWS_REGION=us-west-2

Aws.config を使用したリージョンの設定

region 値を Aws.config ハッシュに追加してリージョンを設定します。次の例は Aws.config ハッシュを更新して us-west-1 リージョンを使用します。

Aws.config.update({region: 'us-west-1'})

その後作成するどのクライアントやリソースもこのリージョンにバインドされます。

クライアントまたはリソースオブジェクト内でのリージョンの設定

AWS クライアントまたはリソースを作成するときにリージョンを設定します。次の例では、us-west-1 リージョンに Amazon S3 リソースオブジェクトを作成します。

s3 = Aws::S3::Resource.new(region: 'us-west-1')

標準外のエンドポイントを設定する

選択したリージョンで標準外エンドポイントを使用する必要がある場合は、endpoint エントリを Aws.config に追加するか、サービスクライアントまたはリソースオブジェクトを作成するときに endpoint: を設定します。次の例では、other_endpoint エンドポイントに Amazon S3 リソースオブジェクトを作成します。

s3 = Aws::S3::Resource.new(endpoint: other_endpoint)