View a markdown version of this page

サービス認証情報の設定 - Amazon Quick

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

サービス認証情報の設定

Amazon Quick でナレッジベースを作成する前に、 AWS および Microsoft Entra ID で以下の設定ステップを完了します。KMS 署名キーを作成し、証明書を生成して Entra にアプリケーションを登録し、そのキーを使用するためのアクセス許可を Amazon Quick に付与します。

この設定には複数のシステムが含まれており、組織内の異なる管理者間の調整が必要になる場合があります。次の表は、各ステップとその完了に必要なロールをまとめたものです。

セットアップステップとロール
Step 行うこと 必要なロール
1. KMS キー KMS AWS で非対称署名キーを作成します。 AWS 管理者 (KMS および IAM コンソールアクセス)
2. 証明書 KMS パブリックキーを使用して自己署名証明書を生成します。 ステップ 1 と同じ (AWS CLI および OpenSSL が必要)
3. Entra アプリ Microsoft Entra にアプリケーションを登録し、API アクセス許可を割り当て、証明書をアップロードします。 Microsoft 365 グローバル管理者または特権ロール管理者
3b. Sites.Selected (オプション) 一時的な管理者アプリを作成し、Microsoft Graph API を介してサイトごとのアクセス許可を付与します。 Microsoft 365 グローバル管理者 (ステップ 3 と同じ)
4. KMS キーアクセス 署名に KMS キーを使用するためのアクセス許可を Amazon Quick に付与します。 Amazon Quick Administrator (Admin Pro)
5. KB の作成 前のステップの認証情報を使用して、Amazon Quick でナレッジベースを作成します。 Amazon Quick ユーザー (Author Pro または Admin Pro)
ヒント

多くの組織では、 AWS と Microsoft 365 管理者アクセスの両方を持つ 1 人のユーザーがすべてのステップを完了できます。責任がチーム間で分担されている場合は、このテーブルを共有してセットアップを調整します。

前提条件

作業を開始する前に、以下の準備が整っていることを確認します。

  • アクティブな Amazon Quick インスタンスを持つ AWS アカウント。

  • KMS AWS コンソールへのアクセス (署名キーの作成用)。

  • KMS キーアクセス許可を付与するための Amazon Quick Administrator アクセス (Admin Pro ロール)。

  • SharePoint Online を使用する Microsoft 365 テナント。

  • Microsoft Entra ID のグローバル管理者または特権ロール管理者アクセス。

  • OpenSSL 3.0 以降と CLI AWS がローカルにインストールされている。

  • AWS アカウントと Amazon Quick インスタンスは同じリージョンに存在する必要があります。

アクセス許可

割り当てるアクセス許可は、次の 2 つの選択肢によって異なります。

  • ドキュメントレベルのアクセスコントロール (ACL クローリング) を有効にするかどうか。

  • すべての SharePoint サイトへのアクセスを許可するか、特定のサイトのみへのアクセスを許可するか。

アクセス許可の範囲を選択する

デフォルトでは、Entra アプリ登録は Sites.Read.Allまたは を使用してSites.FullControl.All、テナント内のすべての SharePoint サイトへのアクセスを許可します。組織で最小特権アクセスが必要な場合は、Sites.Selected代わりに を使用できます。ではSites.Selected、アプリは明示的にアクセス許可を付与したサイトにのみアクセスできます。

アクセス許可の範囲の比較
スコープ アクセス 追加のステップ
すべてのサイト (デフォルト) アプリケーションはテナント内のすべての SharePoint サイトを読み取ることができます。
Sites.Selected アプリは、明示的に付与したサイトにのみアクセスできます。 サイトごとに一時的な管理者アプリと Microsoft Graph API コールが必要です。「ステップ 3b: サイトレベルのアクセス許可を付与する (Sites.Selected のみ)」を参照してください。
注記

を使用する場合はSites.Selected、各サイトのアクセス権を個別に付与する必要があります。将来ナレッジベースに追加される新しいサイトには、別のアクセス許可の付与も必要です。

すべてのサイト – コンテンツのみ (ACL なし)

コンテンツのみのアクセス許可
API アクセス許可 タイプ
Microsoft Graph Sites.Read.All アプリケーション
SharePoint REST Sites.Read.All アプリケーション

すべてのサイト – ACL クローリングあり

ACL クローリングのアクセス許可
API アクセス許可 タイプ
Microsoft Graph Sites.Read.All アプリケーション
Microsoft Graph User.Read.All アプリケーション
Microsoft Graph GroupMember.Read.All アプリケーション
SharePoint REST Sites.FullControl.All アプリケーション
重要

前の表のすべてのサイトのアクセス許可、または次の表のSites.Selectedアクセス許可を選択します。両方を結合しないでください。不明な場合は、すべてのサイトから始めます。必要に応じて、 Sites.Selected で新しい Entra アプリ登録を作成できます。

Sites.Selected – コンテンツのみ (ACL なし)

Sites.Selected コンテンツのみのアクセス許可
API アクセス許可 タイプ
Microsoft Graph Sites.Selected アプリケーション
SharePoint REST Sites.Selected アプリケーション

Sites.Selected – ACL クローリングを使用

Sites.Selected ACL クローリングアクセス許可
API アクセス許可 タイプ
Microsoft Graph Sites.Selected アプリケーション
Microsoft Graph User.Read.All アプリケーション
Microsoft Graph GroupMember.Read.All アプリケーション
SharePoint REST Sites.Selected アプリケーション
注記

OneNote クローリング (Notes.Read.All) は、管理者管理のセットアップではサポートされていません。Microsoft は、2025 年 3 月 31 日に OneNote APIs のアプリケーション専用トークンを廃止しました。OneNote コンテンツユーザー管理のセットアップには を使用します。

セットアップ中に収集された値

次の表は、セットアップ中に作成または収集する値とその使用場所をまとめたものです。

値リファレンス
ステップで作成 ステップで使用される
KMS キー ARN 1 (KMS) 2 (証明書)、4 (IAM)、クイックセットアップ
証明書ファイル (certificate.cer) 2 (証明書) 3 (Entra アップロード)
証明書サムプリント (base64url) 2 (証明書) Quick Setup
アプリケーション (クライアント) ID 3 (エントラ) Quick Setup
ディレクトリ (テナント) ID 3 (エントラ) Quick Setup
SharePoint ドメイン URL M365 テナント Quick Setup

ステップ 1: KMS AWS 非対称署名キーを作成する

Amazon Quick AWS は、Microsoft Entra ID で認証するときに KMS 非対称キーを使用して OAuth アサーションに署名します。プライベートキーが KMS から出ることはありません。パブリックキーのみがエクスポートされ、Entra アプリ登録にアップロードされる証明書に埋め込まれます。

KMS キーを作成する

  1. AWS KMS コンソールを開きます。

  2. 左のナビゲーションで、[カスタマーマネージドキー] を選択します。

  3. [Create key] (キーの作成) を選択します。

キーを設定する

キーの設定ページで、次の値を設定します。

KMS キー設定
設定
キーのタイプ 非対称
キーの用途 署名と検証
キー仕様 RSA_2048
キーマテリアルのオリジン KMS (推奨)
リージョナリティー シングルリージョンキー (デフォルト)。マルチリージョンキーはサポートされていません。

ラベルを追加する

ラベルの追加ページで、キーのエイリアスを入力します。例: quick-sharepoint-service-auth

注記

以下のページのキー管理者およびキー使用権限はオプションです。この設定にはデフォルトで十分です。ステップ 4 では、キーへの Amazon Quick アクセスを個別に付与します。

「スキップして確認」を選択し、「完了」を選択してキーを作成します。

キー ARN を記録する

キーを作成したら、キーの詳細ページを開き、キー ARN を記録します。ARN の形式は以下のようになっています。

arn:aws:kms:us-west-2:123456789012:key/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

この値は、ステップ 2、4、および Quick でナレッジベースを作成するときに必要です。

ステップ 2: 自己署名証明書を生成する

Microsoft Entra ID では、署名付きアサーションを検証するために X.509 証明書が必要です。KMS プライベートキーは KMS AWS を離れないため、OpenSSL で直接使用することはできません。代わりに、一時的なローカルキーペアを生成し、証明書署名リクエストを作成します。次に、OpenSSL -force_pubkeyオプションを使用して、KMS パブリックキーを最終証明書に挿入します。その結果、パブリックキーが KMS キーペアと一致する自己署名証明書が作成されます。

前提条件

  • AWS CLI がインストールされ、設定されています。

  • OpenSSL 3.0 以降。

  • ステップ 1 の KMS キー ARN。

証明書を生成する

ターミナルで次のコマンドを実行します。プレースホルダーの値を独自の値に置き換えます。

OpenSSL バージョンの確認

openssl version

出力にバージョン 3.0 以降が表示されていることを確認します。

KMS パブリックキーをエクスポートする

aws kms get-public-key \ --key-id KMS_KEY_ARN \ --region REGION \ --output text \ --query PublicKey | base64 --decode > public_key.der
注記

macOS では、シェル環境base64 -Dに応じて base64 --decodeまたは を使用します。

パブリックキーを PEM 形式に変換する

openssl rsa -pubin -inform DER -in public_key.der -outform PEM -out kms_public_key.pem

一時的なローカルキーペアを生成する

openssl genrsa -out temp_private_key.pem 2048

証明書署名リクエストを作成する

openssl req -new \ -key temp_private_key.pem \ -out cert.csr \ -subj "/CN=QuickSharePointServiceAuth/O=YourOrganization/C=US"

KMS パブリックキーを使用して証明書を生成する

openssl x509 -req \ -in cert.csr \ -signkey temp_private_key.pem \ -out certificate.pem \ -days 730 \ -force_pubkey kms_public_key.pem
注記

OpenSSL は警告 を表示しますSignature key and public key of cert do not match。これは、証明書が一時的なローカルキーで署名されているが、KMS パブリックキーが含まれているためです。証明書は有効であり、Microsoft Entra で正しく動作します。

Entra アップロードの DER 形式に変換する

openssl x509 -in certificate.pem -outform DER -out certificate.cer

一時ファイルをクリーンアップする

rm -f temp_private_key.pem cert.csr public_key.der kms_public_key.pem certificate.pem
重要

certificate.cer ファイルを保持します。ステップ 3 で Microsoft Entra ID にアップロードします。

証明書のサムプリントを計算する

次のコマンドを実行して、証明書の base64url エンコードされた SHA-1 サムプリントを計算します。

openssl dgst -sha1 -binary certificate.cer | base64 | tr '+/' '-_' | tr -d '='

この値を記録します。Quick でナレッジベースを作成するときに入力します。

注記

base64url でエンコードされたサムプリントは、Microsoft Entra ポータルに表示される 16 進数のサムプリントとは異なります。Quick には base64url 形式が必要です。

ステップ 3: Microsoft Entra ID にアプリケーションを登録する

このステップは、全サイトアクセス許可を使用するか を使用するかにかかわらず必要ですSites.Selected。唯一の違いは、 API アクセス許可を設定するセクションで割り当てる API アクセス許可です。

アプリケーションを登録する

  1. Microsoft Entra 管理センターにサインインします。

  2. 左側のナビゲーションで、Entra ID を展開し、アプリ登録を選択します。

  3. [New registration] (新規登録) を選択します。

  4. [名前] にQuickSharePointServiceAuthと入力してください。

  5. サポートされているアカウントタイプでは、この組織ディレクトリのアカウントのみ (単一テナント) を選択します。

  6. リダイレクト URI は空白のままにします。アプリケーションはインタラクティブサインインフローではなくクライアント認証情報フローを使用するため、リダイレクト URI は必要ありません。

  7. [登録] を選択します。

アプリケーションの詳細を記録する

アプリケーションの概要ページで、次の値を記録します。

アプリケーションの詳細
ロケーション
アプリケーション (クライアント) ID 「Essentials」の「概要」ページに表示されます。
ディレクトリ (テナント) ID 「Essentials」の「概要」ページに表示されます。

API アクセス許可を設定する

ユースケースに一致するアクセス許可を追加します。アクセス許可 セクションのテーブルからアクセス許可を選択します。選択は、アクセス許可の範囲 (すべてのサイトまたは Site.Selected) と、ACL クローリングを有効にするかどうかに基づいて行います。

コンテンツのみ – Microsoft Graph

  • Sites.Read.All

コンテンツのみ – SharePoint

  • Sites.Read.All

ACL クローリング – Microsoft Graph (追加)

  • Sites.Read.All

  • User.Read.All

  • GroupMember.Read.All

ACL クローリング – SharePoint

  • Sites.FullControl.All

注記

Sites.FullControl.All SharePoint REST API にはサイトレベルおよび項目レベルのアクセス許可の割り当てを読み取るためのフルコントロールアクセス許可が必要なため、 は ACL クロールに必要です。を使用している場合はSites.Selected、代替のアクセス許可セットステップ 3b: サイトレベルのアクセス許可を付与する (Sites.Selected のみ)については、「」を参照してください。

  1. アプリ登録の左側のナビゲーションで、API アクセス許可を選択します。

  2. [アクセス許可の追加] を選択します。

  3. Microsoft Graph を選択します。

  4. アプリケーションのアクセス許可を選択します。

  5. ユースケースに必要な Microsoft Graph アクセス許可を検索して選択し、アクセス許可の追加を選択します。

  6. アクセス許可を再度追加を選択します。

  7. SharePoint (Microsoft APIs の下) を選択します。

  8. アプリケーションのアクセス許可を選択します。

  9. ユースケースに必要な SharePoint アクセス許可を検索して選択し、アクセス許可の追加を選択します。

重要

委任されたアクセス許可ではなく、アプリケーションのアクセス許可タブを選択します。 管理者管理のセットアップでは、アプリケーションのアクセス許可を必要とするクライアント認証情報フローを使用します。

  1. API アクセス許可ページで、[組織] に対する管理者同意の付与を選択します。

  2. プロンプトが表示されたら、同意を確認します。

重要

アプリケーションのアクセス許可には管理者の同意が必要です。これがないと、アプリケーションは SharePoint データにアクセスできません。

証明書をアップロードする

  1. アプリ登録の左側のナビゲーションで、証明書とシークレットを選択します。

  2. [証明書] タブを選択します。

  3. 証明書のアップロードを選択します。

  4. ステップ 2 で生成したcertificate.cerファイルを選択します。

  5. [Add] (追加) を選択します。

注記

Entra ポータルには、証明書のサムプリントが 16 進形式で表示されます。これは、ステップ 2 で計算した base64url でエンコードされたサムプリントとは異なります。Quick でナレッジベースを設定するときは、base64url 値を使用します。

ステップ 3b: サイトレベルのアクセス許可を付与する (Sites.Selected のみ)

アクセス許可の範囲Sites.Selectedとして を選択した場合は、Amazon Quick Entra アプリに各 SharePoint サイトへのアクセス権を明示的に付与する必要があります。これには、Microsoft Graph API を呼び出すSites.FullControl.Allアクセス許可を持つ一時的な管理者アプリが必要です。

全サイトアクセス許可スコープ (Sites.Read.All または ) を使用している場合は、このステップをスキップしますSites.FullControl.All

各 SharePoint サイトのサイト ID を取得する

アクセスを許可する SharePoint サイトごとにサイト ID が必要です。サイト ID を取得するには:

  1. ブラウザで、SharePoint サイト ( などhttps://yourcompany.sharepoint.com/sites/SiteName) に移動します。

  2. URL /_api/site/idに追加し、Enter キーを押します。例: https://yourcompany.sharepoint.com/sites/SiteName/_api/site/id

  3. このページには、サイト ID (GUID) を含む XML レスポンスが表示されます。この値を記録します。

ナレッジベースに含めるサイトごとに繰り返します。

一時的な管理者アプリを作成する

管理アプリは、Amazon Quick アプリにサイトレベルのアクセス許可を付与する目的でのみ使用されます。このステップの完了後に削除できます。

  1. Microsoft Entra 管理センターで、アプリ登録に移動し、新規登録を選択します。

  2. Name には、 などのわかりやすい名前を入力しますQuick-SharePoint-PermissionGranter

  3. サポートされるアカウントタイプでは、この組織ディレクトリのアカウントのみ (単一テナント) を選択します。

  4. Redirect URI を空白のままにして、Register を選択します。

  5. 概要ページからアプリケーション (クライアント) ID を記録します。

  6. API アクセス許可を選択し、アクセス許可を追加します

  7. Microsoft Graph を選択し、次にアプリケーションのアクセス許可を選択します。を検索して選択しますSites.FullControl.All。[Add permissions (許可の追加)] を選択します。

  8. [組織] の管理者同意を付与を選択し、確認します。

  9. 証明書とシークレットを選択し、新しいクライアントシークレットを選択します。説明を入力し、有効期限を選択し、追加を選択します。

  10. シークレット をすぐに記録します。この値は 1 回のみ表示されます。

重要

シークレット ID ではなく、シークレットをコピーします。値は、認証に使用される長い文字列です。

アクセストークンを取得する

管理者アプリの認証情報を使用して、Microsoft Entra から OAuth トークンを取得します。プレースホルダー値を、管理者アプリケーションのクライアント ID、シークレット値、テナント ID に置き換えます。

macOS と Linux (bash)

curl -s --location "https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/token" \ --header "Content-Type: application/x-www-form-urlencoded" \ --data-urlencode "grant_type=client_credentials" \ --data-urlencode "client_id=ADMIN_APP_CLIENT_ID" \ --data-urlencode "client_secret=ADMIN_APP_SECRET_VALUE" \ --data-urlencode "scope=https://graph.microsoft.com/.default"

Windows (PowerShell)

$tokenResponse = Invoke-RestMethod ` -Uri "https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/token" ` -Method Post ` -ContentType "application/x-www-form-urlencoded" ` -Body @{ grant_type = "client_credentials" client_id = "ADMIN_APP_CLIENT_ID" client_secret = "ADMIN_APP_SECRET_VALUE" scope = "https://graph.microsoft.com/.default" } $adminToken = $tokenResponse.access_token

レスポンスには access_tokenフィールドが含まれます。次のステップでこの値を記録します。

サイトレベルのアクセス許可を付与する

管理者トークンを使用して、Amazon Quick Entra アプリに各 SharePoint サイトfullcontrolへのアクセスを許可します。プレースホルダーの値を、ステップ 3 のサイト ID、管理者トークン、クライアントアプリ ID と表示名に置き換えます。

macOS と Linux (bash)

curl -s --location "https://graph.microsoft.com/v1.0/sites/SITE_ID/permissions" \ --header "Content-Type: application/json" \ --header "Authorization: Bearer ADMIN_TOKEN" \ --data '{ "roles": ["fullcontrol"], "grantedToIdentities": [{ "application": { "id": "CLIENT_APP_ID", "displayName": "CLIENT_APP_NAME" } }] }'

Windows (PowerShell)

$body = @{ roles = @("fullcontrol") grantedToIdentities = @( @{ application = @{ id = "CLIENT_APP_ID" displayName = "CLIENT_APP_NAME" } } ) } | ConvertTo-Json -Depth 10 Invoke-RestMethod ` -Uri "https://graph.microsoft.com/v1.0/sites/SITE_ID/permissions" ` -Method Post ` -Headers @{ "Content-Type" = "application/json" "Authorization" = "Bearer $adminToken" } ` -Body $body

正常なレスポンスには、 grantedToIdentities フィールドの "roles": ["fullcontrol"]とクライアントアプリ ID が含まれます。

重要

ナレッジベースに含める SharePoint サイトごとに、このコマンドを繰り返します。今後追加される新しいサイトには、別のアクセス許可の付与も必要です。

クリーンアップ

必要なすべてのサイトにアクセス許可を付与したら、Microsoft Entra 管理センターから一時管理アプリを削除できます。付与したサイトレベルのアクセス許可は、管理者アプリとは無関係に有効です。

注記

一時管理アプリは、Microsoft Graph API を呼び出すためにローカル環境でのみ使用されます。Amazon Quick は、管理者アプリまたはその認証情報を表示したり、アクセスしたりすることはありません。ナレッジベースを作成すると、クライアントアプリの認証情報のみが Amazon Quick に提供されます。

ステップ 4: KMS キーに Amazon Quick アクセス許可を付与する

Amazon Quick には、OAuth アサーションの署名に KMS キーを使用するためのアクセス許可が必要です。このアクセス許可は、Amazon Quick 管理コンソールから付与します。

注記

このステップでは、Amazon Quick 管理者アクセス (Admin Pro ロール) が必要です。管理者でない場合は、ステップ 1 の KMS キー ARN を使用してこのステップを完了するように Amazon Quick 管理者に依頼します。

重要

組織が独自の Amazon Quick IAM サービスロールを管理している場合、以下のコンソールステップが適用されない場合があります。代わりに、ロールにステップ 1 の KMS キー ARN に対するkms:Signアクセス許可があることを確認します。

  1. Amazon Quick で、左側のナビゲーションペインからアカウントの管理を選択します。

  2. アクセス許可でAWS リソースを選択します。

  3. AWS リソースページで、AWS Key Management Service までスクロールし、チェックボックスをオンにします。

  4. Select keys を選択します。

  5. KMS キーの選択ダイアログで、ステップ 1 で記録した KMS キー ARN を入力し、追加を選択します。

  6. キー ARN がリストに表示されます。[Finish] を選択してください。

  7. リソースページの下部にある保存 を選択します AWS 。

次の手順

セットアップが完了したら、Amazon Quick で SharePoint Online ナレッジベース接続を作成します。手順については、「Amazon Quick でナレッジベースを作成する」を参照してください。