テクニカルアカウントの作成
ローカル開発アクセストークンとは異なり、サービス資格情報はダウンロードする前に、アドビ組織 IMS 管理者がテクニカルアカウントを作成する必要があります。 AEM にプログラムでアクセスする必要があるクライアントごとに、個別のテクニカルアカウントを作成する必要があります。
テクニカルアカウントは 1 回だけ作成されますが、秘密鍵はテクニカルアカウントに関連付けられたサービス資格情報の管理に使用します。 例えば、新しい秘密鍵とサービス資格情報は、現在の秘密鍵の有効期限が切れる前に生成され、サービス資格情報のユーザーが中断なしにアクセスできるようにする必要があります。
-
必ず以下としてログインします。
- Adobe IMS 組織のシステム管理者
- AEM オーサー の AEM 管理者 IMS 製品プロファイルのメンバー
-
Adobe Cloud Manager にログインします。
-
AEM as a Cloud Service 環境を含むプログラムを開き、サービス資格情報のセットアップを統合します。
-
「環境」セクションの環境の横にある省略記号をタップし、「Developer Console」を選択します。
-
「統合」タブをタップします。
-
「テクニカルアカウント」タブをタップします。
-
「テクニカルアカウントを新規作成」ボタンをタップします。
-
テクニカルアカウントのサービス資格情報が初期化され、JSON 形式で表示されます
AEM as a Cloud Service 環境のサービス資格情報が初期化されると、Adobe IMS 組織内の他の AEM 開発者がダウンロードできるようになります。
サービス資格情報のダウンロード
サービス資格情報のダウンロードは、初期化と同様の手順に従います。
-
必ず以下としてログインします。
- Adobe IMS 組織管理者
- AEM オーサー の AEM 管理者 IMS 製品プロファイルのメンバー
-
Adobe Cloud Manager にログインします。
-
統合先の AEM as a Cloud Service 環境を含んだプログラムを開きます。
-
「環境」セクションの環境の横にある省略記号をタップし、「Developer Console」を選択します。
-
「統合」タブをタップします。
-
「テクニカルアカウント」タブをタップします。
-
使用する テクニカルアカウント を展開します。
-
そのサービス資格情報がダウンロードされる 秘密鍵 を展開し、ステータスが「アクティブ」になっていることを確認します。
-
秘密鍵 に関連づけられている …/表示 をタップし、サービス資格情報 JSON を表示します。
-
左上のダウンロードボタンをタップして、サービス資格情報の値を含む JSON ファイルをダウンロードし、安全な場所に保存します。
サービス資格情報のインストール
JWT の生成に必要な詳細はサービス資格情報で指定されます。JWT は、AEM as a Cloud Service での認証に使用されるアクセストークンと交換されます。サービス資格情報は、AEM へのアクセスに使用する外部アプリケーション、システム、またはサービスがアクセスできる安全な場所に保存する必要があります。サービス資格情報の管理方法と管理場所は、顧客ごとに異なります。
簡単にするため、このチュートリアルではコマンドラインからサービス資格情報を渡します。ただし、IT セキュリティチームと協力して、組織のセキュリティガイドラインに従ってこれらの資格情報を保存し、アクセスする方法を理解するようにしてください。
- ダウンロードしたサービス資格情報 JSONをプロジェクトのルートにある
service_token.json
という名前のファイルにコピーします。- 資格情報 は Git にコミットしないようにしてください。
サービス資格情報の使用
サービス資格情報(完全な JSON オブジェクト形式)は、JWT やアクセストークンとは異なります。秘密鍵を含むサービス資格情報を使用して JWT を生成し、アクセストークン用の Adobe IMS API と交換します。
- AEM Developer Console から安全な場所にサービス資格情報をダウンロードします。
- 外部アプリケーションは、AEM as a Cloud Service 環境とプログラムでやり取りする必要があります
- 外部アプリケーションは、安全な場所からサービス資格情報を読み取ります。
- 外部アプリケーションは、サービス資格情報の情報を使用して JWT トークンを構築します。
- JWT トークンは Adobe IMS に送信され、アクセストークンと交換されます。
- Adobe IMS は、AEM as a Cloud Service へのアクセスに使用できるアクセストークンを返します
- アクセストークンの有効期限を変更することはできません。
- 外部アプリケーションは、AEM as a Cloud Service に HTTP リクエストを行い、アクセストークンを Bearer トークンとして HTTP リクエストの認証ヘッダーに追加します。
- AEM as a Cloud Service が、HTTP リクエストを受信して認証し、HTTP リクエストで要求された作業を実行し、HTTP レスポンスを外部アプリケーションに返します。
外部アプリケーションの更新
サービス資格情報を使用してAEM as a Cloud Service にアクセスするには、外部アプリケーションを次の 3 つの方法で更新する必要があります。
- サービス資格情報を読み取る
- 簡単にするために、サービス資格情報はダウンロードした JSON ファイルから読み取りますが、実際のシナリオでは組織のセキュリティガイドラインに従って、サービス資格情報を安全に保存してください。
- サービス資格情報から JWT を生成する
- JWT をアクセストークンと交換する
- サービス資格情報が存在する場合、外部アプリケーションは AEM as a Cloud Service にアクセスする際に、ローカル開発アクセストークンではなく、このアクセストークンを使用します
このチュートリアルでは、(1)サービス資格情報からの JWT の生成、(2)1 回の関数呼び出しによるアクセストークンとの交換の両方にアドビの @adobe/jwt-auth
npm モジュールを使用しています。アプリケーションが JavaScript ベースではない場合は他の言語のサンプルコードを参照し、サービス資格情報から JWT の作成方法と Abode IMS でのアクセストークンとの交換方法をご確認ください。