Amazon S3
Amazon S3は、Amazon Web Servicesが提供する高度にスケーラブルなストレージシステムです。
Braze とAmazon S3 の統合には、次の2 つの統合戦略があります。
- Currentsを利用して、他のプラットフォーム、ツール、場所に接続するまでデータを保存できます。
- ダッシュボードのデータエクスポート(CSV エクスポートやエンゲージメントレポートなど) を使用します。
前提条件
必要条件 | 説明 |
---|---|
Amazon S3 アカウント | このパートナーシップを活用するには、Amazon S3アカウントが必要です。 |
専用 S3 バケット | Amazon S3 と統合するには、アプリ用の S3 バケットを作成する必要があります。 すでに S3バケットがある場合は、Braze 専用の新しいバケットを作成することをお勧めします。これにより、権限を制限できるようになります。新しいバケットを作成する方法については、次の手順を参照してください。 |
Currents | データを Amazon S3 にエクスポートするには、アカウントに Braze Currents を設定する必要があります。 |
新しい S3 バケットの作成
アプリのバケットを作成するには、次の手順を実行します。
- Amazon S3コンソールを開き、Sign inまたはAWSでアカウントを作成する手順に従います。
- サインイン後、Storage & Content DeliveryカテゴリからS3を選択します。
- 次の画面でCreate Bucketを選択します。
- バケットを作成してリージョンを選択するように求められます。
現在は、Object Lock が設定されたバケットをサポートしていません。
統合
Braze には、Braze Currents の Amazon S3-one と、すべてのダッシュボードデータエクスポート (CSV エクスポートやエンゲージメントレポートなど) の 2 つの異なる統合ストラテジがあります。どちらの統合も、2 つの異なる認証方法または許可方法をサポートしています。
AWSシークレットキー認証方式
この認証メソッドは、シークレットキーとアクセスキー ID を生成し、Brazeがバケットにデータを書き込むためにAWSアカウントのユーザーとして認証できるようにします。
ステップ1:ユーザーを作成する
アクセスキー ID とシークレットアクセスキーを取得するには、AWS で IAM ユーザーと管理者グループを作成する必要があります。
ステップ2:認証情報を取得する
新しいユーザーを作成した後、Show User Security Credentialsを選択して、アクセスキーIDとシークレットアクセスキーを表示します。次に、これらの認証情報をどこかにメモするか、Download Credentials ボタンを選択します。後でBraze ダッシュボードに入力する必要があります。
ステップ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に移動し、特定のユーザーを選択します。Permissionsタブで、Attach Policyを選択し、作成した新しいポリシーを選択します。これで、AWS認証情報をBrazeアカウントにリンクする準備ができました。
ステップ 5: Brazeを AWS にリンクする
Braze で、[パートナー連携] > [データエクスポート] に移動します。
次に、Create Current、Amazon S3 Data Exportを選択します。
現在の名前を指定します。Credentials セクションで、AWS Secret Access Key が選択されていることを確認し、指定したフィールドにS3 アクセスID、AWS シークレットアクセスキー、およびAWS S3 バケット名を入力します。
AWSのアクセスキーID とシークレットアクセスキーを最新の状態に保ちます。コネクターの認証情報が期限切れになると、コネクターはイベントの送信を中止します。この状態が48時間以上続くと、コネクタのイベントは削除され、データは永久に失われる。
必要に応じて、次のカスタマイズを追加することもできます。
- フォルダーのパス:デフォルトは
currents
です。このフォルダーが存在しない場合、Braze によって自動的に作成されます。 - サーバ側の保管時のAES-256 暗号化:デフォルトはオフで、
x-amz-server-side-encryption
ヘッダーが含まれます。
Launch Currentを選択して続行します。
認証情報が正常に検証されたかどうかを示す通知が表示されます。これで、AWS S3が Braze Currents 用に設定されているはずです。
ブレーズで、Partner Integrations> Technology Partnersに移動し、Amazon S3を選択します。
AWS Credentials ページで、AWS Secret Access Key が選択されていることを確認し、指定したフィールドにAWS アクセスID、AWS シークレットアクセスキー、およびAWS S3 バケット名を入力します。シークレットキーを入力するときは、まずTest Credentialsを選択して認証情報が機能することを確認し、次に成功したときにSaveを選択します。
ユーザーに移動し、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 で、[パートナー連携] > [データエクスポート] に移動します。次に、Create Currentを選択し、Amazon S3 Data Exportを選択します。ここには、ロールの作成に必要な識別子s があります。
- ダッシュボードデータエクスポート:ブレーズで、Partner Integrations> Technology Partnersに移動し、Amazon S3を選択します。ここでは、ロールの作成に必要な識別子を確認します。
AWS Console に戻り、信頼できるエンティティセレクターのタイプとして [Another AWS Account] を選択します。BrazeのアカウントID を入力し、外部ID を要求 をオンにして、Brazeの外部ID を入力します。完了したら [次へ] を選択します。
ステップ3:ポリシーをアタッチする
次に、以前に作成したポリシーをロールにアタッチします。検索バーでポリシーを検索し、ポリシーの横にチェックマークを付けて添付します。完了したら [次へ] を選択します。
ロールに名前と説明を指定し、Create Role を選択します。
これで、新しく作成したロールがリストに表示されます。
ステップ4:Braze AWS にリンクする
AWS コンソールで、新しく作成したロールを一覧で見つけます。名前を選択して、そのロールの詳細を開きます。
ロール概要ページの上部にあるRole ARNをメモします。
Braze アカウントに戻り、提供されたフィールドにロールARN をコピーします。
ブレーズで、Currents ページのIntegrations に移動します。次に、Create Currentを選択し、Amazon S3 Data Exportを選択します。
Current の名前を指定します。次に、Credentials セクションで、AWS Role ARN が選択されていることを確認し、指定したフィールドにロールARN とAWS S3 バケット名を入力します。
必要に応じて、次のカスタマイズを追加することもできます。
- フォルダーのパス (デフォルトは
currents
) - サーバーサイド、保管時 AES-256 暗号化 (デフォルトはオフ) -
x-amz-server-side-encryption
ヘッダーを組み込みます。
Launch Currentを選択して続行します。認証情報が正常に検証されたかどうかを示す通知が表示されます。これで、AWS S3が Braze Currents 用に設定されているはずです。
「S3の認証情報が無効です」というエラーが発生した場合、これは AWS でロールを作成した後に行われた統合が早すぎたことが原因である可能性があります。しばらくしてからもう一度やり直してください。
ブレーズで、Technology Partners ページのIntegrations に移動し、Amazon S3 を選択します。
[認証情報] ページで [AWS ロール ARN] ラジオボタンが選択されていることを確認し、ロール ARN と AWS S3バケット名を所定のフィールドに入力します。最初に認証情報を選択して認証情報が正しく機能することを確認し、成功したら保存を選択します。
ユーザーに移動し、AWS コンソールの Security Credentials タブで Create Access Key を選択することで、常に新しい認証情報を取得できます。
認証情報が正常に検証されたかどうかを示す通知が表示されます。これで、AWS S3が Braze アカウントに統合されているはずです。
エクスポートの動作
クラウドデータストレージソリューションを統合しており、API、ダッシュボードレポート、または CSV レポートをエクスポートする場合、次のような状況が発生します。
- すべての API エクスポートでは、応答本文でダウンロード URL が返されないため、データストレージから取得する必要があります。
- すべてのダッシュボードレポートと CSV レポートは、ダウンロード用のメールでユーザーに送信され (保存権限は不要です)、Data Storage にバックアップされます。
複数のコネクター
S3 バケットに送信する Currents コネクターを複数作成する場合は、同じ認証情報を使用できますが、それぞれに異なるパスを指定する必要があります。これらは、同じワークスペース内で作成することも、複数のワークスペース内で分割して作成することもできます。また、統合ごとに1つのポリシーを作成するか、両方の統合に対応する1つのポリシーを作成することもできます。
Currentsとデータエクスポートの両方に同じ S3 バケットを使用する場合は、統合ごとに異なる権限が必要なため、2 つの個別のポリシーを作成する必要があります。