Kendra と SharePoint を Azure AD App-Only 認証での連携

Kendra と SharePoint を Azure AD App-Only 認証での連携

2026.01.13

まえがき

Amazon Kendra で SharePoint のドキュメントを同期する方法で、今回は SharePoint Connector V2.0 で Azure AD App-Only 認証を試していきます。

この方法では、ユーザーの資格情報ではなく、アプリケーションの証明書ベースの認証を使用するため、ユーザをシェアしたいグループに追加する必要ないです。

しかし、証明書は 365 日の有効期限なので、定期的に入れ替える必要があります。

連携に必要なもの

Azure AD App-Only 認証で連携するには、以下の情報が必要になります。

  • Azure AD に登録したアプリケーションの Client ID
  • 自己署名 X.509 証明書
  • 証明書に対応する秘密鍵(Private Key)
  • SharePoint Tenant ID

手順

1.自己署名証明書の生成

OpenSSL を使って自己署名証明書を生成します。

openssl req -x509 -newkey rsa:2048 -keyout private.key -out certificate.crt -days 365 -nodes
  • private.key: 秘密鍵ファイル(AWS Secrets Manager に保存)
  • certificate.crt: 証明書ファイル(Azure AD にアップロード),S3 にもアップロード

2.Azure AD でのアプリ登録

  1. Azure Portal にログイン
  2. Azure Active Directory → App registrations に移動
  3. 「New registration」で新しいアプリケーションを登録
  4. 「Certificates & secrets」→「Certificates」タブで証明書(.crt)をアップロード
  5. 「API permissions」で SharePoint の権限を追加
  6. 「Grant admin consent」で管理者の同意を付与

ss

ss

3.API 権限の設定

SharePoint にアクセスするために必要な API 権限は、ACL(アクセス制御リスト)を使用するかどうかで異なります。

ACL を使用しない場合

API 権限 説明
SharePoint Sites.Read.All (Application) すべてのサイトコレクションのアイテムとリストへのアクセスに必要

ACL を使用する場合

API 権限 説明
SharePoint Sites.FullControl.All (Application) ドキュメントの ACL 取得に必要

特定のサイトのみクロールする場合は、Sites.Selected (Application) 権限を設定し、
Microsoft Graph API で各サイトへのアクセス権限を明示的に設定することもできます。

4.S3 に certificate.crt をアップロード

certificate.crt を S3 を任意のバケットに登録する。

5.Kendra の DataSource を追加する

Kendra コンソールで Data source を追加し、SharePoint connector (V2.0) を選択します。

以下の項目を設定します。重要な部分のみ抜粋。IAMやACLなどはご自身の環境にあわせて設定してださい。この例ではrecommendで作っています。

項目 設定値
Hosting Method SharePoint Online
Site URLs https://yourdomain.sharepoint.com/sites/mysite 形式で入力
Domain SharePoint のドメイン名(例: yourdomain
Authentication Azure AD App-Only authentication

Tenant ID をいれ、Azure AD App-Only 認証用のシークレットを AWS Secrets Manager に作成します。

キー
clientId azure-ad-client-id
privateKey -----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----

スクリーンショット_2026-01-13_16_39_33

スクリーンショット_2026-01-13_16_51_21

スクリーンショット 2026-01-13 16.44.55

6.ドキュメント同期

ドキュメントを同期して、成功した場合このような画面になります。

スクリーンショット_2026-01-13_17_57_30

まとめ

Kendra の SharePoint Connector V2.0 で Azure AD App-Only 認証を使うことで、
ユーザーの資格情報を使わずに SharePoint のドキュメントを同期できます。

証明書ベースの認証は、サービスアカウントのパスワード管理が不要になるメリットがありますが、
証明書の有効期限管理は忘れずに行いましょう。

設定でつまづいた場合は、Azure AD の API 権限や管理者の同意、
Secrets Manager のシークレット形式を確認してみてください。

参考リンク

この記事をシェアする

FacebookHatena blogX

関連記事