# tS3Connection

データを保管および取得するAmazon S3への接続を確立します。

## tS3Connectionの標準プロパティ

これらのプロパティは、標準のジョブのフレームワークで実行されているtS3Connectionを設定するために使われます。

標準のtS3Connectionコンポーネントは、Cloudファミリーに属しています。

このフレームワーク内のコンポーネントは、すべてのTalend製品で利用できます。

## 基本設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [Property type] (プロパティタイプ) | [Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。<br><br>[Built-In] (組み込み): 一元的に保存されるプロパティデータはありません。<br><br>[Repository] (リポジトリー): プロパティが保存されているリポジトリーファイルを選択します。 |
| [Credential Provider] (認証情報プロバイダー) | AWSのセキュリティ認証情報を取得する方法を指定します。<br><br><ul> <li><span>[Static credentials] (静的認証情報)</span>: <span>access key</span>と<span>secret key</span>をAWSセキュリティ認証情報として使用します。</li> <li><span>Inherit credentials from AWS role</span>: EMRインスタンスメタデータからAWSセキュリティ認証情報を取得します。このオプションを使用するには、Amazon EMRクラスターを開始する必要があり、このクラスターでジョブを実行する必要があります。詳細は、<a href="http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html" target="_blank">Using an IAM Role to Grant Permissions to Applications Running on Amazon EC2 Instances</a>をご覧ください。このオプションを使用すると、ジョブにAWSキーを配置せずにジョブを開発できるため、組織のセキュリティポリシーに簡単に準拠できます。</li> <li><span>[Web Identity Token] (ウェブIDトークン)</span>: Amazon S3接続を確立するためにWebトークンを使用します。</li> <li> <p><span>Profile credentials or inherit from AWS role</span>: ファイル(プロファイル設定ファイル)に保存されている認証情報をAWSセキュリティ認証情報として使うか、AWSロールからAWSセキュリティ認証情報を継承します。 </p> <p>AWSセキュリティ認証情報は、プロファイル設定ファイルで、プロファイルにグルーピングできます。プロファイル設定ファイルには、1つ以上のプロファイルを含めます。オプションで、<span>[Profile path] (プロファイルパス)</span>フィールドでプロファイル設定ファイルを、<span>[Profire name] (プロファイル名)</span>フィールドで使用されるプロファイルを指定できます。 </p> <p><span>[Profile path] (プロファイルパス)</span>フィールドと<span>[Profile name] (プロファイル名)</span>フィールドが空のままである場合は、 <span>&lt;user folder&gt;/.aws/credentials</span>プロファイル設定ファイルとして使われ、<span>default</span>という名前の付いたプロファイルが使われます。 </p> <p>EC2インスタンスの場合は、プロファイル(特定またはデフォルトのプロファイル)が存在しないと、コンポーネントがAWSロールからセキュリティ認証情報を継承することを試行します。 </p> </li> </ul><br><br>このオプションはダイナミックパラメーターとして動作するほか、コンテキスト変数を使って値を割り当てることもできます。<br><br>情報メモ注: tRedshiftBulkExec、 tRedshiftOutputBulk、tRedshiftOutputBulkExecは、[Static Credentials] (静的認証情報)または[Inherit credentials from AWS role] (AWSロールから認証情報を継承)である[Credential Provider] (認証情報プロバイダー)で確立されたS3接続のみをサポートします。 |
| [Assume role] (ロールを引き受け) | AWS IAMロールに関連付けられており、自分のユーザーアカウントに付与されていないアクセス権限を一時的に必要とする場合は、このチェックボックスをオンにすればそのロールを引き受けることができます。その後、次のパラメーターの値を指定して、新しく引き受けたロールセッションを作成します。<br><br>このロールに関連付けられている信頼ポリシーによって、自分のユーザーアカウントにそのロールへのアクセスが付与されていることをご確認ください。不明であれば、そのロールの所有者かAWS管理者にお問い合わせください。<br><br><ul> <li><p><span>ARN</span>: 引き受けるロールのARN (Amazonリソース名)。このARN名は、AWSポータルで使用するロールの<span>[Summary] (概要)</span>ページで見つかります。このロールARNの形式は、たとえば<kbd>am:aws:iam::[aws_account_number]:role/[role_name]</kbd>となります。 </p><span>[Role session name] (ロールセッション名)</span>: 引き受けたロールセッションの一意識別に使用する名前を入力します。この名前には英字(大文字と小文字の両方)と数字を利用できますが、スペースを含めることはできません。また、アンダースコア( _ )の他、= , . @ - も使用できます。 </li> <li> <p><span>[Session duration (minutes)] (セッション処理時間(分))</span>: 引き受けたロールセッションをアクティブにする期間(分)。この期間をAWS管理者が設定した最大期間より長くすることはできません。値を指定しない場合、持続時間は3600秒がデフォルトとなります。 </p> </li> </ul><br><br><br>IAMロールと関連するポリシータイプの例については、AWSドキュメンテーションで[\[Create and Manage AWS IAM Roles\] (AWS IAMロールの作成と管理)](https://aws.amazon.com/blogs/security/now-create-and-manage-aws-iam-roles-more-easily-with-the-updated-iam-console/)をご覧ください。<br><br>情報メモトラブルシューティング: [Access denied] (アクセス拒否)エラーが表示された場合は、次の操作を試してください:<br><br><ul> <li><span>[Advanced settings] (詳細設定)</span>の<span>[Check S3 Accessibility] (S3のアクセシビリティをチェック)</span>オプションをオフにする。</li> <li><span>[Check S3 Accessibility] (S3のアクセシビリティをチェック)</span>を選択したまま、<span>[By Bucket Configuration] (バケット設定による)</span>メソッドを選択する。</li> </ul> |
| [Region] (リージョン) | リージョン名を選択するか、二重引用符で囲んで(*"us-east-1"*など)、AWSリージョンを指定します。AWSリージョンの詳細の詳細は、[Regions and Endpoints](http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)をご覧ください。 |
| [Client-side encryption] (クライアント側の暗号化) | このチェックボックスをオンにすると、[Key type] (キータイプ)ドロップダウンリストが表示されるので、Amazon S3への送信前にクライアント側でデータを暗号化するための3つのオプションのうちいずれか1つを選択します。詳細は、[Protecting Data Using Client-Side Encryption](http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html)をご覧ください。<br><br><ul> <li> <p> <span>[KMS-managed customer master key] (KMS管理顧客マスターキー)</span>: クライアント側のデータ暗号化にKMS管理顧客(CMK)マスターキーを使用します。<span>[Key] (キー)</span>フィールドには、AWS KMS顧客マスターキーID(CMK ID)を指定する必要があります。</p> </li> <li> <p> <span>[Symmetric Master Key] (対称マスターキー)</span>: クライアント側のデータ暗号化に対称マスターキー(256ビットAESシークレットキー)を使用します。</p> <ul> <li> <p> <span>[Algorithm] (アルゴリズム)</span>: キーに関連付けられたアルゴリズムをリストから選択します。デフォルトでは、<span>AES</span>というアルゴリズム以外はありません。</p> </li> <li> <p> <span>[Encoding] (エンコーディング)</span>: キーに関連付けられたエンコーディングのタイプ、<span>Base64</span>または<span>X509</span>のいずれかをリストから選択します。</p> </li> <li> <p> <span>[Key] (キー)</span>または<span>[Key file] (キーファイル)</span>: キーを保存するキーまたはファイルのパスを指定します。</p> </li> </ul> </li> <li> <p> <span>[Asymmetric Master Key] (非対称マスターキー)</span>: クライアント側のデータ暗号化に非対称マスターキー(1024ビットRSAキーペア)を使用します。</p> <ul> <li> <p> <span>[Algorithm] (アルゴリズム)</span>: キーに関連付けられたアルゴリズムをリストから選択します。デフォルトでは、<span>RSA</span>というアルゴリズム以外はありません。</p> </li> <li> <p> <span>[Public key file] (パブリックキーファイル)</span>: パブリックキーファイルのパスを指定します。</p> </li> <li> <p> <span>[Private key file] (プライベートキーファイル)</span>: プライベートキーファイルのパスを指定します。</p> </li> </ul> </li> </ul> |

## 詳細設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。 |
| Use a custom region endpoint (カスタムリージョンのエンドポイントを使用) | カスタムエンドを使用する場合にこのチェックボックスをオンにし、使用するカスタムエンドポイントのURLを、表示されたフィールドに指定します。<br><br>このオプションはダイナミックパラメーターとして動作するほか、コンテキスト変数を使って値を割り当てることもできます。 |
| [Signing region] (サインインリージョン) | STSサービスのAWSリージョンを選択します。リストにリージョンがない場合は、リージョン名を二重引用付きで入力します。デフォルト値はus-east-1です。<br><br>このドロップダウンリストは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [Enable path style access] (パス形式アクセスを有効化) | パススタイルのアクセスを有効にするには、このオプションを選択します。関連情報については、 [\[Path-Style Requests\] (パススタイルリクエスト)](https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#path-style-access) をクリックしてください。2020年9月30日以降に作成されたバケットは、仮想ホストスタイルのリクエストのみをサポートすることにご注意ください。パススタイルのリクエストは、この日付以前に作成されたバケットで引き続きサポートされます。<br><br>このオプションは [Use a custom region endpoint] (カスタムリージョンエンドポイントを使用する) が選択されている場合に使用できます。<br><br>このオプションはダイナミックパラメーターとして動作するほか、コンテキスト変数を使って値を割り当てることもできます。<br><br>情報メモ警告: パススタイルのアクセスは、アクセラレーションモードでは機能しません。したがって、このオプションをオンにするときは、[Enable Accelerate Mode] (加速モードを有効にする)がオフになっていることをご確認ください。 |
| [Specify STS endpoint] (STSエンドポイントを指定) | このチェックボックスをオンにして、表示されたフィールドで、セッション認証情報の取得先とするAWS Security Token Service(STS)のエンドポイントを指定します。たとえばsts.amazonaws.comと入力します。<br><br>このサービスを利用すれば、AWSユーザー認証のため、一時的かつ権限が限定された認証情報を要求できます。そのため、使用するAWSアカウントを認証する場合は引き続きアクセスキーとシークレットキーを入力する必要があります。<br><br>使用できる STSエンドポイントの一覧の詳細は、[\[AWS Security Token Service\] (AWSセキュリティトークンサービス)](https://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region)をご覧ください。STS一時認証情報の詳細の詳細は、[\[Temporary Security Credentials\] (一時的なセキュリティ認証情報)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)をご覧ください。両方の記事はAWSドキュメントからのものです。<br><br>このチェックボックスは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [External ID] (外部ID) | ロールの持ち主であるアカウントの管理者から外部IDを提供されている場合は、その値をここに入力します。[External Id] (外部ID)は、一定数のユーザーがロールを引き受けられるようにする一意の識別子です。<br><br>このフィールドは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [Serial number] (シリアル番号) | ロールを引き受けた場合、そのロールの信頼ポリシーで多エレメント認証(MFA)が必要になることがあります。その際は、ロールを引き受けるユーザーに関連付けられているハードウェアや仮想MFAデバイスの識別番号を指定する必要があります。<br><br>このフィールドは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [Token code] (トークンコード) | ロールを引き受けた場合、そのロールの信頼ポリシーで多エレメント認証(MFA)が必要になることがあります。その際は、トークンコードを指定する必要があります。このトークンコードは、MFAデバイスによって生成される時間ベースのワンタイムパスワードです。<br><br>このフィールドは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [Tags] (タグ) | キー-値ペアという形式でセッションタグをリスト表示します。ポリシーでこれらのセッションタグを使えば、リクエストへのアクセスを許可したり拒否したりできます。<br><br>[Transitive] (推移的): このチェックボックスをオンにすると、タグがロールチェーンの次のロールまで存続することが示されます。<br><br>タグの詳細は、 [AWS STSでのセッションタグの受け渡し](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining)をご覧ください。<br><br>このフィールドは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [IAM policy ARNs] (IAMポリシーARN) | マネージドセッションポリシーとして使うIAMマネージドポリシーのAmazon Resource Names(ARN)を入力します。マネージドセッションポリシーを使ってセッションの権限を制限します。このポリシーはロールと同じアカウントに存在することが必要です。結果として得られるセッションの権限は、そのロールのIDベースのポリシーとセッションポリシーの中間となります。<br><br>セッションポリシーの詳細は、[ポリシーとアクセス許可](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access_policies.html)で該当するセクションをご覧ください。<br><br>このフィールドは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [Policy] (ポリシー) | セッションポリシーとして使うIAMポリシーをJSON形式で入力します。セッションポリシーを使ってセッションの権限を制限します。結果として得られるセッションの権限は、そのロールのIDベースのポリシーとセッションポリシーの中間となります。<br><br>セッションポリシーの詳細は、[ポリシーとアクセス許可](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access_policies.html)で該当するセクションをご覧ください。<br><br>このフィールドは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [Config client] (クライアント設定) | このチェックボックスをオンにし、[+]ボタンをクリックして、クライアントパラメーターごとに必要な行を追加し、各パラメーターに以下のフィールドの値を設定します:<br><br><ul> <li> <p> <span>[Client Parameter] (クライアントパラメーター)</span>: セルをクリックし、リストからクライアントパラメーターを選択します。 </p> </li> <li> <p> <span>[Value] (値)</span>: 選択したパラメーターの値を入力します。 </p> </li> </ul><br><br>詳細は、[AWSのドキュメンテーション](https://docs.aws.amazon.com/ja_jp/sdk-for-java/v1/developer-guide/section-client-configuration.html)をお読みください。 |
| [Check S3 Accessibility] (S3のアクセシビリティをチェック) | このチェックボックスをオンにしたままにしておくと、コンポーネントは、S3への接続要求に使う認証情報を検証してから、次のアクションに進みます。この確認には、デフォルトの[By Account Owner] (アカウント所有者による)オプションを使うことをお勧めします。[By Bucket Configuration] (バケット設定による)オプションは、状況によってはネットワーク負荷を大幅に増加させうる古い検証アプローチを採用しています。<br><br>情報メモトラブルシューティング:<br><br><ul> <li>接続チェックが失敗した場合は、<span>s3:ListAllMyBuckets</span>メソッドか<span>s3:GetBucketLogging</span>メソッドがS3で有効になっていることを確認します。</li> <li>アクセス拒否エラーが表示された場合は、<span>[Basic settings] (基本設定)</span>で<span>[Assume Role] (ロールを引き受け)</span>オプションをクリアにするか、<span>[Assume Role] (ロールを引き受け)</span>を選択したまま<span>[By Bucket Configuration] (バケット設定による)</span>メソッドを選択します。</li> </ul> |
| [Enable Accelerate Mode] (加速モードを有効化) | このチェックボックスをオンにすると、クライアントとS3バケットの間の距離が長い場合でもファイルを高速、簡単また安全な転送できるようになります。選択する場合、事前にS3バケットでこの加速モードを有効にしておく必要があります。<br><br>このオプションはダイナミックパラメーターとして動作するほか、コンテキスト変数を使って値を割り当てることもできます。<br><br>情報メモ警告: このオプションは、パススタイルのアクセスでは機能しません。したがって、このオプションをオンにするときは、[Enable PathStyleAccess] (PathStyleAccessを有効化)がオフになっていることをご確認ください。 |

## [Global Variables] (グローバル変数)

| 変数 | 説明 |
| --- | --- |
| ERROR\_MESSAGE | エラー発生時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントは、開始コンポーネントとして他のS3コンポーネントと共に使います。 |
| [Dynamic settings] (ダイナミック設定) | [+]ボタンをクリックしてテーブルに行を追加し、[Code] (コード)フィールドにコンテキスト変数を入力して、ジョブ内で計画した複数の接続からデータベース接続をダイナミックに選択します。この機能は、データストラクチャーが同じでデータベースが異なるデータベーステーブルにアクセスする必要がある場合、特に、Talend Studioを介さずにジョブをデプロイおよび実行する必要がある時など、ジョブの設定を変更できない環境で作業している場合に役立ちます。<br><br>ダイナミックパラメーターの定義法を示すユースケースについては、[コンテキストベースのダイナミック接続によってデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/8.0/components/defining-context-groups/reading-data-from-databases-through-context-based-dynamic-connections)と、[ダイナミックにロードされた接続パラメーターを使って異なるMySQLデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/8.0/components/context/reading-data-from-different-mysql-databases-using-dynamically-loaded-connection-parameters)をご覧ください。ダイナミック設定とコンテキスト変数の詳細は、[ダイナミックスキーマ](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/dynamic-schema)と[コンテキストグループを作成し、その中でコンテキスト変数を定義](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/creating-context-group-and-define-context-variables-in-it)をご覧ください。 |

**関連概念**

* [バケットからバケットにS3オブジェクトをコピー](https://help.qlik.com/talend/ja-JP/components/8.0/amazon-s3/ts3copy-ts3connection-tlogrow-copying-s3-object-from-one-bucket-to-another-standard-component-this)
* [Amazon S3でファイルを交換](https://help.qlik.com/talend/ja-JP/components/8.0/amazon-s3/ts3put-ts3get-ts3connection-exchange-files-with-amazon-s3-standard-component-in-this)
* [バケットにある同じプレフィックスのファイルをリスト表示](https://help.qlik.com/talend/ja-JP/components/8.0/amazon-s3/ts3list-ts3connection-tlogrow-listing-files-with-same-prefix-from-bucket-standard-component-in-this)
* [バケットが存在しないことを確認し、作成して、S3バケットをすべてリスト表示](https://help.qlik.com/talend/ja-JP/components/8.0/amazon-s3/ts3bucketlist-ts3bucketexist-tlogrow-verifing-absence-of-bucket-creating-it-and-listing-all-s3-buckets-standard-component-in-this)