Skip to content

Amazon S3

Amazon S3는 Amazon Web Services에서 제공하는 확장성이 뛰어난 스토리지 시스템입니다.

Braze와 Amazon S3 통합에는 두 가지 통합 전략이 있습니다:

  • Currents를 활용하여 다른 플랫폼, 도구 및 위치에 연결할 때까지 데이터를 저장할 수 있습니다.
  • 대시보드 데이터 내보내기(CSV 내보내기 및 참여 보고서 등)를 사용합니다.

사전 요구 사항

새 S3 버킷 생성하기

앱용 버킷을 생성하려면 다음을 수행하세요:

  1. Amazon S3 콘솔을 열고 안내에 따라 로그인 또는 AWS 계정 생성을 진행합니다.
  2. 로그인 후 Storage & Content Delivery 카테고리에서 S3를 선택합니다.
  3. 다음 화면에서 Create Bucket을 선택합니다.
  4. 프롬프트가 표시되면 버킷을 생성하고 AWS 리전을 선택합니다.

Braze에서는 대시보드에서 리전을 선택하거나 구성할 수 없습니다. AWS 리전은 AWS 콘솔에서 버킷을 생성한 위치에 따라 고정됩니다. 통합은 사용자가 제공한 버킷 이름으로 데이터를 전송하며, AWS가 자동으로 해당 버킷의 리전으로 요청을 라우팅합니다. 커넥터가 원하는 리전과 다른 리전에 연결을 시도하는 경우(예: eu-central-1 대신 eu-west-1), AWS에서 원하는 리전에 S3 버킷을 생성하거나 기존 버킷을 사용하세요. Braze 측에서 변경할 사항은 없습니다.

통합

Braze는 Amazon S3와 두 가지 통합 전략을 제공합니다. 하나는 Braze 커런츠용이고, 다른 하나는 모든 대시보드 데이터 내보내기(CSV 내보내기 또는 참여 보고서 등)용입니다. 두 통합 모두 두 가지 인증 또는 권한 부여 방법을 지원합니다.

AWS 비밀 키 인증 방법

이 인증 방법은 비밀 키와 액세스 키 ID를 생성하여 Braze가 AWS 계정의 사용자로 인증하고 버킷에 데이터를 쓸 수 있도록 합니다.

1단계: 사용자 생성

액세스 키 ID와 비밀 액세스 키를 가져오려면 AWS에서 IAM 사용자 및 관리자 그룹을 생성하세요.

2단계: 자격 증명 가져오기

새 사용자를 생성한 후 Show User Security Credentials를 선택하여 액세스 키 ID와 비밀 액세스 키를 확인합니다. 그런 다음 이 자격 증명을 메모해 두거나 Download Credentials 버튼을 선택하세요. 나중에 Braze 대시보드에 입력해야 합니다.

액세스 키 ID와 비밀 액세스 키가 표시된 AWS IAM 사용자 보안 자격 증명 페이지.

3단계: 정책 생성

Policies > Get Started > Create Policy로 이동하여 사용자에 대한 권한을 추가합니다. 그런 다음 Create Your Own Policy를 선택합니다. 이렇게 하면 Braze가 지정된 버킷에만 액세스할 수 있도록 제한된 권한이 부여됩니다.

S3 통합을 위한 정책 옵션이 표시된 AWS IAM 정책 생성 화면.

원하는 정책 이름을 지정하고 다음 코드 스니펫을 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 계정에 연결할 준비가 되었습니다.

Attach Policy 작업이 선택된 AWS IAM 사용자 권한 탭.

5단계: Braze를 AWS에 연결

Braze에서 파트너 통합 > Currents로 이동합니다.

그런 다음 Create New Current을 선택한 후 Amazon S3 Data Export를 선택합니다.

Current의 이름을 지정합니다. Credentials 섹션에서 AWS Secret Access Key가 선택되어 있는지 확인한 다음, 지정된 필드에 S3 액세스 ID, AWS 비밀 액세스 키, AWS S3 버킷 이름을 입력합니다.

통합 오류 알림을 받을 연락처 이메일을 입력하세요. 자격 증명 문제나 연결 문제 등 통합에서 오류가 발생하면 Braze가 이 주소로 알림을 보냅니다. 적절한 담당자가 알림을 받을 수 있도록 배포 목록이나 그룹 이메일 주소를 사용하는 것이 좋습니다.

AWS 비밀 키 자격 증명 필드가 포함된 Amazon S3용 Braze 새 Current 생성 양식.

필요에 따라 다음 커스터마이징을 추가할 수도 있습니다:

  • 폴더 경로: 기본값은 currents입니다. 이 폴더가 존재하지 않으면 Braze가 자동으로 생성합니다.
  • 서버 측 저장 시 AES-256 암호화: 기본값은 OFF이며 x-amz-server-side-encryption 헤더를 포함합니다.

Launch Current을 선택하여 계속합니다.

자격 증명이 성공적으로 검증되었는지 알림이 표시됩니다. 이제 AWS S3가 Braze Currents에 대해 설정되었습니다.

Braze에서 파트너 통합 > 기술 파트너로 이동하여 Amazon S3를 선택합니다.

AWS Credentials 페이지에서 AWS Secret Access Key가 선택되어 있는지 확인한 다음, 지정된 필드에 AWS 액세스 ID, AWS 비밀 액세스 키, AWS S3 버킷 이름을 입력합니다. 비밀 키를 입력할 때 먼저 Test Credentials를 선택하여 자격 증명이 작동하는지 확인한 다음, 성공하면 Save를 선택합니다.

테스트 및 저장 작업이 포함된 Braze Amazon S3 기술 파트너 자격 증명 페이지.

자격 증명이 성공적으로 검증되었는지 알림이 표시됩니다. 이제 AWS S3가 Braze 계정에 통합되었습니다.

AWS 역할 ARN 인증 방법

이 인증 방법은 역할 Amazon Resource Name(ARN)을 생성하여, Braze Amazon 계정이 사용자가 생성한 역할의 구성원으로 인증되어 버킷에 데이터를 쓸 수 있도록 합니다.

1단계: 정책 생성

시작하려면 계정 관리자로 AWS 관리 콘솔에 로그인합니다. AWS 콘솔의 IAM 섹션으로 이동하여 탐색 바에서 Policies를 선택한 다음 Create Policy를 선택합니다.

Create Policy 버튼이 선택된 AWS IAM Policies 페이지.

JSON 탭을 열고 Policy Document 섹션에 다음 코드 스니펫을 입력합니다. INSERTBUCKETNAME을 사용자의 버킷 이름으로 교체해야 합니다. 완료되면 Review Policy를 선택합니다.

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를 선택합니다.

정책 이름과 설명 필드가 있는 AWS IAM 정책 검토 단계.

새로 생성된 S3 정책이 표시된 AWS IAM 정책 목록.

2단계: 역할 생성

콘솔의 동일한 IAM 섹션에서 Roles > Create Role을 선택합니다.

Create Role 버튼이 선택된 AWS IAM Roles 페이지.

Braze 계정에서 Braze 계정 ID와 외부 ID를 가져옵니다:

  • Currents: Braze에서 파트너 통합 > Currents로 이동합니다. 그런 다음 Create New Current을 선택하고 Amazon S3 Data Export를 선택합니다. 여기에서 역할을 생성하는 데 필요한 식별자를 확인할 수 있습니다.
  • 대시보드 데이터 내보내기: Braze에서 파트너 통합 > 기술 파트너로 이동하고 Amazon S3를 선택합니다. 여기에서 역할을 생성하는 데 필요한 식별자를 확인할 수 있습니다. (메시지 아카이빙만 설정하는 경우 여기에서 역할을 생성합니다.)

AWS 콘솔로 돌아가서 신뢰할 수 있는 엔터티 선택기 유형으로 Another AWS Account를 선택합니다. Braze 계정 ID를 입력하고 Require external ID 체크박스를 선택한 다음 Braze 외부 ID를 입력합니다. 완료되면 Next를 선택합니다.

S3 "Create Role" 페이지. 이 페이지에는 역할 이름, 역할 설명, 신뢰할 수 있는 엔터티, 정책 및 권한 경계에 대한 필드가 있습니다.

3단계: 정책 연결

다음으로 앞서 생성한 정책을 역할에 연결합니다. 검색 바에서 정책을 검색하고 정책 옆의 체크박스를 선택하여 연결합니다. 완료되면 Next를 선택합니다.

역할 ARN

역할에 이름과 설명을 입력하고 Create Role을 선택합니다.

역할 ARN

이제 목록에서 새로 생성된 역할을 확인할 수 있습니다.

4단계: Braze AWS에 연결

AWS 콘솔에서 목록에 있는 새로 생성된 역할을 찾습니다. 이름을 선택하여 해당 역할의 세부 정보를 엽니다.

새로 생성된 역할의 AWS IAM 역할 세부 정보 페이지.

역할 요약 페이지 상단에 있는 Role ARN을 기록해 둡니다.

Role ARN 값이 표시된 AWS IAM 역할 요약.

Braze 계정으로 돌아가서 제공된 필드에 역할 ARN을 복사합니다.

Braze에서 파트너 통합 > Currents로 이동합니다. 그런 다음 Create New Current을 선택하고 Amazon S3 Data Export를 선택합니다.

AWS Role ARN 및 버킷 필드가 있는 Braze Currents Amazon S3 설정 화면.

Current에 이름을 지정합니다. 그런 다음 자격 증명 섹션에서 AWS Role ARN이 선택되어 있는지 확인하고 지정된 필드에 역할 ARN과 AWS S3 버킷 이름을 입력합니다.

통합 오류 알림을 받을 연락처 이메일을 입력하세요. 자격 증명 문제나 연결 문제 등 통합에서 오류가 발생하면 Braze가 이 주소로 알림을 보냅니다. 적절한 담당자가 알림을 받을 수 있도록 배포 목록이나 그룹 이메일 주소를 사용하는 것이 좋습니다.

필요에 따라 다음 사용자 지정을 추가할 수도 있습니다:

  • 폴더 경로(기본값: currents)
  • 서버 측 저장 시 AES-256 암호화(기본값: OFF) - x-amz-server-side-encryption 헤더를 포함합니다

Launch Current을 선택하여 계속합니다. 자격 증명이 성공적으로 검증되었는지 알림이 표시됩니다. 이제 Braze Currents에 대해 AWS S3가 설정되었습니다.

Braze에서 통합 아래의 기술 파트너 페이지로 이동하고 Amazon S3를 선택합니다.

AWS Role ARN 자격 증명이 선택된 Braze Amazon S3 기술 파트너 페이지.

AWS Credentials 페이지에서 AWS Role ARN 라디오 버튼이 선택되어 있는지 확인한 다음 지정된 필드에 역할 ARN과 AWS S3 버킷 이름을 입력합니다. 먼저 Test Credentials를 선택하여 자격 증명이 올바르게 작동하는지 확인한 다음 성공하면 Save를 선택합니다.

자격 증명이 성공적으로 검증되었는지 알림이 표시됩니다. 이제 AWS S3가 Braze 계정에 통합되었습니다.

Currents의 Amazon S3 자격 증명 업데이트

통합을 중지하거나 이미 버킷으로 내보낸 데이터를 잃지 않고 기존 Braze Currents 커넥터의 Amazon S3 자격 증명을 업데이트할 수 있습니다.

자격 증명을 새로고침하거나 AWS Secret Access KeyAWS Role ARN 간에 전환하려면, 이 문서 앞부분에서 선택한 방법에 대한 IAM 및 AWS 측 단계(정책, 사용자 또는 역할, 필요한 식별자)를 완료하세요.

AWS에서 자격 증명 준비를 마쳤으면 Braze에서 파트너 통합 > Currents로 이동하여 목록에서 Amazon S3 커넥터를 찾고 Edit을 선택한 다음 Credentials를 업데이트하고 Update Current을 선택합니다. Braze가 입력한 자격 증명을 검증하며, 커넥터는 계속 실행되고 버킷에 이미 있는 데이터는 그대로 사용할 수 있습니다. 자세한 내용은 Currents 설정에서 Currents 업데이트를 참조하세요.

내보내기 동작

클라우드 데이터 스토리지 솔루션과 내보내기 API, 대시보드 보고서 또는 CSV 보고서를 통합한 사용자는 다음과 같은 동작을 경험합니다:

  • 모든 API 내보내기는 응답 본문에 다운로드 URL을 반환하지 않으며, 데이터 스토리지를 통해 검색해야 합니다.
  • 모든 대시보드 보고서 및 CSV 보고서는 사용자의 이메일로 전송되어 다운로드할 수 있으며(스토리지 권한 불필요), 데이터 스토리지에 백업됩니다.

Unable to connect to S3, please validate that your credentials are correct 오류

CSV 내보내기를 다운로드할 때 이 오류가 표시되면, 기술 파트너 페이지에서 Amazon S3 통합을 열고 Test Credentials를 선택하세요. 결과에서 유효성 검사에 실패한 항목이 설명됩니다. 예를 들어, 키에 GetObject 권한이 누락되어 Braze가 다운로드 링크를 생성하지 못할 수 있습니다.

IAM 정책을 업데이트하여 통합 사용자 또는 역할이 Braze 통합에 구성된 S3 버킷 및 객체 경로에서 s3:GetObject를 호출할 수 있도록 하세요. 추가 내보내기 문제에 대해서는 내보내기 문제 해결을 참조하세요.

여러 커넥터

S3 버킷으로 전송할 Currents 커넥터를 두 개 이상 생성하려는 경우, 동일한 자격 증명을 사용할 수 있지만 각 커넥터마다 서로 다른 폴더 경로를 지정해야 합니다. 동일한 워크스페이스에서 생성하거나, 여러 워크스페이스에 분산하여 생성할 수도 있습니다. 또한 각 통합에 대해 개별 정책을 생성하거나, 두 통합을 모두 포함하는 하나의 정책을 생성할 수도 있습니다.

동일한 S3 버킷을 Currents와 데이터 내보내기 모두에 사용할 계획이라면, 각 통합에 서로 다른 권한이 필요하므로 두 개의 별도 정책을 생성해야 합니다.

문제 해결

오류: 계정에 PutObject 액세스 권한이 없음

대시보드 데이터 내보내기를 위해 Amazon S3 자격 증명을 저장할 때 다음 오류가 표시되면, 잘못된 권한 또는 서버 측 암호화 설정 때문일 수 있습니다.

1
S3 Credentials are invalid because this account does not have 'PutObject access'. Please check the permissions and ensure that this key has access to 'PutObject' in the 'CUSTOMER-BUCKET-HERE' bucket.

이 문제를 해결하려면 다음 항목을 확인하세요.

잘못된 버킷 정책

Amazon S3 통합에 설명된 대로 올바른 권한으로 정책을 생성했는지 확인합니다(인증 방법에 맞는 Dashboard Data Export 정책을 사용하세요).

서버 측 암호화

1
User: arn:aws:sts::XXX:assumed-role/braze-iam-role/braze is not authorized to perform: kms:GenerateDataKey on resource: arn:aws:XXX because no identity-based policy allows the kms:GenerateDataKey action

Braze 지원팀 또는 AWS 로그에서 이 오류 메시지를 받은 경우, S3 버킷이 AWS Key Management Service(SSE-KMS) 암호화로 구성되어 있는 것입니다. Braze는 Currents 또는 대시보드 데이터 내보내기에 대해 SSE-KMS를 지원하지 않습니다. 이 문제를 해결하려면 S3 버킷에서 SSE-KMS를 비활성화하세요.

추가 권한 확인

s3:GetBucketLocations3:PutObject를 포함하여 필요한 권한이 있는지 확인하세요.

New Stuff!