Amazon S3
Amazon S3は、Amazon Web Servicesが提供する高度にスケーラブルなストレージシステムです。
クラウドストレージプロバイダーを切り替える場合は、Brazeカスタマーサクセスマネージャーに連絡して、新しい統合の設定と検証についてさらにサポートを受けてください。
Braze と Amazon S3 の統合は、2 つの統合戦略を特徴としています。
- Currents を利用すると、他のプラットフォーム、ツール、ロケーションに接続するまでデータを保存できます。
- ダッシュボードのデータエクスポート (CSV エクスポートやエンゲージメントレポートなど) を使用します。
前提条件
| 必要条件 | 説明 |
|---|---|
| Amazon S3 アカウント | この提携を利用するには、Amazon S3アカウントが必要だ。 |
| 専用 S3 バケット | Amazon S3 と統合するには、アプリ用の S3 バケットを作成する必要があります。 すでに S3バケットがある場合は、Braze 専用の新しいバケットを作成することをお勧めします。これにより、権限を制限できるようになります。新しいバケットを作成する方法については、次の手順を参照してください。 |
| Currents | Amazon S3にデータをエクスポートするには、アカウントにBraze Currentsを設定する必要がある。メッセージアーカイブの設定だけなら、Currentsは必要ない。 |
新しい S3 バケットの作成
アプリのバケットを作成するには、以下の手順を実行します。
- Amazon S3 コンソールを開き、指示に従って AWS にサインインまたはアカウントを作成します。
- サインイン後、Storage& Content DeliveryカテゴリーからS3を選択する。
- 次の画面でCreate Bucketを選択します。
- バケツを作成し、地域を選択するよう促される。
Currents は、Object Lock が設定されたバケットには対応できません。
統合
Braze には、Amazon S3 に関する統合戦略が 2 種類あります。その 1 つはBraze Currents に関するもので、もう 1 つはすべてのダッシュボードデータエクスポート (CSV エクスポート、エンゲージメント レポートなど) に関するものです。どちらの統合も、2 種類の認証/許可方法をサポートしています。
AWSシークレットキー認証方式
この認証メソッドは、シークレットキーとアクセスキー ID を生成し、Brazeがバケットにデータを書き込むためにAWSアカウントのユーザーとして認証できるようにします。
ステップ1:ユーザーを作成する
メッセージアーカイブの設定のみを行う場合は、「ダッシュボードデータエクスポート」タブのステップに従う。
アクセスキーIDとシークレットアクセスキーを取得するには、AWSでIAMユーザーと管理者グループを作成する。
ステップ2:認証情報を取得する
新しいユーザーの作成後に、Show User Security Credentials を選択して、アクセスキー ID とシークレットアクセスキーを表示します。次に、これらの認証情報をどこかにメモしておくか、後でダッシュボードに入力する必要があるので、認証情報のダウンロードボタンを選択する。

ステップ 3:ポリシーを作成する
[Policies] > [Get Started] > [Create Policy] に移動して、ユーザーの権限を追加します。次に、Create Your Own Policyを選択します。これは限定的な権限を与えるもので、Brazeは指定されたバケットにしかアクセスできない。

Currents と Dashboard Data Export には異なるポリシーが必要です。Braze バックエンドがエラー処理を実行できるようにするには、s3:GetObject が必要です。
任意のポリシー名を指定し、Policy Documentに以下のコードスニペットを入力します。INSERTBUCKETNAME は必ずバケット名に置き換えてください。これらの権限がないと、認証情報のチェックに失敗し、統合は作成されない。
メッセージのアーカイブ設定のみを行う場合は、ダッシュボードデータエクスポートタブのコードスニペットを使用する。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket", "s3:GetBucketLocation"],
"Resource": ["arn:aws:s3:::INSERTBUCKETNAME"]
},
{
"Effect": "Allow",
"Action": ["s3:PutObject", "s3:GetObject"],
"Resource": ["arn:aws:s3:::INSERTBUCKETNAME/*"]
}
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket", "s3:GetBucketLocation"],
"Resource": ["arn:aws:s3:::INSERTBUCKETNAME"]
},
{
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:PutObject", "s3:DeleteObject"],
"Resource": ["arn:aws:s3:::INSERTBUCKETNAME*", "arn:aws:s3:::INSERTBUCKETNAME/", "arn:aws:s3:::INSERTBUCKETNAME"]
}
]
}
ステップ4:ポリシーをアタッチする
新しいポリシーの作成後に、Users に移動し、特定のユーザーを選択します。[権限] タブで、[ポリシーの添付] をクリックし、作成した新しいポリシーを選択します。これで、AWS 認証情報を Braze アカウントにリンクする準備ができています。

ステップ 5: Brazeを AWS にリンクする
メッセージアーカイブの設定のみを行う場合は、「ダッシュボードデータエクスポート」タブのステップに従う。
Braze で、[パートナー連携] > [データエクスポート] に移動します。
次に、[Current を作成] をクリックし、[Amazon S3 データエクスポート] を選択します。
Current に名前を付けます。Credentials セクションで、AWS Secret Access Key が選択されていることを確認し、指定されたフィールドに S3 アクセス ID、AWS シークレットアクセスキー、および AWS S3 バケット名を入力します。

AWSのアクセスキーID とシークレットアクセスキーを最新の状態に保ちます。コネクタの認証情報が期限切れになると、コネクタはイベントの送信を停止する。この状態が5日以上続くと、コネクタのイベントは削除され、データは永久に失われる。
必要に応じて、次のカスタマイズを追加することもできます。
- フォルダーのパス:デフォルトは
currentsです。このフォルダが存在しない場合は、Brazeが自動的に作成する。 - サーバ側の保管時のAES-256 暗号化:デフォルトはオフで、
x-amz-server-side-encryptionヘッダーが含まれます。
[Current を開始] を選択して続行します。
認証情報が正常に検証されたかどうかが通知される。AWS S3がBraze Currents用に設定された。
Braze で、[パートナー連携] > [テクノロジーパートナー] を選択し、[Amazon S3] を選択します。
AWS Credentials ページで、AWS Secret Access Key が選択されていることを確認し、指定したフィールドに AWS アクセス ID、AWS シークレットアクセスキー、および AWS S3 バケット名を入力します。シークレットキーを入力する際は、まず [認証情報のテスト] を選択して認証情報が機能することを確認し、成功したら [保存] を選択します。

ユーザーに移動し、AWS コンソールの Security Credentials タブで Create Access Key を選択することで、常に新しい認証情報を取得できます。
認証情報が正常に検証されたかどうかが通知される。AWS S3がBrazeアカウントに統合された。
AWS ロールARN 認証メソッド
この認証メソッドによって、Braze の Amazon アカウントがバケットにデータを書き込むために作成したロールのメンバーとして認証できるようにするロール Amazon リソースネーム (ARN) が生成されます。
ステップ 1: ポリシーを作成する
まず、アカウント管理者として AWS 管理コンソールにサインインします。AWS コンソールの IAM セクションに移動し、ナビゲーションバーで [Policies] を選択してから、[Create Policy] を選択します。

Currents と Dashboard Data Export には異なるポリシーが必要です。Braze バックエンドがエラー処理を実行できるようにするには、s3:GetObject が必要です。
[JSON] タブを開き、[ポリシードキュメント] セクションに以下のコードスニペットを入力します。INSERTBUCKETNAME は必ずバケット名に置き換えてください。入力が終わったら、[ポリシーの確認] を選択します。
メッセージのアーカイブ設定のみを行う場合は、ダッシュボードデータエクスポートタブのコードスニペットを使用する。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket", "s3:GetBucketLocation"],
"Resource": ["arn:aws:s3:::INSERTBUCKETNAME"]
},
{
"Effect": "Allow",
"Action": ["s3:PutObject", "s3:GetObject"],
"Resource": ["arn:aws:s3:::INSERTBUCKETNAME/*"]
}
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket", "s3:GetBucketLocation"],
"Resource": ["arn:aws:s3:::INSERTBUCKETNAME"]
},
{
"Effect": "Allow",
"Action": ["s3:PutObject", "s3:GetObject","s3:DeleteObject"],
"Resource": ["arn:aws:s3:::INSERTBUCKETNAME/*"]
}
]
}
次に、ポリシーに名前と説明を指定し、[Create Policy] を選択します。


ステップ2:ロールを作成する
コンソールと同じ IAM セクションで、[Roles] > [Create Role] を選択します。

Braze アカウントから Braze アカウント ID と external ID を取得します。
- Currents:Braze で、[パートナー連携] > [データエクスポート] に移動します。次に、[Current を作成] をクリックし、[Amazon S3 データエクスポート] を選択します。ここで、ロールの作成に必要な識別子を確認します。
- ダッシュボードデータエクスポート:Braze で、[パートナー連携] > [テクノロジーパートナー] を選択し、[Amazon S3] を選択します。ここで、ロールの作成に必要な識別子を確認します。(メッセージアーカイブの設定のみを行う場合は、ここでロールを作成する)。
AWS Console に戻り、信頼できるエンティティセレクターのタイプとして [Another AWS Account] を選択します。BrazeのアカウントID を入力し、外部ID を要求 をオンにして、Brazeの外部ID を入力します。完了したら [次へ] を選択します。
![S3 の [ロールの作成] ページ。このページには、ロール名、ロールの説明、信頼できるエンティティ、ポリシー、および権限境界のフィールドがあります。](/docs/ja/assets/img/create_role_2_another.png)
ステップ3:ポリシーをアタッチする
次に、以前に作成したポリシーをロールにアタッチします。検索バーでポリシーを検索し、ポリシーの横にチェックマークを付けて添付します。完了したら [次へ] を選択します。

ロールに名前と説明を指定し、[Create Role] を選択します。

新しく作成した「役割」がリストに表示される。
ステップ4:Braze AWS にリンクする
AWS コンソールで、新しく作成したロールを一覧で見つけます。名前を選択して、そのロールの詳細を開きます。

ロール概要ページの上部にあるRole ARNをメモします。

Braze アカウントに戻り、提供されたフィールドにロールARN をコピーします。
メッセージアーカイブの設定のみを行う場合は、「ダッシュボードデータエクスポート」タブのステップに従う。
Braze で、[Currents] ページの [統合] に移動します。次に、[Current を作成] を選択し、[Amazon S3 データエクスポート] を選択します。

Current の名前を指定します。次に、[認証情報] セクションで [AWS ロール ARN] が選択されていることを確認し、ロール ARN と AWS S3 バケット名を所定のフィールドに入力します。
必要に応じて、次のカスタマイズを追加することもできます。
- フォルダーのパス (デフォルトは
currents) - サーバーサイド、保管時 AES-256 暗号化 (デフォルトはオフ) -
x-amz-server-side-encryptionヘッダーを組み込みます。
[Current を開始] を選択して続行します。認証情報が正常に検証されると通知が表示される。AWS S3がBraze Currents用に設定された。
「S3の認証情報が無効です」というエラーが発生した場合、これは AWS でロールを作成した後に行われた統合が早すぎたことが原因である可能性があります。しばらくしてからもう一度やり直してください。
Braze で、[テクノロジーパートナー] ページの [統合] に移動し、[Amazon S3] をクリックします。

[認証情報] ページで [AWS ロール ARN] ラジオボタンが選択されていることを確認し、ロール ARN と AWS S3バケット名を所定のフィールドに入力します。最初に [認証情報のテスト] をクリックして、認証情報が正しく動作することを確認し、成功したら [保存] をクリックします。
ユーザーに移動し、AWS コンソールの [セキュリティ認証情報] タブで [アクセスキーの作成] を選択すると、いつでも新しい認証情報を取得できます。
認証情報が正常に検証されたかどうかが通知される。AWS S3がBrazeアカウントに統合された。
エクスポートの動作
クラウド・データ・ストレージ・ソリューションを統合し、API、ダッシュボード・レポート、CSVレポートをエクスポートしているユーザーは、次のような経験をしている:
- すべてのAPIエクスポートは、レスポンスボディにダウンロードURLを返さず、データストレージを通じて取得する必要がある。
- すべてのダッシュボード・レポートとCSVレポートは、ユーザーのメールに送信されてダウンロードされ(保存権限不要)、データ・ストレージにバックアップされる。
JSONフォーマットの要件:JSONエクスポートでは、BrazeはJSONL(改行区切りのJSON)フォーマットを使用し、各行に個別のJSONオブジェクトが含まれる。このフォーマットは、単一のJSON配列またはオブジェクトである標準的なJSONとは異なる。エクスポートされたファイルの各行は有効なJSONオブジェクトだが、ファイル全体としては1つの有効なJSONドキュメントではない。これらのファイルを処理するときは、ファイル全体を1つのJSONドキュメントとしてパースするのではなく、各行を個別のJSONオブジェクトとしてパースする。
カレントのエクスポートは、JSONではなく、Apache Avroフォーマット(.avro ファイル)を使用する。このJSONフォーマットの要件は、ダッシュボードデータのエクスポートとAPIエクスポートに適用される。
複数のコネクター
S3バケットに送信するCurrentsコネクタを複数作成する場合は、同じ認証情報を使用できるが、それぞれに異なるフォルダパスを指定する必要がある。同じワークスペースで作成することもできるし、複数のワークスペースに分割して作成することもできる。また、統合ごとに1つのポリシーを作成するか、両方の統合をカバーする1つのポリシーを作成するかのオプションもある。
Currentsとデータエクスポートの両方に同じS3バケットを使用する場合は、それぞれの統合に異なる権限が必要なため、2つの別々のポリシーを作成する必要がある。
GitHub でこのページを編集