OpenAPI ベースの AEM API
- 適用対象:
- Experience Manager as a Cloud Service
- トピック:
- 開発
作成対象:
- 初心者
- 開発者
- リーダー
認証のサポート、主要概念、Adobe API へのアクセス方法など、OpenAPI ベースの AEM API について学びます。
OpenAPI Specification(旧称 Swagger)は、RESTful API の定義に広く使用されている標準です。AEM as a Cloud Service には、複数の OpenAPI Specification の API(または単に OpenAPI ベースの AEM API)が用意されており、AEM のオーサーサービスタイプまたはパブリッシュサービスタイプとやり取りするカスタムアプリケーションを簡単に作成できます。以下にいくつかの例を示します。
Sites
- Sites API:コンテンツフラグメントを操作するための API。
Assets
-
フォルダー API:フォルダーの作成、リスト化、削除などのフォルダーを操作するための API。
-
Assets Author API:アセットとそのメタデータを操作するための API。
Forms
- Forms Communications API:フォームとドキュメントを操作するための API。
今後のリリースでは、追加のユースケースをサポートするために、OpenAPI ベースの AEM API がさらに追加される予定です。
認証サポート
OpenAPI ベースの AEM API は、次の付与タイプを含む、OAuth 2.0 認証をサポートしています。
-
OAuth サーバー間資格情報:ユーザーインタラクションなしで API アクセスが必要なバックエンドサービスに最適です。client_credentials 付与タイプを使用して、サーバーレベルで安全なアクセス管理を有効にします。詳しくは、OAuth サーバー間資格情報を参照してください。
-
OAuth web アプリ資格情報:ユーザーの代わりに AEM API にアクセスするフロントエンドおよび バックエンド コンポーネントを持つ web アプリケーションに適しています。authorization_code 付与タイプを使用し、バックエンドサーバーが秘密鍵とトークンを安全に管理します。詳しくは、OAuth web アプリ資格情報を参照してください。
-
OAuth 単一ページアプリ資格情報:バックエンドサーバーを使用せずにユーザーの代わりに API にアクセスする必要がある、ブラウザーで実行される SPA 用に設計されています。authorization_code 付与タイプを使用し、PKCE(Proof Key for Code Exchange)を使用したクライアント側のセキュリティメカニズムに依存して、承認コードフローを保護します。詳しくは、OAuth 単一ページアプリ資格情報を参照してください。
使用する認証方法
使用する認証方法を決定する際は、次の点を考慮します。
AEM ユーザーコンテキストが関係する場合は常に、ユーザー認証(web アプリまたは単一ページアプリ)がデフォルトの選択になります。これにより、リポジトリ内のすべてのアクションが認証済みユーザーに適切に関連付けられ、ユーザーは認められた権限のみに制限されます。
個々のユーザーの代わりにサーバー間(または技術的なシステムアカウント)を使用してアクションを実行すると、セキュリティモデルがバイパスされ、権限のエスカレーションや不正確な監査などのリスクが発生します。
OAuth サーバー間資格情報と、web アプリ資格情報と単一ページアプリ資格情報の違い
次の表に、OpenAPI ベースの AEM API でサポートされる 3 つの OAuth 認証方法の違いを示します。
client_id
、client_secret
)をバックエンドシステムに安全に保存します。client_id
、client_secret
)をバックエンドシステムに安全に保存します。client_secret
は使用しないでください。アクセストークンの承認コードを交換するために PKCE に依存します。Adobe API へのアクセスと関連概念
Adobe API にアクセスする前に、次の主要な構成要素を理解しておく必要があります。
-
Adobe Developer Console:Adobe API、SDK、リアルタイムイベント、サーバーレス関数などにアクセスするための開発者ハブ。これは、AEM アプリケーションのデバッグに使用される AEM Developer Console とは異なることに注意してください。
-
Adobe Developer Console プロジェクト:API 統合、イベントおよびランタイム関数を一元的に管理する場所。ここでは、API を設定し、認証を設定して、必要な資格情報を生成します。
-
製品プロファイル:製品プロファイルには、AEM、Adobe Target、Adobe Analytics などのアドビ製品へのユーザーまたはアプリケーションのアクセスを制御できる権限プリセットが用意されています。すべてのアドビ製品には、事前に定義された製品プロファイルが関連付けられています。
-
サービス:サービスは、実際の権限を定義し、製品プロファイルに関連付けられます。権限プリセットを減らしたり増やしたりするには、製品プロファイルに関連付けられているサービスを選択解除または選択します。これにより、製品とその API へのアクセスレベルを制御できます。AEM as a Cloud Service では、サービスは、リポジトリノード用に事前定義されたアクセス制御リスト(ACL)を持つユーザーグループを表し、細かい権限管理を可能にします。
今すぐ始める
AEM as a Cloud Service 環境と Adobe Developer Console プロジェクトを設定して、OpenAPI ベースの AEM API へのアクセスを有効にする方法を学びます。また、ブラウザーを使用して AEM API にアクセスし、設定を確認して、リクエストと応答を確認します。
AEM as a Cloud Service 環境を設定して、OpenAPI ベースの AEM API へのアクセスを有効にする方法を学びます。
API チュートリアル
様々な OAuth 認証方法を使用して、OpenAPI ベースの AEM API を使用する方法を学びます。
OAuth サーバー間認証を使用して、カスタム NodeJS アプリケーションから OpenAPI ベースの AEM API を呼び出す方法を説明します。
OAuth web アプリ認証を使用して、カスタム web アプリケーションから OpenAPI ベースの AEM API を呼び出す方法を説明します。
OAuth 単一ページアプリ認証を使用して、カスタム単一ページアプリ(SPA)から OpenAPI ベースの AEM API を呼び出す方法を学びます。