Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengatur App-Only otentikasi Microsoft Entra ID untuk SharePoint
Microsoft Entra ID App-Only authentication (ENTRA_ID_APP_ONLY) adalah metode otentikasi yang direkomendasikan untuk sumber data. SharePoint Ini menggunakan alur kredensial-klien OAuth 2.0 (khusus aplikasi): aplikasi Microsoft Entra mengautentikasi dengan sertifikat, jadi tidak ada login pengguna yang terlibat pada waktu crawl atau pada waktu kueri. Ini adalah satu-satunya metode otentikasi yang mendukung kontrol akses tingkat dokumen (ACL). Untuk perbandingan dengan OAUTH2_APP metode alternatif, lihatMetode autentikasi.
Pengaturan ini mencakup dua sistem — Microsoft Entra ID dan AWS akun Anda — dan sertifikat adalah kredensi yang mengikat mereka bersama-sama. Konektor menyimpan sertifikat (termasuk kunci pribadi) sebagai file PKCS #12 (.p12) di Amazon S3 dan menggunakannya untuk menandatangani pernyataan otentikasi ke Microsoft; sertifikat publik yang cocok diunggah ke pendaftaran aplikasi Entra sehingga Microsoft dapat memvalidasi pernyataan tersebut.
Diperlukan akses administratif
Pengaturan ini memerlukan administrator Microsoft Entra ID (Administrator Global atau Administrator Peran Istimewa) untuk mendaftarkan aplikasi, mengonfigurasi izin, dan memberikan persetujuan admin. Jika Anda menggunakan cakupan Sites.Selected izin, Anda juga memerlukan SharePoint administrator untuk memberikan akses per situs. Tabel langkah dan peran Pengaturan di bawah ini mengidentifikasi akses yang diperlukan untuk setiap langkah.
Langkah dan peran pengaturan
Prosedur ini melibatkan administrator Microsoft Entra ID dan AWS administrator. Bergantung pada bagaimana tanggung jawab dibagi dalam organisasi Anda, satu orang atau beberapa orang mungkin menyelesaikan langkah-langkah ini. Gunakan tabel berikut untuk mengidentifikasi akses yang dibutuhkan setiap langkah.
| Langkah | Apa yang Anda lakukan | Diperlukan akses |
|---|---|---|
| 1. Daftarkan aplikasi | Buat pendaftaran aplikasi Entra dan catat ID klien dan penyewa. | Administrator Microsoft Entra ID (Administrator Global atau Administrator Peran Istimewa) |
| 2. Tambahkan izin dan berikan persetujuan | Tetapkan izin aplikasi untuk konfigurasi Anda dan berikan persetujuan admin. | Administrator Microsoft Entra ID |
| 3. Hasilkan sertifikat | Buat sertifikat yang ditandatangani sendiri dan bundel PKCS #12 (.p12) dengan OpenSSL. |
Siapa pun yang memiliki terminal lokal (OpenSSL diperlukan) |
| 4. Unggah sertifikat publik ke Entra | Tambahkan sertifikat publik ke kunci pendaftaran aplikasi. | Administrator Microsoft Entra ID |
5. Berikan akses per situs (hanya) Sites.Selected |
Berikan akses aplikasi ke setiap SharePoint situs melalui Microsoft Graph API. | Administrator Microsoft Entra ID |
| 6. Unggah sertifikat ke Amazon S3 | Simpan .p12 bundel dalam ember Amazon S3. |
AWS administrator (Amazon S3) |
| 7. Buat rahasianya | Simpan kredensialnya secara rahasia. AWS Secrets Manager | AWS administrator (Secrets Manager) |
| 8. Berikan akses peran layanan ke sertifikat | Tambahkan izin baca Amazon S3 ke peran layanan basis pengetahuan Anda. | AWS administrator (IAM) |
Pilih konfigurasi Anda
Sebelum memulai, buatlah dua keputusan. Mereka menentukan izin yang Anda tetapkan di Langkah 2 dan bagaimana Anda memberikan akses situs.
-
Document-level Access Control (ACL) — Tentukan apakah sumber data memfilter hasil kueri berdasarkan SharePoint izin masing-masing pengguna. Perayapan ACL memerlukan Microsoft Graph dan SharePoint izin tambahan. Anda tidak dapat mengubah pengaturan ini setelah Anda membuat sumber data. Lihat perinciannya di Document-level kontrol akses.
-
Ruang lingkup izin — Putuskan apakah aplikasi dapat membaca semua SharePoint situs di penyewa Anda (semua situs, opsi paling sederhana) atau hanya situs yang secara eksplisit Anda berikan (
Sites.Selected, opsi hak istimewa paling sedikit). DenganSites.SelectedAnda menyelesaikan hibah tambahan per situs di Langkah 5, dan situs apa pun yang Anda tambahkan nanti memerlukan hibah mereka sendiri.
Kombinasi dari dua pilihan ini memilih salah satu set izin di bagian berikut.
Referensi izin
Tetapkan izin aplikasi yang sesuai dengan konfigurasi Anda. Semua izin adalah izin aplikasi (tidak didelegasikan), dan setiap izin memerlukan persetujuan admin. Konektor mengautentikasi ke dua sumber daya Microsoft: Microsoft Graph (untuk menghitung situs dan, untuk ACL, untuk menyelesaikan pengguna dan grup) dan SharePointREST API (untuk membaca konten situs dan, untuk ACL, izin tingkat item).
penting
Saat Anda menambahkan izin ini di portal Entra, pilih tab Izin aplikasi, bukan izin Delegasi. App-only otentikasi menggunakan izin aplikasi.
Pilih tab untuk konfigurasi Anda untuk melihat Microsoft Graph dan SharePoint izin yang tepat untuk ditetapkan.
catatan
Sites.FullControl.Allmemberikan akses luas ke setiap situs di penyewa. Jika organisasi Anda memerlukan hak istimewa paling sedikit, gunakan Sites.Selected dan berikan akses per situs di Langkah 5.
Nilai yang Anda kumpulkan selama penyiapan
Anda membuat atau mengumpulkan nilai-nilai berikut saat Anda mengerjakan langkah-langkahnya. Anda menggunakannya saat Anda membuat sumber data. Lihat perinciannya di Connect sumber SharePoint data.
| Nilai | Dibuat di | Digunakan untuk |
|---|---|---|
| ID Aplikasi (klien) | Langkah 1 | Rahasianya (clientId). |
| ID Direktori (penyewa) | Langkah 1 | Sumber datanyatenantId. |
Sertifikat - PKCS #12 bundle (.p12) dan kata sandinya |
Langkah 3 | Bundel (sertifikat plus kunci pribadi) diunggah ke Amazon S3 (Langkah 6); kata sandi disimpan dalam rahasia certificatePassword (). |
Sertifikat - sertifikat publik (.cer) |
Langkah 3 | Setengah publik dari sertifikat yang sama, diunggah ke pendaftaran aplikasi Entra (Langkah 4). |
| Nama dan kunci bucket Amazon S3 | Langkah 6 | Sumber datanyacertificateS3Path. |
| Rahasia ARN | Langkah 7 | Sumber datanyasecretArn. |
Langkah 1: Daftarkan aplikasi di Microsoft Entra ID
-
Masuk ke pusat admin Microsoft Entra
. -
Di navigasi kiri, perluas ID Entra dan pilih Pendaftaran aplikasi.
-
Pilih Pendaftaran baru.
-
Untuk Nama, masukkan nama deskriptif, seperti
bedrock-sharepoint-connector. -
Untuk jenis akun yang didukung, pilih Akun di direktori organisasi ini saja (Penyewa tunggal).
-
Biarkan Redirect URI kosong. URI pengalihan tidak diperlukan karena aplikasi menggunakan alur kredensial-klien, bukan alur masuk interaktif.
-
PilihPendaftaran.
-
Pada halaman Ikhtisar aplikasi, catat ID Aplikasi (klien) dan ID Direktori (penyewa). Anda membutuhkan keduanya nanti.
Langkah 2: Tambahkan izin API dan berikan persetujuan admin
Tambahkan izin untuk konfigurasi Anda dariReferensi izin.
-
Dalam pendaftaran aplikasi Anda, pilih izin API, lalu Tambahkan izin.
-
Pilih Microsoft Graph, lalu Izin aplikasi. Cari dan pilih setiap izin Microsoft Graph untuk konfigurasi Anda, lalu pilih Tambahkan izin.
-
Pilih Tambah izin lagi. Pilih SharePoint(di bawah Microsoft API), lalu Izin aplikasi. Pilih setiap SharePoint izin untuk konfigurasi Anda, lalu pilih Tambahkan izin.
-
Pada halaman izin API, pilih Berikan persetujuan admin untuk [organisasi Anda] dan konfirmasikan. Tanpa persetujuan admin, aplikasi tidak dapat mengakses SharePoint data.
catatan
App-Only Otentikasi Microsoft Entra ID menggunakan sertifikat (dari Langkah 3) sebagai kredensyal, sehingga Anda tidak membuat rahasia klien untuk aplikasi ini.
Langkah 3: Hasilkan sertifikat otentikasi
Buat sertifikat yang ditandatangani sendiri dan paketkan sebagai bundel PKCS #12 ().p12. Bundel berisi sertifikat dan kunci pribadinya, dilindungi oleh kata sandi. Anda mengunggah sertifikat publik ke Entra (Langkah 4) dan .p12 bundel ke Amazon S3 (Langkah 6). Pilih tab untuk sistem operasi Anda untuk melihat perintah.
catatan
Amazon Bedrock membaca kunci pribadi dari .p12 bundel untuk menandatangani pernyataan otentikasi, sehingga bundel harus dilindungi kata sandi dan disimpan dengan aman. Pilih kata sandi acak yang kuat - Anda menyimpannya dalam rahasia seperti certificatePassword pada Langkah 7.
penting
Simpan .p12 bundel di Amazon S3 (bukan .cer file .pem atau). Bundel berisi kunci pribadi yang digunakan Amazon Bedrock untuk mengautentikasi. Document-level Access Control (ACL) membutuhkan .p12 format. Untuk perayapan konten saja tanpa ACL, Anda dapat menyimpan PEM-encoded sertifikat sebagai gantinya; karena .p12 berfungsi untuk setiap konfigurasi, panduan ini digunakan secara keseluruhan. .p12
catatan
Sertifikat ini berlaku selama satu tahun secara default. Sertifikat yang kedaluwarsa menyebabkan semua sinkronisasi gagal, jadi putar sertifikat sebelum kedaluwarsa. Untuk mengubah masa berlaku, sesuaikan -days opsi (OpenSSL) atau -NotAfter argumen (). PowerShell Untuk langkah rotasi, lihatPutar sertifikat.
Langkah 4: Unggah sertifikat publik ke Entra
-
Dalam pendaftaran aplikasi Anda, pilih Sertifikat & rahasia, lalu tab Sertifikat.
-
Pilih Unggah sertifikat dan pilih
certificate.cerfile yang Anda buat di Langkah 3 (hanya sertifikat publik — jangan pernah mengunggah.p12bundel atau kunci pribadi ke Entra). -
Pilih Tambahkan.
Langkah 5 (Sites.Selected hanya): Berikan akses per situs
catatan
Langkah ini hanya berlaku jika Anda memilih ruang lingkup Sites.Selected izin di Langkah 2. Jika Anda menggunakan cakupan semua situs (Sites.Read.AllatauSites.FullControl.All), lewati keLangkah 6: Unggah sertifikat ke Amazon S3.
DenganSites.Selected, Anda memberikan akses aplikasi konektor Anda ke setiap SharePoint situs secara individual melalui Microsoft Graph API. Ini membutuhkan aplikasi sementara terpisah yang berlaku Sites.FullControl.All dan hanya digunakan untuk melakukan hibah. Amazon Bedrock tidak pernah melihat aplikasi sementara ini atau kredensialnya.
-
Buat aplikasi pemberi hibah sementara. Di pusat admin Entra, daftarkan aplikasi kedua (misalnya,
bedrock-sharepoint-granter) sebagai penyewa tunggal tanpa URI pengalihan. Tambahkan izinSites.FullControl.Allaplikasi Microsoft Graph, berikan persetujuan admin, dan buat rahasia klien. Catat ID klien dan nilai rahasianya. -
Dapatkan token akses untuk aplikasi pemberi hibah. Ganti placeholder dengan ID klien dan rahasia aplikasi pemberi hibah, dan ID penyewa Anda.
curl -s -X POST \ "https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials" \ -d "client_id=GRANTER_CLIENT_ID" \ -d "client_secret=GRANTER_CLIENT_SECRET" \ -d "scope=https://graph.microsoft.com/.default"Tanggapan tersebut berisi sebuah
access_token. Gunakan sebagai token pembawa di perintah berikutnya. -
Menyelesaikan setiap URL situs ke ID situs. Gunakan nama host situs dan jalur server-relatif.
curl -s \ "https://graph.microsoft.com/v1.0/sites/contoso.sharepoint.com:/sites/engineering" \ -H "Authorization: BearerACCESS_TOKEN"idBidang dalam respons adalah ID situs. -
Berikan akses aplikasi konektor ke situs. Gunakan
readuntuk crawling khusus konten ataufullcontroluntuk perayapan ACL. GantiCONNECTOR_CLIENT_IDdengan ID aplikasi (klien) dari Langkah 1.curl -s -X POST \ "https://graph.microsoft.com/v1.0/sites/SITE_ID/permissions" \ -H "Authorization: BearerACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "roles": ["fullcontrol"], "grantedToIdentities": [{ "application": { "id": "CONNECTOR_CLIENT_ID", "displayName": "bedrock-sharepoint-connector" } }] }' -
Ulangi perintah resolve-and-grant untuk setiap situs yang Anda sertakan dalam sumber data. Setelah selesai, Anda dapat menghapus aplikasi pemberi hibah sementara; hibah per situs tetap berlaku.
penting
Per-site hibah tidak berlaku surut. Jika Anda menambahkan situs ke sumber data nanti, berikan akses aplikasi konektor ke situs tersebut sebelum sinkronisasi berikutnya, atau kontennya tidak dirayapi.
Langkah 6: Unggah sertifikat ke Amazon S3
Unggah .p12 bundel dari Langkah 3 ke bucket Amazon S3 di AWS Wilayah yang sama dengan basis pengetahuan Anda. Rekam nama dan kunci bucket — Anda menggunakannya sebagai sumber datacertificateS3Path.
aws s3api put-object \ --bucketyour-certificate-bucket\ --keycerts/certificate.p12\ --body certificate.p12 \ --server-side-encryption AES256
catatan
Kami menyarankan Anda mengaktifkan enkripsi sisi server pada objek sertifikat dan membatasi bucket ke prinsipal yang membutuhkannya. Bundel berisi kunci pribadi.
Langkah 7: Buat rahasia Secrets Manager
Simpan kredensialnya secara rahasia. AWS Secrets Manager Untuk App-Only otentikasi Entra ID, sertakan pasangan kunci-nilai berikut:
clientId(wajib) - ID aplikasi (klien) dari Langkah 1.certificatePassword(disarankan) — kata sandi yang Anda tetapkan pada.p12bundel di Langkah 3. Lihat catatan berikut.
{ "clientId": "your-client-id", "certificatePassword": "your-certificate-password" }
Buat rahasia dengan AWS Command Line Interface:
aws secretsmanager create-secret \ --namebedrock-sharepoint-creds\ --secret-string file://secret.json
Rekam rahasia ARN dari tanggapannya. Anda menggunakannya sebagai sumber datasecretArn.
catatan
Setel certificatePassword ke kata sandi yang Anda gunakan saat membuat .p12 bundel di Langkah 3. Jika Anda menghilangkan bidang ini, Amazon Bedrock membuka bundel menggunakan ID klien aplikasi Anda sebagai kata sandi, sehingga bundel harus dibuat dengan ID klien sebagai kata sandinya. Kami menyarankan agar Anda selalu menetapkan kata sandi eksplisit dan entropi tinggi sebagai gantinya, dan menyimpan kunci pribadi dengan aman.
catatan
Menggunakan sertifikat PEM sebagai gantinya. Panduan ini menggunakan .p12 bundel, yang berfungsi untuk setiap konfigurasi. Jika Anda meng-crawl konten saja (tidak ada kontrol akses tingkat dokumen), Anda dapat menggunakan sertifikat PEM sebagai gantinya. Dalam hal ini, unggah hanya sertifikat publik ke Amazon S3 (bukan .p12 bundel), dan simpan kunci pribadi dalam rahasia sebagai privateKey (PKCS #8 yang disandikan base64 tidak terenkripsi, tanpa baris header) sebagai pengganti: certificatePassword
{ "clientId": "your-client-id", "privateKey": "your-base64-pkcs8-private-key" }
Langkah 8: Berikan akses peran layanan ke sertifikat
Peran layanan basis pengetahuan Anda harus dapat membaca objek sertifikat dari Amazon S3. Tambahkan pernyataan berikut ke kebijakan izin peran, ganti nama dan kunci bucket dengan nilai Anda.
{ "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"] } } } ] }
catatan
Kebijakan ini juga memungkinkan akses baca ke .metadata.json file opsional di samping sertifikat. Amazon Bedrock tidak memerlukan file ini; termasuk izin mencegah kesalahan akses jika ada.
Jika objek sertifikat dienkripsi dengan kunci KMS AWS
Perintah upload Langkah 6: Unggah sertifikat ke Amazon S3 menggunakan S3-managed enkripsi Amazon (AES256), yang tidak memerlukan izin tambahan. Jika Anda mengenkripsi objek sertifikat dengan enkripsi sisi server Amazon S3 menggunakan kunci KMS yang dikelola pelanggan SSE-KMS (), peran layanan juga kms:Decrypt memerlukan izin pada kunci tersebut, dan kebijakan kunci harus mengizinkan peran untuk menggunakannya. Objek yang dienkripsi dengan aws/s3 kunci AWS terkelola tidak memerlukan hibah tambahan ini.
{ "Sid": "KmsDecryptCertificate", "Effect": "Allow", "Action": ["kms:Decrypt"], "Resource": ["arn:aws:kms:us-west-2:123456789012:key/your-key-id"] }
Akses baca hanya membutuhkankms:Decrypt. Untuk informasi selengkapnya, lihat Menggunakan enkripsi sisi server dengan kunci AWS KMS (). SSE-KMS
Untuk set lengkap izin peran layanan basis pengetahuan, lihatIzin untuk mengakses sumber data Anda.
Langkah selanjutnya
Anda sekarang memiliki semua yang Anda butuhkan untuk membuat sumber data: ARN rahasia, ID penyewa Anda, dan lokasi Amazon S3 sertifikat. Untuk membuat sumber SharePoint data dengan Konsol Manajemen AWS atau API, lihatConnect sumber SharePoint data.
penting
Untuk ENTRA_ID_APP_ONLY otentikasi, Anda harus menyediakan certificateS3Path ketika Anda membuat sumber data, bahkan ketika ACL dinonaktifkan. Sumber SharePoint data yang dibuat dengan jenis autentikasi ini dan tidak ada sertifikat yang gagal.