ユーザが Vault のコンテンツをウェブサイトやその他のデジタルチャネルで使用する場合、準拠しなくなったコンテンツが公開される恐れがあります。Vault では規制コンテンツを様々な配布チャネルにプッシュし、過去のコンテンツや廃止されたコンテンツを組織が簡単に回収できるため、そのようなリスクをなくすことができます。Vault Digital Publishing を使用すると、CDN (コンテンツ配布ネットワーク) のパフォーマンスのメリットを生かしてコンテンツを世界中の利用者に提供し、Vault の規制に関するメリットを生かしてレビューと承認を行った同じシステムでコンテンツを簡単に回収できます。
注: この機能は、市販の Vault (PromoMats および MedComms) でのみ利用可能であり、以前のリリースでは「Vault CDN サポート」と呼ばれていました。
サポートされている CDN
Vault Digital Publishing ではお使いの Vault を Amazon CloudFront に統合して組織の Amazon S3 バケットを使用できます。
S3 バケットが Vault にアクセスできるようにするには、適切な設定が必要です。
Amazon S3 バケットおよび CloudFront の設定
Vault Digital Publishing を使用する前に、Amazon S3 バケットおよび Amazon CloudFront を設定する必要があります:
- 必要なバケットを作成します。本番とステージング環境の両方で Vault Digital Publishing を使用する場合は、2 つのバケットが必要です。Vault Digital Publishing ではバケット名は何でも構いませんが、区別できる必要があります。
- バケットへのオブジェクトの読取り権限、オブジェクトの書き込み権限、およびバケットの読取り権限を、以下の正規 ID に付与します:
6aa09b8b08a72fa7c87711134cbbdca1a855f619b5679ad7a90b9d947420928f
これにより Vault が S3 バケットの読み取りと書き込みを行えるようになります。 - CloudFront でオリジンアクセスアイデンティティを作成します。Amazon S3 正規ユーザ ID をメモします。Vault は後でデジタルパブリッシング設定を入力する際にこの ID を使用します。
- CloudFront で後で必要になるウェブディストリビューションを作成します。本番とステージング環境の両方で Vault Digital Publishing を使用する場合は、2 つのディストリビューションが必要です。すべてのディストリビューションでデフォルト設定を使用できます。ドメイン名をメモします。Vault は後でデジタルパブリッシング設定を入力する際に使用します。
- 検証ファイルを使用して、Vault Digital Publishing で使用したい S3 バケットを検証します。
ディストリビューション設定
以下のディストリビューション設定を使用することをお勧めします:
- オリジンドメイン名: 本番またはステージング用の S3 バケット
- バケットアクセスの制限: はい
- オリジンアクセスアイデンティティ: 既存の ID を使用して前の手順で作成したオリジンアクセスアイデンティティを選択します。
- 参照権限の付与: いいえ、権限を更新します
Vault Digital Publishing を有効化する方法
有効化を開始する前に Vault Digital Publishing を使用できるように Amazon S3 バケットを設定する必要があります。
Vault Digital Publishing を有効化して設定するには:
- 管理者 > 設定から編集をクリックします。
- デジタルパブリッシングを有効化するチェックボックスを選択します。
- 任意の作業: ステージングにプッシュの有効化チェックボックスを選択してステージング環境へのプッシュを有効化します。
- 任意の作業: CDN 利用状況の抽出の有効化チェックボックスを選択して、利用状況の抽出ができるようにします。
- 管理者 > コンテンツ設定 > ドキュメントフィールドに移動します。Vault Digital Publishing を使用したいドキュメントタイプに、デジタルパブリッシング (
cdn_content__v
)、本番環境 CDN URL (production_cdn_url__v
)、および (オプション) ステージング CDN URL (staging_cdn_url__v
) 共有フィールドを追加します。 - 管理者 > 設定 > デジタルパブリッシング設定に進み、本番用バケットおよび (オプションの) ステージングバケットおよび (オプションの) ログ記録バケットの Amazon S3 詳細を提供します。詳細はデジタルパブリッシング設定を参照してください。
- 保存後にブラウザウィンドウを更新すると、UI の左側のメニュー項目にデジタルパブリッシング設定が表示されます。
デジタルパブリッシング設定
Vault Digital Publishing が有効にした後、CDN に接続するための設定を行う必要があります。
- 管理者 > 設定 > デジタルパブリッシング設定に進み、編集をクリックします。
- 本番用バケット、および (オプションの) ステージングバケット、および (オプションの) ログ記録バケットの詳細を入力します。Vault Digital Publishing を使用するには、本番用バケットにこれらの詳細を入力する必要があります。ステージングバケットは、組織がステージング環境を使用する場合にのみ必要です。
- S3 バケットの地域を決定します。これはコンソールの URL にあります。例えば、
https://console.aws.amazon.com/console/home?region=us-east-1
という URL の地域は us-east-1 になります。 - URL
https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
に進んで、ご自身の地域に該当する項目を探します。次の形式を使用するエンドポイントをコピーします:s3.
Vault ではこの値を S3 エンドポイントフィールドに入力します。.amazonaws.com - S3 バケット名を入力します。これは、例えば vault-production のように接続しているバケット名で、Amazon S3 コンソールにあります。
- CDN ドメインを入力します。これは Amazon CloudFront 設定で指定され、S3 を指します。
- CloudFront で作成したオリジンアクセスアイデンティティの CloudFront オリジンアクセスアイデンティティ正規 ID ARN (Amazon リソース名) を入力します。
- 以下の手順に従い、バケットに検証ファイルを追加します。
バリデーション
20R1.3 リリースより、新規バケットの追加または既存設定の編集を行う際には、追加の検証手順を完了する必要があります。検証手順を完了するには、Vault および AWS Cloudfront/S3 の両方に接続することをお勧めします。Vault に複数のバケットが設定されている場合、設定がいずれかのバケットのみに適用される場合でも、設定の変更を保存するには両方のバケットを検証する必要があります。S3 バケットを検証するには:
- Vault で管理者 > 設定 > デジタルパブリッシング設定に進み、編集をクリックします。
- 検証ファイルのダウンロードリンクをクリックします。検証ファイルは 30 分間有効で、名前は verification.jwt とします。
- S3 バケットのルートディレクトリに進み、前の手順でダウンロードした verifcation.jwt ファイルをアップロードして、クリックして開きます。
- 権限タブでアカウントの追加をクリックして、以下の正規 ID を追加します:
6aa09b8b08a72fa7c87711134cbbdca1a855f619b5679ad7a90b9d947420928f
- オブジェクトの読取りおよびオブジェクトの読取り権限チェックボックスを設定して、保存をクリックします。
- Vault Digital Publishing で使用する S3 バケットごとに手順 3~5 を繰り返します。例えば、本番用バケット、ステージングバケット、およびログ記録バケットがある場合、検証ファイルを 3 つすべてのバケットに追加する必要があります。
- Vault のデジタルパブリッシング設定に戻り、それぞれのバケットで検証ボタンをクリックします。
Vault が特定のバケットのバリデーションを実行できない場合は、以下のいずれかのメッセージが表示されます:
- つながることができません
- バケットへの書き込みができません
- バケットから削除できません
- バケットからの読み込みができません
- 検証ファイルがバケットにありません
Vault は本番用バケット、およびステージングバケット、およびログ記録バケットで同じ S3 バケット名および CDN ドメインが使用されていないかどうかも確認します。
注: Vault は、入力された CDN ドメインが有効かどうかや、ログ記録バケットセクションで指定されたディレクトリが存在するかどうかを検証しません。
CDN 利用状況の抽出について
Vault CDN 利用状況の抽出では、CloudFront の利用状況データを Vault に取り込んで集計するような設定が可能です。利用状況データを抽出できるようにするには、CloudFront ログ記録を有効化する必要があります。使用の抽出を行うと、Vault のレポート機能を利用して Vault CDN から公開されたコンテンツの利用状況を表示および分析できます。Vault は Vault CDN 利用状況の抽出ジョブにより利用状況ログを 1 日 1 回取得してチャネルの利用状況オブジェクトに読み込みます。利用状況の抽出を有効化しない場合、Vault CDN 利用状況の抽出ジョブは無効になり、ログ記録の詳細は取得されません。
CloudFront 利用状況のログ記録の有効化
CloudFront はこの機能が設定されている場合にのみ利用状況ログを生成します。ログ記録を有効化するには、AWS CloudFront に進みます。
- AWS CloudFront に進みます。
- 利用状況ログ記録をオンに設定したい CloudFront ディストリビューションをクリックします。
- 編集をクリックします。
- ログ記録でオンを選択します。
- 利用状況ログを書き込むバケットを指定します。データのログ記録専用のバケットを作成することをお勧めします。
/ の形式でログ接頭辞を指定します。例えば、logging/ です。Vault 利用状況の抽出ジョブを正常に実行するには、ログ接頭辞を指定する必要があります。- はい、編集をクリックします。
CloudFront が書き込む利用状況ログへのアクセス
CloudFront がログファイルを作成する場合、S3 バケットの所有者にログの参照権限のみが付与されます。Vault CDN 利用状況の抽出ジョブが正常に実行されるためには、CloudFront 使用ログ記録プロセスで書き込まれるすべての利用状況ログに対する適切な読取り権限を設定する必要があります。Veeva には CloudFront によって作成された .gz 拡張子を持つすべての利用状況ログに対する Veeva 正規 ID 読取り権限を自動的に付与する Lambda 機能があります。Lambda 機能を設定するには、以下の手順を実行します:
IAM ポリシーに必要な権限
Lambda 機能を実行するには特定の権限が必要です。Lambda 機能用の新しいポリシーを作成するか、既存のポリシーを変更することができます。少なくとも Lambda 機能を実行するロールには以下のリソースで以下のアクションをサポートするポリシーが必要です:
効果 | アクション | リソース |
---|---|---|
許可する | logs:CreateLogGroup 、logs:CreateLogStream 、logs:PutLogEvents | arn:aws:logs:*:*:* |
許可する | s3:GetObjectAcl 、s3:GetBucketAcl 、s3:PutObjectAcl | arn:aws:s3:::[bucket name]/* 、arn:aws:s3:::[bucket name] バケット名には CloudFront 利用状況ログが書き込まれるバケット名を入れてください。 |
以下に示すのは、適切な権限を持つポリシーの JSON の例です。この例では、CloudFront が cdn-logging という名前のバケットに利用状況ログを書き込みます。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": [
"s3:GetObjectAcl",
"s3:GetBucketAcl",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::cdn-logging/*",
"arn:aws:s3:::cdn-logging"
]
}
]
}
Lambda 機能の作成
以下の手順では、AWS コンソールから Lambda 機能を作成する方法を説明します。Lambda 関数の設定にお手伝いが必要な場合は、Veeva サポートにご連絡ください。
Lambda 機能を作成するには:
- AWS コンソールで Lambda を選択します。
- 機能の作成をクリックします。Author from scratch (デフォルト) が選択されていることを確認します。
- Lambda 機能の名前を入力します。
- ランタイムドロップダウンリストから Python 3.8 を選択します。
- ロールドロップダウンリストからカスタムロールの作成を選択します。新しいページが表示されます。
- 新しい IAM ロールの作成が選択されていることを確認します。
- ロール名を入力するか、デフォルトの名前を承認します。
- 許可をクリックします。
- 前の手順で作成したロールが既存のロールの下に表示されていることを確認します。
- 機能の作成をクリックします。
Lambda 機能の設定
Lambda 機能を設定するには:
- スクロールして機能コードを表示します。
- コード入力タイプで .ZIP ファイルのアップロードを選択します。
- .ZIP ファイルをアップロードします。
- ランタイムに Python 3.8 が表示されていることを確認します。
- 保存をクリックします。この機能は変更できません。Vault はコードの変更をサポートしていません。
Lambda 機能のトリガーの設定
Lambda 機能のトリガーを設定するには:
- 設計者セクションで S3 をクリックすると、Lambda 機能にトリガーを追加できます。これにより S3 がトリガーとして追加され、トリガーの設定セクションに表示されます。
- CloudFront が利用状況ログを書き込むバケットを選択します。
- デフォルトのオブジェクト作成済み (すべて) がイベントタイプに表示されていることを確認します。
- 接頭辞は空白のままにします。
- 接尾辞フィールドに .gz を入力します。
- トリガーの有効化を選択します。
- 追加をクリックします。
- 保存をクリックして Lambda 機能を保存します。
利用状況の抽出のための Vault Digital Publishing 設定
- 管理者 > 設定 > デジタルパブリッシング設定に進み、編集をクリックします。
- https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region に進んで、ご自身の地域に該当する項目を探します。次の形式を使用するエンドポイントをコピーします:
s3.\
Vault ではこの値を S3 エンドポイントフィールドに入力します。.amazonaws.com - S3 バケット名を入力します。これは、例えば vault-logging のように接続しているバケット名で、Amazon S3 コンソールにあります。
- ログディレクトリを入力します。これは CloudFront ログが書き込まれるディレクトリの名前です。このディレクトリはディストリビューションで CloudFront 利用状況ログ記録が有効になっている場合に指定されます。例えば、CloudFront ディストリビューションで「logging/」という名前を指定した場合、ログディレクトリとして「logging」と入力します。
- ディストリビューション ID を入力します。これは CloudFront ディストリビューションのディストリビューション ID です。Vault はこの ID を正しいログの抽出に使用します。ファイル抽出プロセスはファイル名に指定されたディストリビューション ID が含まれるすべてのファイルを参照し、ファイルで見つかった日付を抽出します。
- 検証をクリックします。Vault は S3 エンドポイントおよびバケット名が正しいこと、およびユーザにそのディレクトリ内のファイルを参照する適切な権限があることを検証します。
チャネルの利用状況の表示
Vault CDN 利用状況の抽出ジョブが正常に実行されると、抽出の結果がチャネルの利用状況オブジェクトに書き込まれます。
コンテンツがチャネルの利用状況オブジェクトに書き込まれると、データが活動日、活動タイプ、ドキュメント、レンディションタイプ、およびエッジロケーションごとにグループ化されて集計されます。
- 活動回数フィールドにはこのグループ化に基づく合計回数が反映されます。
- エッジロケーションフィールドは要求に応じた CloudFront エッジロケーションに対応します。各エッジロケーションは、3 文字のコードと任意で割り当てられた番号 (例: DFW3) で特定されます。3 文字のコードは通常、エッジロケーション付近の国際航空運送協会の空港コードに対応しますが、AWS によれば今後変更される可能性もあります。
Vault ユーザにチャネルの利用状況オブジェクトの適切な参照権限を付与する必要があります。適切な権限を付与してから、追加の設定を行ってチャネルの利用状況オブジェクトをタブとして含めるか、チャネルの利用状況オブジェクトをプライマリオブジェクトとして使用して新しいレポートタイプを設定します。