始める前に
以下が必要です。- AEM as a Cloud Service のプログラムと Author 環境
- Adobe が管理するリポジトリへのコミットと設定パイプラインの実行を行うための AEM Cloud Manager へのアクセス権(Deployment Manager ロールが必要)
- Adobe Admin Console でプロダクトプロファイルを管理する権限と、Adobe Developer Console で OAuth 認証情報を作成する権限
- Profound アカウント
セットアップガイド
1
AEM 環境を選択する
- Adobe Cloud Manager を開きます。
- Profound で使用する予定の AEM プログラムを所有している組織でサインインします。
- プログラムを選択して開き、左サイドバーで Environments を選択します。
- 使用する予定の環境を開き、ベースの Author URL をコピーします。URL は
https://author-p12345-e67890.adobeaemcloud.comのような形式です。
2
AEM 環境で API アクセスを準備する
環境で API アクセスを有効にするには、Adobe の AEM API セットアップガイドに従ってください。完了したら、AEM API で使用する正しいプロダクトプロファイルがあることを確認します。
- Adobe Cloud Manager の AEM プログラムの環境ページ(ステップ 1 で作業していたページ)に戻ります。
- 環境のアクションメニューを開き、Manage Access > Author Profiles を選択します。Adobe Admin Console で環境のページが開きます。

- プログラムと環境に対して AEM Sites Content Managers - author… プロファイルが存在することを確認します。

3
認証情報の作成者に Developer ロールを割り当てる
Profound で認証を行うには、OAuth 認証情報を作成します。作成できるのは、ご自身、または AEM Sites Content Managers プロダクトプロファイルで Developer ロールを持つユーザーです。認証情報の作成者に Developer ロールを割り当てるには、ステップ 2 の続きから作業します。
- Adobe Admin Console の環境のページで、AEM Sites Content Managers - author… プロダクトプロファイルを選択します。
- Developers タブを開き、Add developers を選択します。

- OAuth 認証情報を作成するユーザーのメールアドレスまたはユーザー名を追加し、Save を選択します。
4
OAuth Server-to-Server 認証情報を作成する
- Adobe Developer Console を開きます。これらの手順を順番に進めている場合は、Author AEM 環境を所有する組織(ステップ 1 と同じ組織)ですでにサインインしているはずです。
- Quick start セクションで Create new project を選択するか、上部のナビゲーションメニューで Projects に移動して Create new project を選択します。

- プロジェクトページで Edit project を選択し、プロジェクトにわかりやすい名前(Profound integration credentials など)を付けて、Save を選択します。

- Add to Project > API を選択します。

- Add an API ページで、API 一覧を Experience Cloud で絞り込み、AEM CS Sites Content Management を選択して、Next を選択します。

- 認証タイプとして Server-to-Server > OAuth Server-to-Server を選択します。


- ステップ 2 で準備した Author プロダクトプロファイルを選択し、設定を保存します。

AEM Sites Content Management API は、Profound が使用するフォルダーへのアクセスも提供します。追加の認証情報は必要ありません。
5
接続値を取得する
API 設定を保存すると、Adobe Developer Console のプロジェクトページに戻ります。Credentials セクションで、新しい OAuth Server-to-Server 認証情報を選択します。認証情報のページから、Profound で AEM インテグレーションを作成するために必要な値をコピーします。
- Client ID
- Client Secret
- Scopes — Adobe に表示されているとおりに、値全体を正確にコピーします
-
Organization ID — 任意。AEM テナントで
x-gw-ims-org-idヘッダーが必要な場合にのみコピーします
6
クライアント ID を AEM 環境に登録する
認証情報を使用する前に、そのクライアント ID を Author 環境に登録します。
- Adobe Cloud Manager に戻り、プログラムを開いて、左サイドバーで Repositories を選択します。
- 環境の設定パイプラインで使用されている、Adobe が管理するリポジトリとブランチを特定します。

- Access Repo Info を選択し、リポジトリの URL とアクセス認証情報をコピーします。
- 通常の開発ワークフローを使用してリポジトリをローカルマシンにクローンし、ルートディレクトリにある
config/api.yamlファイルを、次の設定で作成または更新します。
<CLIENT_ID> を、ステップ 5 で Developer Console からコピーしたクライアント ID に置き換えます。他の API 認証情報がすでに設定されている場合は、既存の設定を維持し、allowedClientIDs の下にある author リストにクライアント ID を追加してください。7
設定パイプラインで API 設定をデプロイする
- Adobe Cloud Manager のプログラムページのまま、左サイドバーで Pipelines を選択します。
- Add Pipeline を選択し、開発環境の場合は Add Non-Production Pipeline を、ステージングおよび本番環境の場合は Add Production Pipeline を選択します。

- Add Pipeline ダイアログで Deployment Pipeline を選択し、パイプラインにわかりやすい名前を付けて、Continue を選択します。
- 次の画面で、以下のように値を入力します。
- Select code to deploy: Targeted deployment
- Include: Config
- Eligible Deployment Environments: ドロップダウンから AEM 環境を選択します
- Repository、Git Branch、Code Location: ステップ 6 のリポジトリ、ブランチ、設定ディレクトリ
- Save を選択します。

8
Profound で AEM S2S インテグレーションを追加する
- Profound で、プラットフォームの左上隅にある組織名を選択し、Settings を選択します。
- 左サイドバーで、Account の下にある Integrations を選択します。
- Adobe Experience Manager (S2S) を検索して選択します。

- Adobe Experience Manager (S2S) インテグレーション画面で、+ Add account を選択します。
- Connect Adobe Experience Manager (S2S) ダイアログで、ステップ 1 の Author URL と、ステップ 5 で取得したクライアントシークレット、クライアント ID、スコープ、組織 ID を入力します。
- Connect account を選択します。


9
接続を確認する
Profound が AEM 環境を操作するために必要なすべての権限を持っていることを確認するには、AEM の Agent ノードが正常に実行されることを確認します。
- Profound で新しい Agent を作成するか、既存の Agent の下書きを開きます。
- Adobe Experience Manager の List Content Fragments ノードと Get Content Fragment ノードを追加し、接続済みの AEM インスタンスを選択します。
- ノード設定パネルで Test node(再生アイコン)を選択し、AEM の出力に想定どおりのデータが含まれていることを確認します。

- Profound Agents でコンテンツフラグメントの作成や更新を行う予定の場合は、Create Content Fragment ノードと Update Content Fragment ノードも同じ方法でテストしてください。
テスト用のコンテンツは、AEM 環境で直接削除してください。現在の Profound Agent ノードには削除操作が含まれていません。
AEM 認証情報のローテーション
クライアントシークレットのみをローテーションする
Adobe では、1 つの OAuth Server-to-Server 認証情報に 2 つのクライアントシークレットを設定できるため、クライアント ID を変更せずにローテーションできます。 Adobe の開発者向けドキュメントの手順に従ってクライアントシークレットをローテーションし、Profound で認証情報を更新します(接続済みアカウントのアクションメニューで Integrations > Adobe Experience Manager (S2S) > Edit credentials)。 この手順ではクライアント ID は変わらないため、api.yaml を更新したり再デプロイしたりする必要はありません。
OAuth 認証情報全体をローテーションする
AEM の OAuth 認証情報全体を置き換えるには、次の手順を実行します。- セットアップガイドのステップ 4 の説明に従って、新しい認証情報を生成します。
- セットアップガイドのステップ 6 の手順に従って、新しいクライアント ID を
config/api.yamlにデプロイします。 - Profound で認証情報を更新します。
ベストプラクティス
- Author 環境のみを使用してください。Profound は AEM の Publish や Preview には接続しません。環境について詳しくは、AEM as a Cloud Service のチュートリアルをご覧ください。
- Profound Agent の読み取りノードと書き込みノードを個別にテストし、フォルダーとリポジトリの権限を確認してください。
- クライアントシークレットやその他の認証情報は、必ず承認されたシークレットマネージャーに保存し、スクリーンショット、チケット、ソース管理には決して含めないでください。