View a markdown version of this page

Mengatur otentikasi Microsoft Entra App ID untuk OneDrive - Amazon Bedrock

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengatur otentikasi Microsoft Entra App ID untuk OneDrive

Microsoft Entra App ID authentication (ENTRA_APP_ID) adalah metode otentikasi yang disarankan untuk sumber data. OneDrive Konektor meng-crawl konten dengan alur kredensial-klien OAuth 2.0 (khusus aplikasi), menggunakan ID klien dan rahasia aplikasi Anda — tidak ada login pengguna yang terlibat. Ini adalah satu-satunya metode otentikasi yang mendukung kontrol akses tingkat dokumen (ACL). Untuk perbandingan dengan OAUTH2 metode alternatif, lihatMetode autentikasi.

catatan

Sertifikat hanya diperlukan jika Anda mengaktifkan kontrol akses tingkat dokumen. Untuk crawling khusus konten, ID klien dan rahasia adalah satu-satunya kredensyal yang dibutuhkan konektor. Ini berbeda dari sumber SharePoint data, di mana App-Only otentikasi Microsoft Entra ID selalu memerlukan sertifikat.

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. 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. Langkah-langkah sertifikat (Langkah 4—6 dan 8) hanya berlaku jika Anda mengaktifkan kontrol akses tingkat dokumen. Gunakan tabel berikut untuk mengidentifikasi akses yang dibutuhkan setiap langkah.

Langkah-langkah pengaturan dan akses yang dibutuhkan masing-masing
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. Buat rahasia klien Buat rahasia klien untuk aplikasi dan catat nilainya. Administrator Microsoft Entra ID
4. Hasilkan sertifikat (hanya ACL) Buat sertifikat yang ditandatangani sendiri dan bundel PKCS #12 (.p12) dengan OpenSSL. Siapa pun yang memiliki terminal lokal (OpenSSL diperlukan)
5. Unggah sertifikat publik ke Entra (hanya ACL) Tambahkan sertifikat publik ke kunci pendaftaran aplikasi. Administrator Microsoft Entra ID
6. Unggah sertifikat ke Amazon S3 (hanya ACL) 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 (hanya ACL) Tambahkan izin baca Amazon S3 ke peran layanan basis pengetahuan Anda. AWS administrator (IAM)

Referensi izin

Tetapkan izin aplikasi yang sesuai dengan konfigurasi Anda. Semua izin adalah izin aplikasi (tidak didelegasikan), dan setiap izin memerlukan persetujuan admin. Untuk crawling khusus konten, konektor hanya mengautentikasi ke Microsoft Graph. Ketika kontrol akses tingkat dokumen diaktifkan, konektor juga mengautentikasi ke SharePointREST API untuk memverifikasi akses pada waktu kueri, karena OneDrive for Business didukung oleh. SharePoint

penting

Saat Anda menambahkan izin ini di portal Entra, pilih tab Izin aplikasi, bukan izin Delegasi. Application-only otentikasi menggunakan izin aplikasi.

Pilih tab untuk konfigurasi Anda untuk melihat izin yang tepat untuk ditetapkan.

Content only (no ACLs)
Konten saja
API Izin Tujuan
Grafik Microsoft Files.Read.All Baca file di drive pengguna.
Grafik Microsoft Sites.Read.All Baca OneDrive situs yang mendukung drive pengguna.
Grafik Microsoft User.Read.All Hitung pengguna yang drive-nya Anda jelajahi.
With ACLs
Dengan ACL
API Izin Tujuan
Grafik Microsoft Files.Read.All Baca file di drive pengguna.
Grafik Microsoft Sites.Read.All Baca OneDrive situs yang mendukung drive pengguna.
Grafik Microsoft User.Read.All Hitung pengguna dan selesaikan mereka untuk ACL tingkat dokumen.
Grafik Microsoft GroupMember.Read.All Selesaikan keanggotaan grup untuk ACL tingkat dokumen.
SharePoint Sites.FullControl.All Verifikasi akses setiap pengguna ke dokumen pada waktu kueri. Sites.Read.AllTidak cukup untuk pemeriksaan ini.
catatan

SharePoint Sites.FullControl.AllIzin memberikan aplikasi konektor akses luas di seluruh situs di penyewa Anda. Berikan hanya untuk aplikasi ini, dan lindungi kredensyal aplikasi yang sesuai.

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 OneDrive data.

Referensi nilai
Nilai Dibuat di Digunakan untuk
ID Aplikasi (klien) Langkah 1 Rahasianya (clientId).
ID Direktori (penyewa) Langkah 1 Sumber datanyatenantId.
Nilai rahasia klien Langkah 3 Rahasianya (clientSecret).
Sertifikat - PKCS #12 bundle (.p12) dan kata sandinya (hanya ACL) Langkah 4 Bundel (sertifikat plus kunci pribadi) diunggah ke Amazon S3 (Langkah 6); kata sandi disimpan dalam rahasia certificatePassword ().
Sertifikat - sertifikat publik (.cer) (hanya ACL) Langkah 4 Setengah publik dari sertifikat yang sama, diunggah ke pendaftaran aplikasi Entra (Langkah 5).
Nama dan kunci bucket Amazon S3 (hanya ACL) Langkah 6 Sumber datanyacertificateS3Path.
Rahasia ARN Langkah 7 Sumber datanyasecretArn.

Langkah 1: Daftarkan aplikasi di Microsoft Entra ID

  1. Masuk ke pusat admin Microsoft Entra.

  2. Di navigasi kiri, perluas ID Entra dan pilih Pendaftaran aplikasi.

  3. Pilih Pendaftaran baru.

  4. Untuk Nama, masukkan nama deskriptif, sepertibedrock-onedrive-connector.

  5. Untuk jenis akun yang didukung, pilih Akun di direktori organisasi ini saja (Penyewa tunggal).

  6. Biarkan Redirect URI kosong. URI pengalihan tidak diperlukan karena aplikasi menggunakan alur kredensial-klien, bukan alur masuk interaktif.

  7. PilihPendaftaran.

  8. 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.

  1. Dalam pendaftaran aplikasi Anda, pilih izin API, lalu Tambahkan izin.

  2. Pilih Microsoft Graph, lalu Izin aplikasi. Cari dan pilih setiap izin Microsoft Graph untuk konfigurasi Anda, lalu pilih Tambahkan izin.

  3. Jika Anda mengaktifkan kontrol akses tingkat dokumen, pilih Tambah izin lagi. Pilih SharePoint(di bawah Microsoft API), lalu Izin aplikasi. PilihSites.FullControl.All, lalu pilih Tambahkan izin.

  4. Pada halaman izin API, pilih Berikan persetujuan admin untuk [organisasi Anda] dan konfirmasikan. Tanpa persetujuan admin, aplikasi tidak dapat mengakses OneDrive data.

Langkah 3: Buat rahasia klien

OneDrive crawling menggunakan ID klien dan rahasia aplikasi, sehingga rahasia klien diperlukan untuk konten saja dan ACL-enabled sumber data. Ketika kontrol akses tingkat dokumen diaktifkan, konektor menggunakan rahasia klien untuk mendapatkan token Microsoft Graph yang menyelesaikan OneDrive host penyewa Anda, dan sertifikat (dari Langkah 4) untuk mendapatkan SharePoint token yang digunakan untuk pemeriksaan akses.

  1. Dalam pendaftaran aplikasi Anda, pilih Sertifikat & rahasia, lalu Rahasia klien, lalu Rahasia klien baru.

  2. Masukkan deskripsi, pilih kedaluwarsa, dan pilih Tambah.

  3. Catat Nilai rahasia segera — hanya ditampilkan sekali. Catat Nilai, bukan ID Rahasia.

Langkah 4 (hanya ACL): Hasilkan sertifikat otentikasi

catatan

Langkah ini dan Langkah 5, 6, dan 8 hanya berlaku jika Anda mengaktifkan kontrol akses tingkat dokumen. Untuk crawling khusus konten, lewati ke. Langkah 7: Buat rahasia Secrets Manager

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 5) 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. Pilih kata sandi acak yang kuat - Anda menyimpannya dalam rahasia seperti certificatePassword pada Langkah 7.

Linux or macOS (OpenSSL)

Buat kunci pribadi dan sertifikat yang ditandatangani sendiri

openssl req -x509 -newkey rsa:2048 -keyout private_key.pem -out certificate.cer \ -days 365 -nodes \ -subj "/CN=bedrock-onedrive-connector"

Package sertifikat dan kunci sebagai bundel PKCS #12 () .p12

Masukkan kata sandi ekspor yang kuat saat diminta. Rekam untuk Langkah 7.

openssl pkcs12 -export -out certificate.p12 \ -inkey private_key.pem -in certificate.cer

Anda sekarang memiliki tiga file: kunci pribadi (private_key.pem), sertifikat publik (certificate.cer), dan bundel (certificate.p12). Anda mengunggah sertifikat publik ke Entra di Langkah 5 dan .p12 bundel ke Amazon S3 di Langkah 6.

Windows (PowerShell)

Menghasilkan sertifikat yang ditandatangani sendiri

PowerShell Perintah berikut menghasilkan sertifikat yang ditandatangani sendiri RSA 2048-bit dengan masa berlaku satu tahun dan menyimpannya di toko sertifikat pengguna saat ini. Ganti your-password dengan kata sandi acak yang kuat - Anda menyimpannya dalam rahasia seperti certificatePassword pada Langkah 7.

$cert = New-SelfSignedCertificate ` -Subject "CN=bedrock-onedrive-connector" ` -CertStoreLocation "Cert:\CurrentUser\My" ` -KeyAlgorithm RSA ` -KeyLength 2048 ` -KeyExportPolicy Exportable ` -NotAfter (Get-Date).AddYears(1)

Ekspor sertifikat publik

Export-Certificate -Cert $cert -FilePath certificate.cer -Type CERT

Ekspor bundel PKCS #12 () .p12

$password = ConvertTo-SecureString -String "your-password" -Force -AsPlainText Export-PfxCertificate -Cert $cert -FilePath certificate.p12 -Password $password

Anda sekarang memiliki dua file: sertifikat publik (certificate.cer) dan bundel (certificate.p12). Anda mengunggah sertifikat publik ke Entra di Langkah 5 dan .p12 bundel ke Amazon S3 di Langkah 6.

penting

Simpan .p12 bundel di Amazon S3 (bukan .cer file .pem atau). Bundel berisi kunci pribadi yang digunakan Amazon Bedrock untuk mengautentikasi SharePoint untuk verifikasi akses, jadi simpan dengan aman. Document-level kontrol akses membutuhkan .p12 format.

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 5 (hanya ACL): Unggah sertifikat publik ke Entra

  1. Dalam pendaftaran aplikasi Anda, pilih Sertifikat & rahasia, lalu tab Sertifikat.

  2. Pilih Unggah sertifikat dan pilih certificate.cer file yang Anda buat di Langkah 4 (hanya sertifikat publik — jangan pernah mengunggah .p12 bundel atau kunci pribadi ke Entra).

  3. Pilih Tambahkan.

Langkah 6 (hanya ACL): Unggah sertifikat ke Amazon S3

Unggah .p12 bundel dari Langkah 4 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 \ --bucket your-certificate-bucket \ --key certs/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 otentikasi ID Aplikasi Microsoft Entra, sertakan pasangan nilai kunci berikut:

  • clientId(wajib) - ID aplikasi (klien) dari Langkah 1.

  • clientSecret(wajib) — nilai rahasia klien dari Langkah 3.

  • certificatePassword(kontrol akses tingkat dokumen saja, disarankan) - kata sandi yang Anda tetapkan pada .p12 bundel di Langkah 4. Lihat catatan berikut.

Hanya konten (tidak ada kontrol akses tingkat dokumen)

{ "clientId": "your-client-id", "clientSecret": "your-client-secret" }

Dengan kontrol akses tingkat dokumen

{ "clientId": "your-client-id", "clientSecret": "your-client-secret", "certificatePassword": "your-certificate-password" }

Buat rahasia dengan AWS Command Line Interface:

aws secretsmanager create-secret \ --name bedrock-onedrive-creds \ --secret-string file://secret.json

Rekam rahasia ARN dari tanggapannya. Anda menggunakannya sebagai sumber datasecretArn.

catatan

Saat kontrol akses tingkat dokumen diaktifkan, atur certificatePassword ke kata sandi yang Anda gunakan saat membuat .p12 bundel di Langkah 4. 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.

Langkah 8 (hanya ACL): 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 (hanya ACL): 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"] }

Untuk set lengkap izin peran layanan basis pengetahuan, lihatIzin untuk mengakses sumber data Anda.

Langkah selanjutnya

Anda sekarang memiliki kredensyal yang Anda butuhkan untuk membuat sumber data: ARN rahasia, ID penyewa Anda, dan (untuk kontrol akses tingkat dokumen) lokasi Amazon S3 sertifikat. Untuk membuat sumber OneDrive data dengan Konsol Manajemen AWS atau API, lihatConnect sumber OneDrive data.