OpenAPI ベースの AEM API の設定

AEM as a Cloud Service 環境を設定して、OpenAPI ベースの AEM API へのアクセスを有効にする方法を学びます。

この例では、{Server-to-Server 認証方式を使用する 0}AEM Assets API を使用して、OpenAPI ベースのAEM API のセットアッププロセスを示します。​同様の手順に従って、​ その他の OpenAPI ベースのAEM API を設定できます。

高度な設定プロセスには、次の手順が含まれます。

  1. AEM as a Cloud Service 環境の最新化。
  2. AEM API アクセスの有効化。
  3. Adobe Developer Console(ADC)プロジェクトの作成。
  4. ADC プロジェクトの設定。
  5. ADC プロジェクト通信を有効にする AEM インスタンスの設定。

前提条件

  • Cloud ManagerおよびAEM as a Cloud Service環境へのアクセス
  • Adobe Developer Console(ADC)にアクセスします。
  • api.yaml ファイルの API 設定を追加または更新するAEM プロジェクト。

AEM as a Cloud Service 環境の最新化。 modernization-of-aem-as-a-cloud-service-environment

AEM as a Cloud Service環境の最新化は、次の手順を含む 環境ごとに 1 回のアクティビティ です。 AEM as a Cloud Service環境を既に最新化している場合は、この手順をスキップできます。

  • AEM リリース(2024.10.18459.20241031T210302Z)以降に更新します。
  • リリース(2024.10.18459.20241031T210302Z)より前に環境が作成された場合は、新しい製品プロファイルを追加します。

AEM インスタンスの更新 update-aem-instance

  • AEM インスタンスを更新するには、Adobe Cloud Manager にログインした後、「環境」セクションに移動し、環境名の横にある 省略記号 アイコンを選択して、「更新」オプションを選択します。

AEM インスタンスの更新

  • 次に、「送信」ボタンをクリックし、推奨​フルスタックパイプラインを実行します。

最新の AEM リリースバージョンの選択

この場合、フルスタックパイプラインの名前は Dev :: Fullstack-Deploy で、AEM 環境の名前は wknd-program-dev です。名前が異なる場合があります。

新しい製品プロファイルの追加 add-new-product-profiles

  • AEM インスタンスに新しい製品プロファイルを追加するには、「Adobe Cloud Manager」の「環境」セクションで、環境名の横にある​ 省略記号 ​アイコンを選択し、「製品プロファイルの追加」オプションを選択します。

新しい製品プロファイルの追加

  • 環境名の横にある 省略記号 アイコンをクリックし、アクセスを管理/オーサープロファイル を選択して、新しく追加された製品プロファイルを確認します。

  • Admin Console ウィンドウに、新しく追加された製品プロファイルが表示されます。 AEM Assets、AEM Sites、AEM FormsなどのAEMの使用権限に応じて、異なる製品プロファイルが表示される場合があります。 例えば、このケースではAEM Assetsと Sites の使用権限があるので、次の製品プロファイルが表示されます。

新しい製品プロファイルの確認

  • 上記の手順で、AEM as a Cloud Service 環境の最新化が完了します。

AEM API アクセスの有効化 enable-aem-apis-access

新しい製品プロファイル が存在すると、Adobe Developer Console(ADC) ​ で OpenAPI ベースのAEM API アクセスが可能になります。 これらの製品プロファイルがないと、Adobe Developer Console(ADC)で OpenAPI ベースのAEM API を設定することはできません。

新しく追加された製品プロファイルは、サービス​に関連付けられています。これは、事前定義されたアクセス制御リスト(ACL)を持つ AEM ユーザーグループ​を表します。サービス は、AEM API へのアクセスレベルを制御するために使用されます。 また、製品プロファイルに関連付けられた​ サービス ​を選択または選択解除して、アクセスレベルを増減することもできます。

製品プロファイル名の横にある 詳細を表示 アイコンをクリックして、関連付けを確認します。 次のスクリーンショットでは、AEM Sites Content Managers - author - Program XXX - Environment XXX Product Profile と AEM Sites Content Managers Service の関連付けを確認できます。 他の製品プロファイルとそのサービスとの関連を確認します。

製品プロファイルに関連付けられたサービスの確認

AEM API アクセスを有効にする enable-aem-assets-apis-access

この例では、AEM Assets API を使用して、OpenAPI ベースのAEM API の設定プロセスを示します。 ただし、デフォルトでは、AEM Assets API Users Service は製品プロファイルに関連付けられていません。 目的の製品プロファイルに関連付ける必要があります。

新しく追加された AEM Assets 共同作業者ユーザー - オーサー - プログラム XXX - 環境 XXX 製品プロファイルまたはAEM Assets API アクセスに使用するその他の製品プロファイルに関連付けましょう。

AEM Assets API Users Service を製品プロファイルを関連付ける

サーバー間認証を有効にする

目的の OpenAPI ベースのAEM API に対してサーバー間認証を有効にするには、Adobe Developer Console(ADC)を使用して統合を設定するユーザーを、サービス が関連付けられている 製品プロファイル に Developer として追加する必要があります。

例えば、AEM Assets API に対してサーバー間認証を有効にするには、ユーザーを開発者として AEM Assets Collaborator Users - author - Program XXX - Environment XXXProduct Profile に追加する必要があります。

開発者を製品プロファイルに関連付ける

この関連付けの後、ADC プロジェクトの Asset Author API で目的のサーバー間認証を設定し、ADC プロジェクトの認証アカウント(次の手順で作成)を製品プロファイルに関連付けることができます。

IMPORTANT
上記の手順は、目的の AEM API のサーバー間認証を有効にするために重要です。この関連付けがないと、AEM API をサーバー間認証で使用することができません。

上記のすべての手順を実行して、OpenAPI ベースのAEM as a Cloud Service API へのアクセスを有効にするAEM環境を準備しました。 次に、Adobe Developer Console(ADC)プロジェクトを作成して、OpenAPI ベースのAEM API を設定する必要があります。

Adobe Developer Console(ADC)プロジェクトの作成。 adc-project

Adobe Developer Console(ADC)プロジェクトは、OpenAPI ベースのAEM API の設定に使用します。 Adobe Developer Console(ADC)は、Adobe API、SDK、リアルタイムイベント、サーバーレス関数などにアクセスするための開発者ハブです。

ADC プロジェクトを使用して、目的の API を追加し、その認証を設定して、認証アカウントを製品プロファイルに関連付けます。

ADC プロジェクトを作成するには、次の手順に従います。

  1. Adobe ID を使用して Adobe Developer Console にログインします。

    Adobe Developer Console

  2. クイックスタート」セクションで、「新規プロジェクトの作成」ボタンをクリックします。

    新規プロジェクトの作成

  3. これにより、デフォルトの名前で新しいプロジェクトが作成されます。

    新しいプロジェクトが作成されました

  4. 右上隅の「プロジェクトを編集」ボタンをクリックして、プロジェクト名を編集します。わかりやすい名前を指定し、「保存」をクリックします。

    プロジェクト名の編集

ADC プロジェクトの設定 configure-adc-project

ADC プロジェクトを作成したら、目的の AEM API を追加し、その認証を設定して、認証アカウントを製品プロファイルに関連付ける必要があります。

この場合、AEM Assets API は、OpenAPI ベースのAEM API 設定プロセスを示すために使用されます。 ただし、同様の手順に従って、AEM Sites APIAEM Forms API など、他の OpenAPI ベースのAEM API を追加す ことができます。 AEMの使用権限によって、Adobe Developer Console(ADC)で使用可能な API が決まります。

  1. AEM API を追加するには、「API を追加」ボタンをクリックします。

    API の追加

  2. API を追加​ダイアログで、Experience Cloud でフィルタリングし、目的の AEM API を選択します。例えば、この場合、「Asset Author API」が選択されます。

    AEM API の追加

    note tip
    TIP
    必要な AEM API カード​が無効になっている場合と、無効になっている理由​情報に「ライセンスが必要です」というメッセージが表示される場合、理由の 1 つは、AEM as a Cloud Service環境を最新化していないことが考えられます。詳しくは、AEM as a Cloud Service 環境の最新化を参照してください。
  3. 次に、API を設定​ダイアログで、目的の認証オプションを選択します。例えば、この場合、「サーバー間」認証オプションが選択されます。

    認証の選択

    サーバー間認証は、ユーザーインタラクションなしで API アクセスが必要なバックエンドサービスに最適です。Web アプリと単一ページアプリの認証オプションは、ユーザーの代わりに API アクセスを必要とするアプリケーションに適しています。詳しくは、OAuth サーバー間資格情報と、web アプリ間資格情報と単一ページアプリ資格情報の違いを参照してください。

    note tip
    TIP
    サーバー間認証オプションが表示されない場合は、統合を設定するユーザーが、サービスが関連付けられている製品プロファイルに開発者として追加されていないということを意味します。詳しくは、サーバー間認証を有効にするを参照してください。
  4. 必要に応じて、識別しやすくするために API の名前を変更できます。デモ用には、デフォルト名が使用されます。

    資格情報の名前の変更

  5. この場合、認証方法は OAuth サーバー間​なので、認証アカウントを製品プロファイルに関連付ける必要があります。AEM Assets 共同作業者ユーザー - オーサー - プログラム XXX - 環境 XXX 製品プロファイルを選択し、「保存」をクリックします。

    製品プロファイルの選択

  6. AEM API と認証設定を確認します。

    AEM API 設定

    認証設定

OAuth Web アプリ​または OAuth 単一ページアプリ​の認証方法を選択した場合、製品プロファイルの関連付けは表示されませんが、アプリケーションリダイレクト URI が必要です。アプリケーションリダイレクト URI は、認証コードによる認証後にユーザーをアプリケーションにリダイレクトするために使用されます。関連するユースケースのチュートリアルでは、このような認証固有の設定について概説しています。

ADC プロジェクト通信を有効にする AEM インスタンスの設定 configure-aem-instance

次に、上記の ADC プロジェクト通信を有効にするようにAEM インスタンスを設定する必要があります。 この設定では、ADC プロジェクトの ClientID がAEM インスタンスと通信できず、403 Forbidden エラーが発生します。 この設定は、許可されたクライアント ID のみがAEM インスタンスと通信できるようにするファイアウォールルールと考えてください。

手順に従って、上記の ADC プロジェクト通信を有効になるようにAEM インスタンスを設定します。

  1. ローカルマシンでAEM プロジェクトに移動し(または、まだクローンしていない場合はクローンを作成)、config フォルダーを見つけます。

  2. AEM プロジェクトで、api.yaml フォルダーから config ファイルを探すか、作成します。 ここでは、AEM WKND サイトプロジェクト ​ を使用して、OpenAPI ベースのAEM API の設定プロセスを示します。

    API YAML を見つける

  3. ADC プロジェクトのクライアント ID がAEM インスタンスと通信できるように、api.yaml ファイルに次の設定を追加します。

    code language-yaml
    kind: "API"
    version: "1.0"
    metadata:
        envTypes: ["dev", "stage", "prod"]
    data:
        allowedClientIDs:
            author:
            - "<ADC Project's Credentials ClientID>"
    

    <ADC Project's Credentials ClientID> を ADC プロジェクトの資格情報値の実際のクライアント ID に置き換えます。このチュートリアルで使用する API エンドポイントはオーサー層でのみ使用できますが、その他の API の場合、yaml 設定に publish または preview ノードを含めることもできます。

    note caution
    CAUTION
    デモ目的では、すべての環境で同じクライアント ID が使用されます。セキュリティと制御の強化に、環境(開発、ステージ、実稼動)ごとに個別のクライアント ID を使用することをお勧めします。
  4. 設定変更をコミットし、Cloud Manager パイプラインが接続されているリモート Git リポジトリに変更をプッシュします。

  5. Cloud Managerで Config パイプライン ​ を使用して、上記の変更をデプロイします。

    YAML のデプロイ

api.yaml ファイルは、(コマンドラインツールを使用して 🔗RDE​ にインストールすることもでき ​ す。 これは、実稼動環境にデプロイする前に設定変更をテストする場合に役立ちます。

次の手順

AEM インスタンスを設定して ADC プロジェクト通信を有効にすると、OpenAPI ベースの AEM API の使用を開始できます。様々な OAuth 認証方法を使用して、OpenAPI ベースの AEM API を使用する方法を学びます。

サーバー間認証を使用した API の呼び出し

サーバー間認証を使用した API の呼び出し

OAuth サーバー間認証を使用して、カスタム NodeJS アプリケーションから OpenAPI ベースの AEM API を呼び出す方法を説明します。

詳細情報

Web アプリ認証を使用した API の呼び出し

Web アプリ認証を使用した API の呼び出し

OAuth web アプリ認証を使用して、カスタム web アプリケーションから OpenAPI ベースの AEM API を呼び出す方法を説明します。

詳細情報

単一ページアプリ認証を使用した API の呼び出し

単一ページアプリ認証を使用した API の呼び出し

OAuth 2.0 PKCE フローを使用して、カスタム単一ページアプリ(SPA)から OpenAPI ベースの AEM API を呼び出す方法を説明します。

詳細情報

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69