Pendoのデータ同期機能を使用すると、Pendoのデータ(Pendo Feedbackのデータを除く)をGoogle Cloud Storage(GCS)アカウントにエクスポートできます。この記事では、GCSのデータ同期の設定方法を説明します。
前提条件
- データ同期は有料の機能です。この機能を利用するには、Pendoの担当者にお問い合わせください。
- この作業においてクラウドストレージの保存先を設定するには、Pendoのサブスクリプション管理者である必要があります。
- ユーザーには、GCSの
storage.objects.create
、storage.objects.delete
、storage.objects.update
権限が必要です。
設定の概要
GCSとのデータ同期では、Pendo側での設定と、Google Cloud環境での構成が必要になります。具体的には、以下の手順で実施します。
- Google Cloud Platform(GCP)のサービスアカウントを作成します。
- サービスアカウント用のJSONキーファイルを生成します。
- GCSバケットを作成します。
- GCSバケットにGCPサービスアカウントへの権限を付与します。
- Pendoでプロバイダーを選択します。
- PendoにサービスアカウントキーとバケットURLを入力します。
ステップ1:GCPサービスアカウントを作成する
サービスアカウントをお持ちでない方は、Google Cloud環境でGoogle Cloud Platform(GCP)のサービスアカウントを作成する必要があります。
- Google Cloudコンソールで、[IAM と管理]>[サービス アカウント]に移動し、[サービス アカウントを作成]を選択します。
- サービスアカウント名や説明など、サービスアカウントの詳細を入力します。
- 必要に応じて、サービスアカウントのアクセスレベルを選択します。
- [完了]を選択します。これにより、[IAMサービスアカウント(IAM Service Accounts)]ページにサービスアカウントと役割が作成されます。
- メール形式のサービスアカウント名をコピーします。これは、本記事のステップ4で使用するため、保存しておいてください。
詳しい情報および手順については、Googleの サービス アカウント キーの作成と管理をご覧ください。
ステップ2:サービスアカウント用のJSONキーファイルを生成する
データ同期のためにサービスアカウントを新規に作成する場合でも、既存のものを利用する場合でも、Pendoのデータ同期の宛先に入力するJSONキーファイルは生成する必要があります。このキーの生成方法は次のとおりです。
- GCPで[IAM サービス アカウント]ページに移動し、データ同期に使用するサービスアカウントを見つけます。
- [操作]列で、サービスアカウントの横にある縦並びの点をクリックし、 [鍵を管理]を選択します。
- [鍵を追加]ドロップダウンメニューから[新しい鍵を作成]を選択します。
- 鍵のタイプとして[JSON]を選択し、[作成]をクリックします。
- お使いのコンピューターにキーが保存されたことを伝えるメッセージが表示されます。このメッセージは閉じて構いません。
これで、キーがコンピューターにインストールされました。この記事のステップ6で使用するため、キーは必ず保存してください。
ステップ3:GCSバケットを作成する
PendoからエクスポートされたデータはGCSバケットにコピーされます。GCSバケットは次の手順で作成します。
- Cloud Storageで[バケット]に移動し、ページの上部にある[バケットを作成]を選択します。
- バケットにわかりやすい名前を付けます。
- Googleワークフローに従って、データの場所とストレージクラスを選択し、オブジェクトへのアクセスを制御する方法とオブジェクトデータを保護する方法を指定します。
- [作成]をクリックします。
- パブリックアクセスがブロックされていることを知らせるメッセージが生成されます。[確認]をクリックします。
その後、Google Cloudの空のバケットが開きます。
ステップ4:GCSバケットにサービスアカウントへのアクセス権を付与する
GCPのサービスアカウントをGCSバケットのメンバーにして、ストレージ管理者の権限をサービスアカウントに付与します。
- Cloud Storageのバケットでデータ同期用のバケットを見つけ、次のいずれかを実施します。
- データ同期用のバケットを開き、上部の[権限]タブを選択し、[権限を付与]を選択します。
- [バケット] ページでデータ同期用バケットの横にある縦並びの点を選択し、 [権限を編集]を選択します。
- [プリンシパルを追加(Add principal)]を選択し、この記事のステップ1でコピーしたサービスアカウント名を貼り付けて、バケットへのアクセスを許可します。
- [役割を選択(Select a role)]で、 [クラウドストレージ(Cloud Storage)]>[ストレージ管理者(Storage Admin)]の順に選択します。これにより、GCSリソースの完全なコントロールが可能になります。または、特定の要件(
storage.objects.create
、storage.objects.delete
、storage.objects.update
)で独自の役割を作成します。 - [保存]を選択し、サービスアカウントにデータ同期バケットへのストレージ管理者権限があることを確認します。
ステップ5:Pendoでプロバイダーを選択する
ストレージバケットにデータを送信する前に、Pendoでターゲットとなる送信先を設定する必要があります。
- Pendoで、[設定(Settings)]>[データ同期(Data Sync)]の順に進みます。
- [宛先に接続(Connect to destination)]を選択します。
- 右側にスライドアウトするパネルで[Google Cloud Storage]タイルにカーソルを合わせます。
- [宛先を選択(Choose destination)]を選択します。パネルには、次のステップがまとめられています。
ステップ6. PendoでGCSアカウントの宛先を設定する
最後に、サービスアカウントキーをアップロードし、バケットURLをPendoに設定します。
- バケットのURLを入力します。これは、[Google Cloud Storage]>[バケット(Buckets)]で作成されたデータ同期用バケットの構成(CONFIGURATION)タブにあります。概要(Overview )表の[gsutil URI]行にあるURLをコピーします。
- [JSONファイルをアップロード(Upload JSON file)]を選択し、本記事のステップ2で作成しダウンロードしたJSONキーファイルをアップロードします。
- サービスアカウントとシークレットキーを手動で入力する場合は、次の手順を実行します。
- JSONキーファイルに対応するサービスアカウントのメール名を入力します。
- サービスアカウントのJSONキーから
private_key
の値を入力します。
- [宛先を検証(Validate Destination)]を選択し、入力した認証情報をテストします。
- 正常に検証されたら、[宛先を作成(Create Destination)]を選択します。
認証情報のローテーション
PendoでGCSの宛先を構成した後に認証情報を更新するには、以下の2つの方法があります。
- Pendo UIを使って手動で更新する。
- 公開APIを使って自動で更新する。
公開APIのエンドポイントを使用してデータ同期の認証情報を更新するには、書き込み権限のあるインテグレーションキーが必要です。
Pendo UIを使う
- Pendoで、[設定]>[データ同期(Data Sync)]に移動します。
- ページの右上にある[宛先を管理(Manage destination)]を選択します。
- JSONファイルの使用または手入力により、新しい認証情報を指定します。
公開APIを使う
- Pendoのインテグレーションキーの記事で説明されている手順に従って、新しいPendoインテグレーションキーを生成します。
- Pendoの公開API資料で、[データ同期]>[GCS宛先の認証情報のローテーション(Rotate Credentials for GCS Destination)]に移動します。
- 公開APIのエンドポイントを使用してクラウドストレージの認証情報を更新する手順に従います。