本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定服務登入資料
在 Amazon Quick 中建立知識庫之前,請先完成 AWS 和 Microsoft Entra ID 中的下列組態步驟。您可以建立 KMS 簽署金鑰、產生憑證、在 Entra 中註冊應用程式,以及授予 Amazon Quick 使用該金鑰的許可。
此設定涉及多個系統,可能需要組織中不同管理員之間的協調。下表摘要說明每個步驟和完成步驟所需的角色。
| 步驟 | 您執行的動作 | 所需的角色 |
|---|---|---|
| 1. KMS 金鑰 | 在 AWS KMS 中建立非對稱簽署金鑰。 | 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 金鑰存取 | 授予 Amazon Quick 許可,以使用 KMS 金鑰進行簽署。 | Amazon Quick Administrator (Admin Pro) |
| 5. 建立 KB | 使用先前步驟中的登入資料在 Amazon Quick 中建立知識庫。 | 任何 Amazon Quick 使用者 (Author Pro 或 Admin Pro) |
提示
在許多組織中,具有 AWS 和 Microsoft 365 管理員存取權的單一人員可以完成所有步驟。如果責任跨團隊分割,請共用此資料表來協調設定。
先決條件
開始前,請確定您有下列項目:
-
具有作用中 Amazon Quick 執行個體 AWS 的帳戶。
-
存取 AWS KMS 主控台 (用於建立簽署金鑰)。
-
授予 KMS 金鑰許可的 Amazon Quick Administrator 存取 (Admin Pro 角色)。
-
具有 SharePoint Online 的 Microsoft 365 租用戶。
-
Microsoft Entra ID 中的全域管理員或特殊權限角色管理員存取權。
-
OpenSSL 3.0 或更新版本,並在本機安裝 AWS CLI。
-
AWS 帳戶和 Amazon Quick 執行個體必須位於相同的區域。
許可
您指派的許可取決於兩個選擇:
-
您是否計劃啟用文件層級存取控制 (ACL 爬取)。
-
無論您想要授予對所有 SharePoint 網站或僅特定網站的存取權。
選擇您的許可範圍
根據預設,Entra 應用程式註冊會使用 Sites.Read.All或 Sites.FullControl.All,這會授予您租用戶中所有 SharePoint 網站的存取權。如果您的組織需要最低權限的存取,您可以Sites.Selected改為使用 。透過 Sites.Selected,應用程式只能存取您明確授予許可的網站。
| Scope (範圍) | 存取 | 其他步驟 |
|---|---|---|
| 所有網站 (預設) | 應用程式可以讀取租用戶中的所有 SharePoint 網站。 | — |
Sites.Selected |
應用程式只能存取您明確授予的網站。 | 需要每個網站的臨時管理員應用程式和 Microsoft Graph API 呼叫。請參閱 步驟 3b:授予網站層級許可 (僅限 Sites.Selected)。 |
注意
如果您使用 Sites.Selected,則必須個別授予每個網站的存取權。未來新增至知識庫的任何新網站也需要單獨的許可授予。
所有網站 – 僅限內容 (無 ACL)
| API | 權限 | Type |
|---|---|---|
| Microsoft Graph | Sites.Read.All |
應用程式 |
| SharePoint REST | Sites.Read.All |
應用程式 |
所有網站 – 使用 ACL 爬取
| API | 權限 | Type |
|---|---|---|
| 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)
| API | 權限 | Type |
|---|---|---|
| Microsoft Graph | Sites.Selected |
應用程式 |
| SharePoint REST | Sites.Selected |
應用程式 |
Sites.Selected – 使用 ACL 爬取
| API | 權限 | Type |
|---|---|---|
| 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 內容使用者受管設定使用 。
在設定期間收集的值
下表摘要說明您在設定期間建立或收集的值,以及您使用這些值的位置。
| Value | 在步驟 中建立 | 用於步驟 |
|---|---|---|
| KMS 金鑰 ARN | 1 (KMS) | 2 (憑證)、4 (IAM)、快速設定 |
憑證檔案 (certificate.cer) |
2 (憑證) | 3 (額外上傳) |
| 憑證指紋 (base64url) | 2 (憑證) | 快速設定 |
| 應用程式 (用戶端) ID | 3 (Entra) | 快速設定 |
| 目錄 (租戶) ID | 3 (Entra) | 快速設定 |
| SharePoint 網域 URL | 您的 M365 租用戶 | 快速設定 |
步驟 1:建立 AWS KMS 非對稱簽署金鑰
使用 Microsoft Entra ID 驗證時,Amazon Quick 會使用 AWS KMS 非對稱金鑰簽署 OAuth 聲明。私有金鑰永遠不會離開 KMS。只有公有金鑰會匯出並內嵌在上傳到 Entra 應用程式註冊的憑證中。
建立 KMS 金鑰
-
開啟 AWS KMS 主控台
。 -
在左側導覽列中,選擇客戶自管金鑰。
-
選擇建立金鑰。
設定金鑰
在設定金鑰頁面上,設定下列值:
| 設定 | Value |
|---|---|
| Key type | 非對稱 |
| 金鑰用途 | 簽署和驗證 |
| 金鑰規格 | 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
當您在 Quick 中建立知識庫時,您需要在步驟 2、4 和 中使用此值。
步驟 2:產生自我簽署憑證
Microsoft Entra ID 需要 X.509 憑證來驗證已簽署的聲明。由於 KMS 私有金鑰永遠不會離開 AWS KMS,因此您無法直接將其與 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-idKMS_KEY_ARN\ --regionREGION\ --output text \ --query PublicKey | base64 --decode > public_key.der
注意
在 macOS 上,base64 -D根據您的 shell 環境使用 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 使用。
轉換為 DER 格式以進行 Entra 上傳
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 入口網站中顯示的十六進位指紋不同。Quick 需要 base64url 格式。
步驟 3:在 Microsoft Entra ID 中註冊應用程式
無論您是否使用全站許可或 ,都需要此步驟Sites.Selected。唯一的差別是您在 設定 API 許可區段中指派的 API 許可。
註冊應用程式
-
在左側導覽中,展開 Entra ID,然後選擇應用程式註冊。
-
選擇新增註冊。
-
對於名稱,輸入
QuickSharePointServiceAuth。 -
對於支援的 帳戶類型,僅選取此組織目錄中的帳戶 (單一租戶)。
-
將重新導向 URI 保留空白。不需要重新導向 URI,因為應用程式使用用戶端登入資料流程,而不是互動式登入流程。
-
選擇註冊。
記錄應用程式詳細資訊
在應用程式概觀頁面上,記錄下列值:
| Value | Location |
|---|---|
| 應用程式 (用戶端) 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 ACL 爬取需要 ,因為 SharePoint REST API 需要完全控制許可才能讀取網站層級和項目層級許可指派。如果您使用的是 Sites.Selected,請參閱 步驟 3b:授予網站層級許可 (僅限 Sites.Selected) 以取得替代許可集。
-
在應用程式註冊的左側導覽中,選擇 API 許可。
-
選擇新增許可。
-
選擇 Microsoft 圖形。
-
選擇應用程式許可。
-
搜尋並選擇使用案例所需的 Microsoft Graph 許可,然後選擇新增許可。
-
再次選擇新增許可。
-
選擇 SharePoint (在 Microsoft APIs下)。
-
選擇應用程式許可。
-
搜尋並選擇使用案例所需的 SharePoint 許可,然後選擇新增許可。
重要
選取應用程式許可索引標籤,而非委派許可。管理員受管設定使用用戶端登入資料流程,這需要應用程式許可。
授予管理員同意
-
在 API 許可頁面上,選擇授予 【您的組織】 的管理員同意。
-
出現提示時確認同意。
重要
應用程式許可需要管理員同意。如果沒有它,應用程式就無法存取 SharePoint 資料。
上傳憑證
-
在應用程式註冊的左側導覽中,選擇憑證和秘密。
-
選擇 Certificates (憑證) 索引標籤。
-
選擇上傳憑證。
-
選取您在步驟 2 中產生的
certificate.cer檔案。 -
選擇新增。
注意
Entra 入口網站會以十六進位格式顯示憑證指紋。這與您在步驟 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:
-
在您的瀏覽器中,導覽至 SharePoint 網站 (例如
https://)。yourcompany.sharepoint.com/sites/SiteName -
附加
/_api/site/id至 URL 並按下 Enter。例如:https://yourcompany.sharepoint.com/sites/SiteName/_api/site/id -
此頁面會顯示包含站台 ID (GUID) 的 XML 回應。記錄此值。
針對您要包含在知識庫中的每個網站重複此步驟。
建立臨時管理員應用程式
管理員應用程式僅用於將網站層級許可授予您的 Amazon Quick 應用程式。您可以在完成此步驟後將其刪除。
-
在 Microsoft Entra 管理中心
,前往應用程式註冊並選擇新增註冊。 -
針對名稱,輸入描述性名稱,例如
Quick-SharePoint-PermissionGranter。 -
對於支援的 帳戶類型,僅選取此組織目錄中的帳戶 (單一租戶)。
-
將重新導向 URI 保留空白,然後選擇註冊。
-
從概觀頁面記錄應用程式 (用戶端) ID。
-
選擇 API 許可,然後選擇新增許可。
-
選擇 Microsoft Graph,然後選擇應用程式許可。搜尋並選取
Sites.FullControl.All。選擇新增許可。 -
選擇授予 【您的組織】 的管理員同意並確認。
-
選擇憑證和秘密,然後選擇新用戶端秘密。輸入描述,選擇過期期間,然後選擇新增。
-
立即記錄秘密值。此值只會顯示一次。
重要
複製秘密值,而不是秘密 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 應用程式fullcontrol存取每個 SharePoint 網站的權限。將預留位置值取代為您的站台 ID、管理員字符,以及來自步驟 3 的用戶端應用程式 ID 和顯示名稱。
macOS 和 Linux (bash)
curl -s --location "https://graph.microsoft.com/v1.0/sites/SITE_ID/permissions" \ --header "Content-Type: application/json" \ --header "Authorization: BearerADMIN_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
成功的回應包含 "roles": ["fullcontrol"]和 grantedToIdentities 欄位中的用戶端應用程式 ID。
重要
針對您要包含在知識庫中的每個 SharePoint 網站重複此命令。未來新增的任何新網站也需要單獨的許可授予。
清除
授予所有必要網站的許可後,您可以從 Microsoft Entra 管理中心刪除臨時管理員應用程式。您授予的網站層級許可會獨立於管理員應用程式保持有效。
注意
暫時管理員應用程式僅用於您的本機環境,以呼叫 Microsoft Graph API。Amazon Quick 永遠不會看到或存取管理員應用程式或其登入資料。建立知識庫時,只會將用戶端應用程式登入資料提供給 Amazon Quick。
步驟 4:授予 Amazon Quick 許可給 KMS 金鑰
Amazon Quick 需要許可,才能使用 KMS 金鑰簽署 OAuth 聲明。您可以從 Amazon Quick admin 主控台授予此許可。
注意
此步驟需要 Amazon Quick 管理員存取權 (Admin Pro 角色)。如果您不是管理員,請要求 Amazon Quick admin 使用步驟 1 的 KMS 金鑰 ARN 完成此步驟。
重要
如果您的組織管理自己的 Amazon Quick IAM 服務角色,則可能不適用下列主控台步驟。反之,請確保角色具有步驟 1 中 KMS 金鑰 ARN 的kms:Sign許可。
-
在 Amazon Quick 中,從左側導覽窗格中選擇管理帳戶。
-
在許可下,選擇AWS 資源。
-
在 AWS 資源頁面上,捲動至 AWS Key Management Service 並選取核取方塊。
-
選擇選取金鑰。
-
在選取 KMS 金鑰對話方塊中,輸入您在步驟 1 中記錄的 KMS 金鑰 ARN,然後選擇新增。
-
金鑰 ARN 會出現在清單中。選擇完成。
-
選擇資源頁面底部的 AWS 儲存。
後續步驟
完成設定後,請在 Amazon Quick 中建立 SharePoint Online 知識庫連線。如需說明,請參閱在 Amazon Quick 中建立知識庫。