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 を設定する必要があります。 |
新しいS3バケットを作成する
アプリ用のバケットを作成するには、以下のようにします。
- Amazon S3 コンソールを開き、指示に従って AWS にサインインまたはアカウントを作成します。
- サインイン後、Storage & Content DeliveryカテゴリからS3を選択します。
- 次の画面でCreate Bucketを選択します。
- バケットを作成してリージョンを選択するように求められます。
Currents は、Object Lock が設定されたバケットには対応できません。
統合
Braze には、Braze Currents と、すべてのダッシュボードデータエクスポート (CSV エクスポート、エンゲージメント レポートなど) に対して、Amazon S3 で 2 つの異なる統合戦略があります。どちらの統合も、2 種類の認証/許可方法をサポートしています。
AWSシークレットキー認証方式
この認証メソッドは、シークレットキーとアクセスキー ID を生成し、Brazeがバケットにデータを書き込むためにAWSアカウントのユーザーとして認証できるようにします。
ステップ1:ユーザーを作成する
アクセスキー ID とシークレットアクセスキーを取得するには、AWS で IAM ユーザーと管理者グループを作成する必要があります。
ステップ2:認証情報を取得する
新しいユーザーの作成後に、[ユーザーセキュリティクレデンシャルを表示] を選択して、アクセスキー ID とシークレットアクセスキーを表示します。これらの認証情報は後で Braze ダッシュボードに入力する必要があるため、どこかにメモしておくか、[認証情報をダウンロード] ボタンを選択します。
ステップ 3: ポリシーを作成する
[ポリシー] > [開始] > [ポリシーを作成] に移動して、ユーザーの権限を追加します。次に、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:ポリシーをアタッチする
新しいポリシーの作成後に、[ユーザー] に移動し、特定のユーザーを選択します。[権限] タブで、[ポリシーの添付] をクリックし、作成した新しいポリシーを選択します。これで、AWS認証情報をBrazeアカウントにリンクする準備ができた。
ステップ 5: Brazeを AWS にリンクする
Braze で、[パートナー連携] > [データエクスポート] に移動します。
次に、[Current を作成] をクリックし、[Amazon S3 データエクスポート] を選択します。
Current に名前を付けます。[認証情報] セクションで、AWS Secret Access Key が選択されていることを確認し、指定されたフィールドに S3 アクセス ID、AWS シークレットアクセスキー、および AWS S3 バケット名を入力します。
AWSのアクセスキーID とシークレットアクセスキーを最新の状態に保ちます。コネクターの認証情報が期限切れになると、コネクターはイベントの送信を中止します。この状態が48時間以上続くと、コネクタのイベントは削除され、データは永久に失われる。
必要に応じて、次のカスタマイズを追加することもできます。
- フォルダーのパス:デフォルトは
currents
です。このフォルダーが存在しない場合、Braze によって自動的に作成されます。 - サーバ側の保管時のAES-256 暗号化:デフォルトはオフで、
x-amz-server-side-encryption
ヘッダーが含まれます。
[Current を開始] を選択して続行します。
認証情報が正常に検証されたかどうかを示す通知が表示されます。これで、AWS S3が Braze Currents 用に設定されているはずです。
Braze で、[パートナー連携] > [テクノロジーパートナー] を選択し、[Amazon S3] を選択します。
[AWS 認証情報] ページで、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] セクションに移動し、ナビゲーションバーの [ポリシー] を選択してから [ポリシーを作成] を選択します。
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/*"]
}
]
}
次に、ポリシーに名前と説明を指定し、[ポリシーの作成] を選択します。
ステップ2:ロールを作成する
コンソールの同じ IAM セクションで、[ロール] > [ロールを作成] をクリックします。
Braze アカウントから Braze アカウント ID と external ID を取得します。
- Currents:Braze で、[パートナー連携] > [データエクスポート] に移動します。次に、[Current を作成] をクリックし、[Amazon S3 データエクスポート] を選択します。ここには、ロールの作成に必要な識別子s があります。
- ダッシュボードデータエクスポート:Braze で、[パートナー連携] > [テクノロジーパートナー] を選択し、[Amazon S3] を選択します。ここで、ロールの作成に必要な識別子を確認します。
AWS Console に戻り、信頼できるエンティティセレクターのタイプとして [Another AWS Account] を選択します。BrazeのアカウントID を入力し、外部ID を要求 をオンにして、Brazeの外部ID を入力します。完了したら [次へ] を選択します。
ステップ3:ポリシーをアタッチする
次に、以前に作成したポリシーをロールにアタッチします。検索バーでポリシーを検索し、ポリシーの横にチェックマークを付けて添付します。完了したら [次へ] を選択します。
ロールに名前と説明を付け、[ロールの作成] を選択します。
これで、新しく作成したロールがリストに表示されます。
ステップ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 レポートは、ダウンロード用のメールでユーザーに送信され (保存権限は不要です)、Data Storage にバックアップされます。
複数のコネクター
S3 バケットに送信する Currents コネクターを複数作成する場合は、同じ認証情報を使用できますが、それぞれに異なるパスを指定する必要があります。これらは、同じワークスペース内で作成することも、複数のワークスペース内で分割して作成することもできます。また、統合ごとに1つのポリシーを作成するか、両方の統合に対応する1つのポリシーを作成することもできます。
Currentsとデータエクスポートの両方に同じ S3 バケットを使用する場合は、統合ごとに異なる権限が必要なため、2 つの個別のポリシーを作成する必要があります。