# Google Cloud Storage にデータをエクスポートする。 Stripe から Google Cloud Storage への定期的なデータエクスポートを自動化します。 ## Google Cloud Storage の送信先 Data Pipeline は、Stripe データをすべて Parquet ファイルとして Google Cloud Storage (GCS) バケットに配信します。ここには各テーブルのファイルディレクトリが含まれ、3 時間ごとに配信および更新が行われます。 [Watch on YouTube](https://www.youtube.com/watch?v=bVDvH0KY_ag) ## 前提条件 組み込みを開始する前に、以下にアクセスできることと権限があることを確認してください。 1. Google Cloud ストレージバケットを作成します。 2. プロビジョニングされたバケットに Stripe がオブジェクトを作成できるようにするサービスアカウントを作成します。 3. Stripe ダッシュボードに管理者としてアクセスします。 ## Google Cloud プロジェクトを選択する 1. [Google Cloud コンソール](https://console.cloud.google.com/)に移動します。 2. Stripe データの送信先となるプロジェクトを選択します。 ## 新しいサービスアカウントを作成して JSON キーを生成する 1. [サービスアカウント](https://console.cloud.google.com/iam-admin/serviceaccounts) ページで、正しい Google Cloud プロジェクトを使用していることを確認します。 2. **+ サービスアカウントを作成** をクリックします。 3. サービスアカウントの名前を入力します (例:「-stripe-data-pipeline」)。 4. 説明を追加します (「このロールにより、Stripe はバケットにデータファイルをアップロードできるようになります」など)。 5. **CREATE AND CONTINUE** をクリックします。 6. **ロールを選択** ドロップダウンで、`Storage Object User`、`Storage Object Creator`、`Storage Insights Collector Service` の 3 つのロールを追加します。 7. **DONE** をクリックします。 8. 新しい [サービスアカウント](https://console.cloud.google.com/iam-admin/serviceaccounts) で、**アクション** メニューで **キーの管理** をクリックします。 9. **キーを追加** をクリックし、**新しいキーを作成** を選択します。 10. **キータイプ JSON** を選択し、**作成** をクリックします。 JSON ファイルがデバイスにダウンロードされます。 ## 新しいバケットを作成 1. [Google Cloud コンソール](https://console.cloud.google.com/storage/browser) で **Cloud Storage** > **バケット** に移動して、適切な Google Cloud プロジェクトを使用していることを確認します。 2. **+ CREATE** をクリックします。 3. **名前** フィールドは、「 -stripe-data」など「stripe」を含む名前を推奨しています。 4. **店舗タイプ** は、 **マルチリージョンアメリカ** を推奨しています。 5. **ストレージクラス** は、**デフォルトクラスを設定 - Standard** を推奨しています。 6. **アクセス制御** は、**Uniform** アクセス制御による **パブリックアクセスをブロック** を選択します。 7. **作成** ボタンをクリックして、バケットを作成します。 8. 新しく作成したバケットの **許可** タブを選択します。 9. **プリンシパル別に表示** タブの **許可** で、前のステップで作成したサービスアカウントの横にあるボックスをチェックします。 > バケットに保持ポリシーを設定すると、バケット内のファイルを削除したり上書きしたりする機能が制限されるため、データのエクスポートに失敗する可能性があります。 ## Optional: 暗号化キーを生成 Stripe は顧客所有のキーによる PGP 暗号化を使用して、Stripe からストレージバケットへのデータ転送を暗号化する機能を提供します。これにより保護を強化し、転送中や保存中のデータの安全性を確保できます。 PGP 暗号化を無効にすることができますが、その場合、設定を誤ったり、権限のない第三者がバケットにアクセスした場合にデータ漏洩のリスクが高まります。暗号化を有効にしておくことで、データ保護を最高レベルに保つことができます。 1. コマンドラインインターフェイス (ターミナル) を開きます。 2. `gpg --full-generate-key` コマンドを実行してキーペアを作成します。 3. メッセージが表示されたら、希望のタイプ、サイズ、有効期限を選択します。以下を推奨しています。 - **種類**: (1) RSA と RSA (デフォルト) - **ビット長**: 4096 - **キーの有効期間**: 0 (有効期限なし) 4. **y** と入力し、**Enter** キーを押してこれが正しいことを確認します。 5. 設定 > Business > アカウントの詳細でアカウント ID (`acct_1234`) を見つけて、実際の名前で入力します。メールとコメントは空白のままにします。 6. 「O」と入力して、 **Enter** をクリックして確認します。 7. パスフレーズのプロンプトで、*何も入力しないでください*。代わりに、**Enter** を押して、「はい、保護は必要ありません」を選択します。この手順を繰り返して、選択を確定します。 8. コマンドラインインターフェイス (端末) の出力で、先ほど作成したキーの場所を探し、キー ID (`pub` 行の最後にある 16 進数の長い文字列) を書き留めます。 9. 公開キーをエクスポートするには、`gpg --output acct_1234.key --armor --export your-key-id` コマンドを入力し、`your-key-id` を前のステップで確認した 16 進数のキー ID に置き換えます。 10. これで公開キーファイル (acct_1234.key) は現在のディレクトリに保存されます。 > Stripe が、お客様が提供したキーでデータを暗号化し、お客様は、google cloud stroage で復号化します。 ## Google Cloud Storage 接続を確立する 1. [Data Pipeline ダッシュボード](https://dashboard.stripe.com/settings/stripe-data-pipeline)にアクセスします。 2. **Get started** をクリックします。 3. Google Cloud Storage ロゴを選択して、**続行 -> ** をクリックします。このステップではバケット名を生成します。 4. 前のステップで生成されたバケット名を入力します。 5. 前に生成したサービスアカウント `.json` ファイルをアップロードします。 6. データ暗号化オプションを選択します。顧客管理キーを使用する場合は、公開キーをアップロードしてください。 7. **次へ** ボタンをクリックします。このボタンをクリックすると、指定したバケットにテストデータが送信されますが、本番データは送信されません。 8. テストデータの送信を確認したら、[Cloud Storage バケット](https://console.cloud.google.com/storage/browser) に移動します。 9. バケットを開き、**penny\_test** ディレクトリに移動します。次に **acct\_** または **org\_** というプレフィックスのサブディレクトリを開き、送信された `account_validation.csv` テストファイルを探します。 10. **account\_validation.csv** ファイルをクリックします。 11. **DOWNLOAD**をクリックします。 12. **テスト値ファイルをアップロード** をクリックして、ダウンロードした `account_validation.csv` をアップロードします。 13. **Confirm value** をクリックします。 14. テスト値を確認したら、**登録** をクリックします。これにより製品に登録され、Google Cloud Storage バケットに配信される全データの最初の読み込みがスケジュールされます。このプロセスは 6 ~ 12 時間かかる場合があります。 \*Google Cloud Storage は Google LLC の商標です。