

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
<a name="kb-managed-sharepoint-entra-setup"></a>

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, lihat[Metode autentikasi](kb-managed-ds-sharepoint.md#kb-managed-sharepoint-auth-methods).

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
<a name="kb-managed-sharepoint-entra-roles"></a>

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-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. 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
<a name="kb-managed-sharepoint-entra-choose"></a>

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](kb-managed-ds-sharepoint-acl.md).
+ **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). Dengan `Sites.Selected` Anda 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
<a name="kb-managed-sharepoint-entra-permissions"></a>

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 **SharePoint**REST 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.

------
#### [ All sites, no ACLs ]


**Semua situs, hanya konten**  

| API | Izin | Tujuan | 
| --- | --- | --- | 
| Grafik Microsoft | Sites.Read.All | Hitung dan baca semua situs. SharePoint  | 
| SharePoint | Sites.Read.All | Baca konten situs melalui SharePoint REST API. | 

------
#### [ All sites, with ACLs ]


**Semua situs, dengan ACL**  

| API | Izin | Tujuan | 
| --- | --- | --- | 
| Grafik Microsoft | Sites.Read.All | Hitung dan baca semua situs. SharePoint  | 
| Grafik Microsoft | User.Read.All | Selesaikan pengguna untuk ACL tingkat dokumen. | 
| Grafik Microsoft | GroupMember.Read.All | Selesaikan keanggotaan grup untuk ACL tingkat dokumen. | 
| SharePoint | Sites.FullControl.All | Baca izin tingkat item untuk perayapan ACL dan verifikasi akses pada waktu kueri. Sites.Read.AllTidak cukup untuk pemeriksaan ini. | 

------
#### [ Sites.Selected, no ACLs ]


**Sites.Selected, konten saja**  

| API | Izin | Tujuan | 
| --- | --- | --- | 
| Grafik Microsoft | Sites.Selected | Akses hanya situs yang Anda berikan secara eksplisit (Microsoft Graph). | 
| SharePoint | Sites.Selected | Akses hanya situs yang Anda berikan secara eksplisit (SharePoint REST). Berikan read peran per situs di Langkah 5. | 

------
#### [ Sites.Selected, with ACLs ]


**Sites.Selected, dengan ACL**  

| API | Izin | Tujuan | 
| --- | --- | --- | 
| Grafik Microsoft | Sites.Selected | Akses hanya situs yang Anda berikan secara eksplisit (Microsoft Graph). | 
| Grafik Microsoft | User.Read.All | Selesaikan pengguna untuk ACL tingkat dokumen. | 
| Grafik Microsoft | GroupMember.Read.All | Selesaikan keanggotaan grup untuk ACL tingkat dokumen. | 
| SharePoint | Sites.Selected | Akses hanya situs yang Anda berikan secara eksplisit. Berikan fullcontrol peran per situs di Langkah 5 (diperlukan untuk membaca izin tingkat item untuk ACL). | 

------

**catatan**  
`Sites.FullControl.All`memberikan 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
<a name="kb-managed-sharepoint-entra-values"></a>

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](kb-managed-ds-sharepoint-connect.md).


**Referensi nilai**  

| 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
<a name="kb-managed-sharepoint-entra-step1"></a>

1. Masuk ke [pusat admin Microsoft Entra](https://entra.microsoft.com/).

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

1. Pilih **Pendaftaran baru**.

1. Untuk **Nama**, masukkan nama deskriptif, seperti`bedrock-sharepoint-connector`.

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

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

1. Pilih**Pendaftaran**.

1. 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
<a name="kb-managed-sharepoint-entra-step2"></a>

Tambahkan izin untuk konfigurasi Anda dari[Referensi izin](#kb-managed-sharepoint-entra-permissions).

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

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

1. Pilih **Tambah izin** lagi. Pilih **SharePoint**(di bawah **Microsoft API**), lalu **Izin aplikasi**. Pilih setiap SharePoint izin untuk konfigurasi Anda, lalu pilih **Tambahkan izin**.

1. 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
<a name="kb-managed-sharepoint-entra-step3"></a>

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.

------
#### [ 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-sharepoint-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 4 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-sharepoint-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 4 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. 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, lihat[Putar sertifikat](kb-managed-ds-sharepoint-troubleshooting.md#kb-managed-ds-sharepoint-rotate-cert).

## Langkah 4: Unggah sertifikat publik ke Entra
<a name="kb-managed-sharepoint-entra-step4"></a>

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

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

1. Pilih **Tambahkan**.

## Langkah 5 (Sites.Selected hanya): Berikan akses per situs
<a name="kb-managed-sharepoint-entra-step5"></a>

**catatan**  
Langkah ini hanya berlaku jika Anda memilih ruang lingkup `Sites.Selected` izin di Langkah 2. Jika Anda menggunakan cakupan semua situs (`Sites.Read.All`atau`Sites.FullControl.All`), lewati ke[Langkah 6: Unggah sertifikat ke Amazon S3](#kb-managed-sharepoint-entra-step6).

Dengan`Sites.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.

1. **Buat aplikasi pemberi hibah sementara.** Di pusat admin Entra, daftarkan aplikasi kedua (misalnya,`bedrock-sharepoint-granter`) sebagai penyewa tunggal tanpa URI pengalihan. Tambahkan izin `Sites.FullControl.All` aplikasi Microsoft Graph, berikan persetujuan admin, dan buat rahasia klien. Catat ID klien dan nilai rahasianya.

1. **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.

1. **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: Bearer {{ACCESS_TOKEN}}"
   ```

   `id`Bidang dalam respons adalah ID situs.

1. **Berikan akses aplikasi konektor ke situs.** Gunakan `read` untuk crawling khusus konten atau `fullcontrol` untuk perayapan ACL. Ganti {{CONNECTOR\_CLIENT\_ID}} dengan ID aplikasi (klien) dari Langkah 1.

   ```
   curl -s -X POST \
     "https://graph.microsoft.com/v1.0/sites/{{SITE_ID}}/permissions" \
     -H "Authorization: Bearer {{ACCESS_TOKEN}}" \
     -H "Content-Type: application/json" \
     -d '{
       "roles": ["{{fullcontrol}}"],
       "grantedToIdentities": [{
         "application": {
           "id": "{{CONNECTOR_CLIENT_ID}}",
           "displayName": "{{bedrock-sharepoint-connector}}"
         }
       }]
     }'
   ```

1. 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
<a name="kb-managed-sharepoint-entra-step6"></a>

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 data`certificateS3Path`.

```
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
<a name="kb-managed-sharepoint-entra-step7"></a>

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 `.p12` bundel 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 \
  --name {{bedrock-sharepoint-creds}} \
  --secret-string file://secret.json
```

Rekam rahasia ARN dari tanggapannya. Anda menggunakannya sebagai sumber data`secretArn`.

**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
<a name="kb-managed-sharepoint-entra-step8"></a>

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](#kb-managed-sharepoint-entra-step6) 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 membutuhkan`kms:Decrypt`. Untuk informasi selengkapnya, lihat [Menggunakan enkripsi sisi server dengan kunci AWS KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html) (). SSE-KMS

Untuk set lengkap izin peran layanan basis pengetahuan, lihat[Izin untuk mengakses sumber data Anda](kb-permissions.md#kb-permissions-access-ds).

## Langkah selanjutnya
<a name="kb-managed-sharepoint-entra-next"></a>

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, lihat[Connect sumber SharePoint data](kb-managed-ds-sharepoint-connect.md).

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