Skip to content

Amazon S3

Amazon S3は、Amazon Web Servicesが提供する高度にスケーラブルなストレージシステムです。

Braze と Amazon S3 の統合は、2 つの統合戦略を特徴としています。

  • Currents を利用すると、他のプラットフォーム、ツール、ロケーションに接続するまでデータを保存できます。
  • ダッシュボードのデータエクスポート(CSVエクスポートやエンゲージメントレポートなど)を使用する。

前提条件

新しいS3バケットを作成する

アプリ用のバケットを作成するには、以下のようにします。

  1. Amazon S3 コンソールを開き、指示に従って AWS にサインインまたはアカウントを作成します。
  2. サインイン後、Storage & Content DeliveryカテゴリからS3を選択します。
  3. 次の画面でCreate Bucketを選択します。
  4. バケットを作成してリージョンを選択するように求められます。

統合

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は指定されたバケットにのみアクセスできます。

任意のポリシー名を指定し、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 バケット名を入力します。

必要に応じて、次のカスタマイズを追加することもできます。

  • フォルダーのパス:デフォルトは 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 S3が Braze アカウントに統合されているはずです。

AWS ロールARN 認証メソッド

この認証メソッドは、Braze の Amazon アカウントがバケットにデータを書き込むために作成したロールのメンバーとして認証できるようにするロール Amazon リソースネーム (ARN) を生成します。

ステップ 1: ポリシーを作成する

まず、アカウント管理者として AWS 管理コンソールにサインインします。AWS コンソールの [IAM] セクションに移動し、ナビゲーションバーの [ポリシー] を選択してから [ポリシーを作成] を選択します。

[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 を入力します。完了したら [次へ] を選択します。

S3 の [ロールの作成] ページ。このページには、ロール名、ロールの説明、信頼できるエンティティ、ポリシー、および権限境界のフィールドがあります。

ステップ3:ポリシーをアタッチする

次に、以前に作成したポリシーをロールにアタッチします。検索バーでポリシーを検索し、ポリシーの横にチェックマークを付けて添付します。完了したら [次へ] を選択します。

ロールの ARN

ロールに名前と説明を付け、[ロールの作成] を選択します。

ロールの ARN

これで、新しく作成したロールがリストに表示されます。

ステップ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 用に設定されているはずです。

Braze で、[テクノロジーパートナー] ページの [統合] に移動し、[Amazon S3] をクリックします。

[認証情報] ページで [AWS ロール ARN] ラジオボタンが選択されていることを確認し、ロール ARN と AWS S3バケット名を所定のフィールドに入力します。最初に [認証情報のテスト] をクリックして、認証情報が正しく動作することを確認し、成功したら [保存] をクリックします。

認証情報が正常に検証されたかどうかを示す通知が表示されます。これで、AWS S3が Braze アカウントに統合されているはずです。

エクスポートの動作

クラウドデータストレージソリューションを統合しており、API、ダッシュボードレポート、または CSV レポートをエクスポートする場合、次のような状況が発生します。

  • すべての API エクスポートでは、応答本文でダウンロード URL が返されないため、データストレージから取得する必要があります。
  • すべてのダッシュボードレポートと CSV レポートは、ダウンロード用のメールでユーザーに送信され (保存権限は不要です)、Data Storage にバックアップされます。

複数のコネクター

S3 バケットに送信する Currents コネクターを複数作成する場合は、同じ認証情報を使用できますが、それぞれに異なるパスを指定する必要があります。これらは、同じワークスペース内で作成することも、複数のワークスペース内で分割して作成することもできます。また、統合ごとに1つのポリシーを作成するか、両方の統合に対応する1つのポリシーを作成することもできます。

Currentsとデータエクスポートの両方に同じ S3 バケットを使用する場合は、統合ごとに異なる権限が必要なため、2 つの個別のポリシーを作成する必要があります。

「このページはどの程度役に立ちましたか?」
New Stuff!