Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Siapkan otentikasi OAuth 2.0 untuk OneDrive
OAuth 2.0 authentication (OAUTH2) mengautentikasi dengan ID klien aplikasi dan rahasia bersama dengan token refresh yang didelegasikan. Konektor menggunakan token penyegaran untuk mendapatkan token akses yang merayapi konten dalam konteks delegasi pengguna yang masuk. Sumber data mencakup OneDrive konten yang dapat diakses pengguna — drive mereka sendiri, ditambah drive apa pun yang dibagikan dengan mereka atau di mana mereka memiliki akses SharePoint admin. Drive yang tidak dapat diakses pengguna yang masuk dilewati secara diam-diam.
penting
Kami merekomendasikan Mengatur otentikasi Microsoft Entra App ID untuk OneDrive untuk sebagian besar sumber data. Otentikasi OAuth 2.0 memiliki batasan sebagai berikut:
-
Ini hanya merayapi OneDrive konten yang dapat diakses pengguna yang masuk (drive mereka sendiri, ditambah drive apa pun yang dibagikan dengan mereka atau di mana mereka memiliki SharePoint akses admin). Drive yang tidak dapat diakses pengguna dilewati secara diam-diam. Untuk meng-crawl setiap pengguna OneDrive di penyewa Anda secara seragam, gunakan otentikasi Microsoft Entra App ID.
-
Ini membutuhkan token penyegaran, yang Anda peroleh melalui login pengguna satu kali (Langkah 4).
-
Refresh token memiliki Microsoft-side masa pakai yang terbatas. Ketika token penyegaran kedaluwarsa atau dicabut, sinkronisasi gagal sampai Anda mendapatkan yang baru dan memperbarui rahasianya.
-
Ini tidak mendukung kontrol akses tingkat dokumen (ACL). Untuk memfilter hasil kueri berdasarkan izin pengguna, gunakan otentikasi Microsoft Entra App ID.
Prasyarat
-
Akses administrator Microsoft Entra ID untuk mendaftarkan aplikasi, memberikan persetujuan admin, dan membuat rahasia klien.
-
Akun pengguna Microsoft 365 yang memiliki akses ke OneDrive konten yang ingin dirayapi. Anda masuk sebagai pengguna ini sekali untuk mendapatkan token penyegaran.
-
ID penyewa Microsoft 365 Anda.
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-onedrive-oauth2. -
Untuk jenis akun yang didukung, pilih Akun di direktori organisasi ini saja (Penyewa tunggal).
-
Di bawah Redirect URI, pilih Web sebagai platform dan masukkan
http://localhost:53672/callback. Anda menggunakan URI pengalihan ini ketika Anda mendapatkan token penyegaran di Langkah 4. Anda dapat menggunakan port localhost gratis apa pun; jika Anda mengubah port di sini, gunakan port yang sama di Langkah 4. -
PilihPendaftaran.
-
Pada halaman Ikhtisar aplikasi, catat ID Aplikasi (klien) dan ID Direktori (penyewa).
Langkah 2: Tambahkan izin API dan berikan persetujuan admin
Otentikasi OAuth 2.0 menggunakan login yang didelegasikan, sehingga aplikasi memerlukan izin yang didelegasikan — bukan izin aplikasi.
-
Dalam pendaftaran aplikasi Anda, pilih izin API, lalu Tambahkan izin.
-
Pilih Microsoft Graph, lalu Izin yang didelegasikan.
-
Pilih izin yang didelegasikan berikut, lalu pilih Tambahkan izin:
Files.Read.All— baca file yang dapat diakses pengguna.Sites.Read.All— baca OneDrive situs yang dapat diakses pengguna.User.Read.All— mengidentifikasi pengguna.offline_access— diperlukan agar login mengembalikan token penyegaran.
-
Pada halaman izin API, pilih Berikan persetujuan admin untuk [organisasi Anda] dan konfirmasikan.
Langkah 3: Buat rahasia klien
-
Dalam pendaftaran aplikasi Anda, pilih Sertifikat & rahasia, lalu Rahasia klien, lalu Rahasia klien baru.
-
Masukkan deskripsi, pilih kedaluwarsa, dan pilih Tambah.
-
Catat Nilai rahasia segera — hanya ditampilkan sekali. Catat Nilai, bukan ID Rahasia.
Langkah 4: Dapatkan token penyegaran
Konektor memerlukan token penyegaran, yang Anda peroleh melalui login pengguna satu kali. Prosedur di bawah ini menggunakan alur kode otorisasi OAuth 2.0 dengan pengalihan localhost, yang berfungsi untuk pengguna dengan otentikasi multi-faktor (MFA). Untuk akun layanan non-MFA, alternatif yang lebih sederhana disediakan di akhir.
Alur kode otorisasi (disarankan)
-
Bangun URL masuk. Ganti placeholder dengan ID penyewa Anda dan ID aplikasi (klien) dari Langkah 1. Jika Anda menggunakan port localhost yang berbeda di Langkah 1, perbarui
redirect_uriagar cocok.https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/authorize?client_id=CLIENT_ID&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A53672%2Fcallback&response_mode=query&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default%20offline_access -
Masuk. Buka URL di browser dan masuk sebagai pengguna Microsoft 365 yang aksesnya Anda ingin konektornya digunakan. Selesaikan tantangan MFA apa pun.
Browser kemudian mengalihkan ke URL localhost, yang tidak memuat (ini diharapkan karena tidak ada yang mendengarkan di port itu). Bilah alamat browser sekarang berisi URI pengalihan diikuti oleh
codeparameter, misalnya:http://localhost:53672/callback?code=0.AXoA...&session_state=.... -
Salin kode otorisasi. Dari bilah alamat, salin nilai
codeparameter (semuanya antaracode=dan berikutnya&). Kode ini berlaku selama beberapa menit; selesaikan Langkah 4 segera. -
Tukarkan kode dengan token penyegaran. Ganti placeholder dengan ID penyewa Anda, ID aplikasi (klien), rahasia klien dari Langkah 3, dan kode otorisasi yang baru saja Anda salin.
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=authorization_code" \ -d "client_id=CLIENT_ID" \ -d "client_secret=CLIENT_SECRET" \ -d "code=AUTHORIZATION_CODE" \ -d "redirect_uri=http://localhost:53672/callback" \ -d "scope=https://graph.microsoft.com/.default offline_access"Responsnya meliputi a
refresh_token. Rekam untuk Langkah 5.
Kredensyal kata sandi pemilik sumber daya (alternatif untuk akun layanan non-MFA)
Jika akun Anda tidak memerlukan MFA dan tidak tunduk pada kebijakan Akses Bersyarat yang menerapkan login interaktif, Anda dapat melewati alur browser dan menukar kredensyal pengguna dengan token penyegaran secara langsung. Ganti placeholder dengan nilai Anda, termasuk UPN dan kata sandi pengguna.
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=password" \ -d "client_id=CLIENT_ID" \ -d "client_secret=CLIENT_SECRET" \ -d "username=USER_UPN" \ -d "password=USER_PASSWORD" \ -d "scope=https://graph.microsoft.com/.default offline_access"
Responsnya meliputi arefresh_token. Rekam untuk Langkah 5. Alur ini tidak berfungsi untuk akun dengan MFA diberlakukan; gunakan aliran kode otorisasi di atas sebagai gantinya.
Langkah 5: Buat rahasia Secrets Manager
Simpan kredensialnya secara AWS Secrets Manager rahasia dengan pasangan kunci-nilai berikut:
clientId— ID aplikasi (klien) dari Langkah 1.clientSecret— nilai rahasia klien dari Langkah 3.refreshToken— token penyegaran dari Langkah 4.
{ "clientId": "your-client-id", "clientSecret": "your-client-secret", "refreshToken": "your-refresh-token" }
Buat rahasia dengan AWS Command Line Interface:
aws secretsmanager create-secret \ --namebedrock-onedrive-oauth2-creds\ --secret-string file://secret.json
Rekam rahasia ARN dari tanggapannya. Anda menggunakannya sebagai sumber datasecretArn.
catatan
OAUTH2Konektor membaca token penyegaran sekali dari rahasia Anda dan menggunakannya kembali untuk setiap sinkronisasi — itu tidak menyimpan nilai yang diputar yang dikembalikan Microsoft. Rencanakan untuk mencetak token penyegaran baru (Langkah 4) dan perbarui refreshToken bidang di rahasia Anda sebelum yang sudah ada kedaluwarsa. Jika Anda tidak memperbarui rahasia tepat waktu, sinkronisasi gagal dengan kesalahan token-refresh sampai Anda melakukannya.
Langkah selanjutnya
Setelah Anda menyimpan rahasia, buat sumber data dengan authType set toOAUTH2. Anda tidak memberikan sertifikat untuk metode ini. Lihat Connect sumber OneDrive data.