# Amazon S3 へのデータのエクスポート Stripe から AWS S3 ストレージバケットへの定期的なデータエクスポートを自動化します。 Data Pipeline は、Stripe データのコピーをすべて Parquet ファイルとして Amazon S3 ストレージバケットに配信します。ここには各テーブルのファイルディレクトリが含まれ、3 時間ごとに配信および更新が行われます。 [Watch on YouTube](https://www.youtube.com/watch?v=AJu-We2Jhmk) ## 前提条件 連携を開始する前に、有効な AWS アカウントと以下の権限があることを確認してください。 1. Amazon S3 バケットを作成します。 1. プロビジョニングされたバケットに Stripe がオブジェクトを作成できるようにするための IAM ロールを作成します。 1. 管理者または開発者のロールで Stripe ダッシュボードにアクセスします。 ## バケットを作成する 1. 選択したアカウント地域の [Amazon S3 コンソール](https://s3.console.aws.amazon.com/) に移動します。 1. 必要に応じて、新しいストレージバケットを作成します。 - 現在 S3 バケットがない場合は、[AWS ガイドラインに従って最初のバケットを作成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html) します。名前に「Stripe」を含めることをお勧めします (「-stripe-data」など)。 1. このバケット名とリージョンは後のステップで必要になるため、書き留めておきます。 ## アカウント登録プロセスを開始する 1. [Data Pipeline ダッシュボード](https://dashboard.stripe.com/settings/stripe-data-pipeline) にアクセスします。 1. **開始** をクリックします。 1. Amazon S3 を選択します。 1. この権限のステップでは、IAM ロールと信頼ポリシーの作成時に使用できるコードブロックを確認できます。 ## 新しい権限ポリシーを作成する 新しい権限ポリシーを作成するには、以下の手順に従います。 1. [AWS IAM コンソール](https://console.aws.amazon.com/iam/) で、**ポリシー** > **ポリシーを作成** > **JSON** をクリックします。 1. Stripe アカウント登録ステップから提供されている JSON スニペットを貼り付けます。 1. JSON スニペットの Resource セクションで、`` をバケット名に置き換えます。 1. 新しいポリシーの名前を指定します (例:`stripe-data-pipeline-policy`)。 1. **ポリシーの作成** をクリックします。 ## カスタムポリシーを使用して新しい信頼のロールを作成する カスタムポリシーを使用して新しいロールを作成するには、以下の手順に従います。 1. [AWS IAMコンソール](https://console.aws.amazon.com/iam/) で、**ロール** > **ロールの作成** > **Custom Trust Policy** をクリックします。 1. Stripe アカウント登録ステップから提供されている JSON スニペットを貼り付けます。 1. **次へ** をクリックして、ステップ 4 で新しく作成した権限ポリシーを選択します。 1. `stripe-data-pipeline-s3-role` という名前でロールを保存します。この正確な名前を使用する必要があります。 ## AWS S3 への接続を確立する 1. Stripe Data Pipeline アカウント登録プロセスに戻ります。 1. 前のステップで生成された AWS アカウント ID、バケット名、リージョンを入力します。 1. データ暗号化オプションを選択します。顧客管理キーを使用する場合は、公開キーをアップロードしてください。[暗号化キー](https://docs.stripe.com/stripe-data/access-data-in-warehouse/cloud-storage/aws-s3-storage.md#generate-encryption-keys) の作成方法については、作成手順をご確認ください。 1. **次へ** をクリックします。**次へ** をクリックすると、指定したバケットにテストデータが送信されますが、本番データは送信されません。 1. テストデータの送信を確認したら、[S3 バケット](https://s3.console.aws.amazon.com/) に移動します。 1. バケットを開き、**penny\_test** ディレクトリに移動します。次に **acct\_** または **org\_** というプレフィックスのサブディレクトリを開き、送信された `account_validation.csv` テストファイルを探します。 1. `account_validation.csv` ファイルをダウンロードします。 1. このテストファイルをデータパイプラインのアカウント登録ステップにアップロードします。 1. **値を確定** をクリックします。 1. テスト値を確認したら、**登録** をクリックします。これにより製品に登録され、Amazon S3 バケットに配信される全データの最初の読み込みがスケジュールされます。このプロセスは 6 ~ 12 時間かかる場合があります。 ## Optional: 暗号化キーを生成 Stripe は顧客所有のキーによる PGP 暗号化を使用して、Stripe からストレージバケットへのデータ転送を暗号化する機能を提供します。これにより保護を強化し、転送中や保存中のデータの安全性を確保できます。 PGP 暗号化を無効にすることができますが、その場合、設定を誤ったり、権限のない第三者がバケットにアクセスした場合にデータ漏洩のリスクが高まります。暗号化を有効にしておくことで、データ保護を最高レベルに保つことができます。 1. コマンドラインインターフェイス (ターミナル) を開きます。 1. `gpg --full-generate-key` コマンドを実行してキーペアを作成します。 1. メッセージが表示されたら、希望のタイプ、サイズ、有効期限を選択します。以下を推奨しています。 - **種類**: (1) RSA と RSA (デフォルト) - **ビット長**: 4096 - **キーの有効期間**: 0 (有効期限なし) 1. 「y」と入力して、**Enter** キーを押し、操作が正しいことを確定します。 1. 設定 > Business > アカウントの詳細でアカウント ID (`acct_1234`) を見つけて、実際の名前で入力します。メールとコメントは空白のままにします。 1. 「O」と入力して、 **Enter** をクリックして確認します。 1. パスフレーズのプロンプトで、*何も入力しないでください*。代わりに、**Enter** を押して、「はい、保護は必要ありません」を選択します。この手順を繰り返して、選択を確定します。 1. コマンドラインインターフェイス (端末) の出力で、先ほど作成したキーの場所を探し、キー ID (`pub` 行の最後にある 16 進数の長い文字列) を書き留めます。 1. 公開キーをエクスポートするには、`gpg --output acct_1234.key --armor --export your-key-id` コマンドを入力し、`your-key-id` を前のステップで確認した 16 進数のキー ID に置き換えます。 1. これで公開キーファイル (acct_1234.key) は現在のディレクトリに保存されます。 > Stripe はお客様が指定したキーを使用してデータを暗号化し、お客様は Amazon S3 で復号化します。