本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 OneDrive 的 Microsoft Entra App ID 身分驗證
Microsoft Entra App ID 身分驗證 (ENTRA_APP_ID) 是 OneDrive 資料來源的建議身分驗證方法。連接器會使用您應用程式的用戶端 ID 和秘密,以 OAuth 2.0 用戶端憑證 (僅限應用程式) 流程編目內容 - 不涉及使用者登入。這是唯一支援文件層級存取控制 (ACLs身分驗證方法。如需與替代OAUTH2方法的比較,請參閱 身分驗證方法。
注意
只有在您啟用文件層級存取控制時,才需要憑證。對於僅內容爬取,用戶端 ID 和秘密是連接器唯一需要的憑證。這與 SharePoint 資料來源不同,其中 Microsoft Entra ID 僅應用程式身分驗證一律需要憑證。
需要管理存取權
此設定需要 Microsoft Entra ID 管理員 (全球管理員或特殊權限角色管理員) 來註冊應用程式、設定許可,以及授予管理員同意。以下設定步驟和角色資料表會識別每個步驟所需的存取權。
設定步驟和角色
此程序同時涉及 Microsoft Entra ID 管理員和 AWS 管理員。視責任在組織中的分配方式而定,可能會有一個人或多人完成這些步驟。憑證步驟 (步驟 4–6 和 8) 僅適用於啟用文件層級存取控制時。使用下表來識別每個步驟所需的存取權。
| 步驟 | 您執行的動作 | 需要存取 |
|---|---|---|
| 1. 註冊應用程式 | 建立 Entra 應用程式註冊,並記錄其用戶端和租用戶 IDs。 | Microsoft Entra ID 管理員 (全球管理員或特殊權限角色管理員) |
| 2. 新增許可並授予同意 | 為您的組態指派應用程式許可,並授予管理員同意。 | Microsoft Entra ID 管理員 |
| 3. 建立用戶端秘密 | 為應用程式建立用戶端秘密,並記錄其值。 | Microsoft Entra ID 管理員 |
| 4. 產生憑證 (僅限 ACLs) | 使用 OpenSSL 建立自我簽署憑證和 PKCS#12 (.p12) 套件。 |
具有本機終端機的任何人 (需要 OpenSSL) |
| 5. 將公有憑證上傳至 Entra (僅限 ACLs) | 將公有憑證新增至應用程式註冊的金鑰。 | Microsoft Entra ID 管理員 |
| 6. 將憑證上傳至 Amazon S3 (僅限 ACLs) | 將.p12套件存放在 Amazon S3 儲存貯體中。 |
AWS 管理員 (Amazon S3) |
| 7. 建立秘密 | 將登入資料存放在 AWS Secrets Manager 秘密中。 | AWS 管理員 (Secrets Manager) |
| 8. 授予服務角色對憑證的存取權 (ACLs) | 將 Amazon S3 讀取許可新增至您的知識庫服務角色。 | AWS 管理員 (IAM) |
許可參考
指派符合您組態的應用程式許可。所有許可都是應用程式許可 (未委派),而且每個許可都需要管理員同意。對於僅限內容爬取,連接器只會向 Microsoft Graph 進行身分驗證。啟用文件層級存取控制時,連接器還會對 SharePoint REST API 進行身分驗證,以在查詢時驗證存取權,因為 OneDrive for Business 由 SharePoint 提供支援。
重要
當您在 Entra 入口網站中新增這些許可時,請選擇應用程式許可索引標籤,而非委派許可。僅限應用程式身分驗證使用應用程式許可。
選取組態的索引標籤,以查看要指派的確切許可。
注意
SharePoint Sites.FullControl.All許可會授予連接器應用程式在您的租用戶中跨網站進行廣泛存取。僅將其授予此應用程式,並相應地保護應用程式的登入資料。
您在設定期間收集的值
您在執行這些步驟時建立或收集下列值。您可以在建立資料來源時使用它們。如需詳細資訊,請參閱連接 OneDrive 資料來源。
| Value | 在 中建立 | 用於 |
|---|---|---|
| 應用程式 (用戶端) ID | 步驟 1 | 秘密 (clientId)。 |
| 目錄 (租戶) ID | 步驟 1 | 資料來源 tenantId。 |
| 用戶端秘密值 | 步驟 3 | 秘密 (clientSecret)。 |
憑證 — PKCS#12 套件 (.p12) 及其密碼 (ACLs) |
步驟 4 | 套件 (憑證加上私有金鑰) 會上傳至 Amazon S3 (步驟 6);密碼會存放在秘密中 ()certificatePassword。 |
憑證 — 公有憑證 (.cer) (ACLs) |
步驟 4 | 相同憑證的公有一半,上傳至 Entra 應用程式註冊 (步驟 5)。 |
| Amazon S3 儲存貯體名稱和金鑰 (ACLs) | 步驟 6 | 資料來源 certificateS3Path。 |
| 秘密 ARN | 步驟 7 | 資料來源 secretArn。 |
步驟 1:在 Microsoft Entra ID 中註冊應用程式
-
在左側導覽中,展開 Entra ID,然後選擇應用程式註冊。
-
選擇新增註冊。
-
針對名稱,輸入描述性名稱,例如
bedrock-onedrive-connector。 -
對於支援的 帳戶類型,僅選取此組織目錄中的帳戶 (單一租戶)。
-
將重新導向 URI 保留空白。不需要重新導向 URI,因為應用程式使用用戶端憑證流程,而不是互動式登入流程。
-
選擇註冊。
-
在應用程式概觀頁面上,記錄應用程式 (用戶端) ID 和目錄 (租戶) ID。您稍後需要兩者。
步驟 2:新增 API 許可並授予管理員同意
從 新增組態的許可許可參考。
-
在您的應用程式註冊中,選擇 API 許可,然後選擇新增許可。
-
選擇 Microsoft Graph,然後選擇應用程式許可。搜尋並選擇組態的每個 Microsoft Graph 許可,然後選擇新增許可。
-
如果您要啟用文件層級存取控制,請再次選擇新增許可。選擇 SharePoint (在 Microsoft APIs下),然後選擇應用程式許可。選取
Sites.FullControl.All,然後選擇新增許可。 -
在 API 許可頁面上,選擇授予 【您的組織】 的管理員同意並確認。未經管理員同意,應用程式無法存取 OneDrive 資料。
步驟 3:建立用戶端秘密
OneDrive 爬取會使用應用程式的用戶端 ID 和秘密,因此僅限內容和啟用 ACL 的資料來源都需要用戶端秘密。啟用文件層級存取控制時,連接器會使用用戶端秘密來取得 Microsoft Graph 字符,以解析租戶的 OneDrive 主機,並使用憑證 (來自步驟 4) 來取得用於存取檢查的 SharePoint 字符。
-
在您的應用程式註冊中,選擇憑證和秘密,然後選擇用戶端秘密,然後選擇新用戶端秘密。
-
輸入描述,選擇過期,然後選擇新增。
-
立即記錄秘密值 — 只會顯示一次。記錄值,而不是秘密 ID。
步驟 4 (ACLs):產生身分驗證憑證
注意
此步驟和步驟 5、6 和 8 僅適用於啟用文件層級存取控制的情況。對於僅限內容爬取,請跳至 步驟 7:建立 Secrets Manager 秘密。
產生自我簽署憑證並將其封裝為 PKCS#12 (.p12) 套件。套件同時包含憑證及其私有金鑰,並受密碼保護。您可以將公有憑證上傳到 Entra (步驟 5) 和.p12套件上傳到 Amazon S3 (步驟 6)。選取作業系統的索引標籤以查看命令。
注意
Amazon Bedrock 會從.p12套件讀取私有金鑰以簽署身分驗證聲明,因此套件必須受到密碼保護。選擇強式隨機密碼 — 您會將它存放在秘密中,如步驟 7 certificatePassword所示。
重要
將.p12套件存放在 Amazon S3 中 (而非 .pem或 .cer 檔案)。套件包含 Amazon Bedrock 用來向 SharePoint 驗證存取驗證的私有金鑰,因此請安全地存放它。文件層級存取控制需要 .p12 格式。
注意
根據預設,憑證有效期為一年。過期的憑證會導致所有同步失敗,因此請在憑證過期之前輪換憑證。若要變更有效期間,請調整 -days 選項 (OpenSSL) 或 -NotAfter引數 (PowerShell)。如需輪換步驟,請參閱 輪換憑證。
步驟 5 (僅限 ACLs):將公有憑證上傳至 Entra
-
在您的應用程式註冊中,選擇憑證和秘密,然後選擇憑證索引標籤。
-
選擇上傳憑證,然後選取您在步驟 4 中產生的
certificate.cer檔案 (僅限公有憑證 - 絕不可將.p12套件或私有金鑰上傳至 Entra)。 -
選擇新增。
步驟 6 (僅限 ACLs):上傳憑證至 Amazon S3
從步驟 4 將.p12套件上傳至與知識庫位於相同區域中的 Amazon S3 儲存貯 AWS 體。記錄儲存貯體名稱和金鑰 - 您可以將它們用作資料來源 certificateS3Path。
aws s3api put-object \ --bucketyour-certificate-bucket\ --keycerts/certificate.p12\ --body certificate.p12 \ --server-side-encryption AES256
注意
建議您在憑證物件上啟用伺服器端加密,並將儲存貯體限制為需要它的主體。套件包含私有金鑰。
步驟 7:建立 Secrets Manager 秘密
將登入資料存放在 AWS Secrets Manager 秘密中。對於 Microsoft Entra App ID 身分驗證,請包含下列鍵/值對:
clientId(必要) — 步驟 1 中的應用程式 (用戶端) ID。clientSecret(必要) — 步驟 3 的用戶端秘密值。certificatePassword(僅限文件層級存取控制,建議) — 您在步驟 4 中於.p12套件上設定的密碼。請參閱以下備註。
僅限內容 (無文件層級存取控制)
{ "clientId": "your-client-id", "clientSecret": "your-client-secret" }
使用文件層級存取控制
{ "clientId": "your-client-id", "clientSecret": "your-client-secret", "certificatePassword": "your-certificate-password" }
使用 建立秘密 AWS Command Line Interface:
aws secretsmanager create-secret \ --namebedrock-onedrive-creds\ --secret-string file://secret.json
從回應記錄秘密 ARN。您可以使用它做為資料來源 secretArn。
注意
啟用文件層級存取控制時,請將 certificatePassword 設定為您在步驟 4 中建立.p12套件時所使用的密碼。如果您省略此欄位,Amazon Bedrock 會使用應用程式的用戶端 ID 做為密碼來開啟套件,因此套件必須使用用戶端 ID 做為密碼建立。我們建議您改為設定明確的高熵密碼。
步驟 8 (僅限 ACLs):授予憑證的服務角色存取權
您的知識庫服務角色必須能夠從 Amazon S3 讀取憑證物件。將下列陳述式新增至角色的許可政策,將儲存貯體名稱和金鑰取代為您的值。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3ListCertificateBucket", "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": ["arn:aws:s3:::your-certificate-bucket"], "Condition": { "StringEquals": { "aws:ResourceAccount": ["123456789012"] } } }, { "Sid": "S3GetCertificate", "Effect": "Allow", "Action": ["s3:GetObject"], "Resource": [ "arn:aws:s3:::your-certificate-bucket/certs/certificate.p12", "arn:aws:s3:::your-certificate-bucket/certs/certificate.p12.metadata.json" ], "Condition": { "StringEquals": { "aws:ResourceAccount": ["123456789012"] } } } ] }
注意
此政策也允許隨憑證一起讀取選用.metadata.json檔案。Amazon Bedrock 不需要此檔案;包括防止存在存取錯誤的許可。
如果憑證物件使用 AWS KMS 金鑰加密
中的上傳命令步驟 6 (僅限 ACLs):上傳憑證至 Amazon S3使用 Amazon S3-managed加密 (AES256),不需要額外的許可。如果您使用客戶受管 KMS 金鑰 (SSE-KMS) 使用 Amazon S3 伺服器端加密來加密憑證物件,則服務角色也需要該金鑰的kms:Decrypt許可,而且金鑰的政策必須允許角色使用它。使用 AWS 受管aws/s3金鑰加密的物件不需要此額外授權。
{ "Sid": "KmsDecryptCertificate", "Effect": "Allow", "Action": ["kms:Decrypt"], "Resource": ["arn:aws:kms:us-west-2:123456789012:key/your-key-id"] }
如需完整的知識庫服務角色許可,請參閱 存取您的資料來源的許可。
後續步驟
您現在擁有建立資料來源所需的登入資料:秘密 ARN、租用戶 ID,以及憑證的 Amazon S3 位置 (用於文件層級存取控制)。若要使用 AWS 管理主控台 或 API 建立 OneDrive 資料來源,請參閱 連接 OneDrive 資料來源。