

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

# Kebijakan sumber daya untuk basis pengetahuan terkelola
<a name="kb-managed-cross-account"></a>

Kebijakan berbasis sumber daya adalah dokumen JSON yang Anda lampirkan langsung ke basis pengetahuan terkelola. Ini mengontrol prinsip-prinsip IAM mana yang dapat melakukan tindakan pada basis pengetahuan, memungkinkan kasus penggunaan seperti akses lintas akun. Kebijakan ini mendukung keduanya `Allow` dan `Deny` efek.

**penting**  
Resource-based kebijakan hanya didukung untuk basis pengetahuan terkelola (tipe`MANAGED`). Basis pengetahuan vektor (tipe`VECTOR`) tidak mendukung kebijakan sumber daya.

## Tindakan yang didukung
<a name="kb-managed-cross-account-supported-actions"></a>

Tindakan berikut dapat digunakan dalam kebijakan sumber daya basis pengetahuan:


****  

| Tindakan | Deskripsi | 
| --- | --- | 
| bedrock:Retrieve | Kueri basis pengetahuan dan ambil hasil yang relevan dari sumber data. | 
| bedrock:GetDocumentContent | Ambil konten lengkap dokumen tertentu dari sumber data basis pengetahuan. | 

**catatan**  
Control-plane operasi seperti`GetKnowledgeBase`,, `UpdateKnowledgeBase``DeleteKnowledgeBase`, dan operasi manajemen sumber data tidak dapat digunakan dalam kebijakan sumber daya. Operasi ini harus dilakukan oleh kepala sekolah di akun pemilik basis pengetahuan.

## Persyaratan kebijakan sumber daya
<a name="kb-managed-cross-account-resource-policy"></a>

Kebijakan sumber daya basis pengetahuan mengikuti sintaks kebijakan IAM standar. Untuk detail tentang elemen kebijakan dan logika evaluasi, lihat [referensi elemen kebijakan IAM JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) di *AWS Identity and Access Management Panduan Pengguna*.

Kendala khusus layanan berikut berlaku:
+ **Hanya basis pengetahuan yang dikelola.** Kebijakan sumber daya hanya dapat dilampirkan pada basis pengetahuan jenis`MANAGED`. Mencoba melampirkan kebijakan sumber daya ke basis pengetahuan `VECTOR` tipe mengembalikan kesalahan.
+ **Tindakan yang didukung.** Hanya `bedrock:Retrieve` dan `bedrock:GetDocumentContent` dapat digunakan dalam kebijakan sumber daya.
+ **Tidak ada wildcard di Resource atau Action.** Anda harus menentukan ARN basis pengetahuan lengkap dalam `Resource` elemen dan secara eksplisit mencantumkan setiap tindakan. Wildcard tidak didukung dalam elemen-elemen ini.

## Cara kerja akses lintas akun
<a name="kb-managed-cross-account-how-it-works"></a>

Cross-account akses memungkinkan kepala sekolah di AWS akun lain untuk menelepon `Retrieve` dan `GetDocumentContent` berdasarkan basis pengetahuan Anda. Untuk akses lintas akun untuk bekerja, kedua kondisi berikut harus dipenuhi:
+ Pemilik basis pengetahuan melampirkan kebijakan sumber daya yang memberikan akses ke kepala sekolah panggilan.
+ Kepala pemanggil memiliki kebijakan berbasis identitas yang memungkinkan tindakan Amazon Bedrock yang sesuai pada basis pengetahuan ARN.

Untuk informasi selengkapnya tentang cara IAM mengevaluasi akses lintas akun, lihat [logika evaluasi Cross-account kebijakan di Panduan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic-cross-account.html) Pengguna. AWS Identity and Access Management 

**Contoh: Berikan akses lintas akun**

Kebijakan sumber daya berikut memberikan peran IAM tertentu dalam izin akun lain untuk menelepon `Retrieve` dan: `GetDocumentContent`

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowCrossAccountRetrieve",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{CONSUMER_ACCOUNT_ID}}:role/{{service-role-name}}"
            },
            "Action": [
                "bedrock:Retrieve",
                "bedrock:GetDocumentContent"
            ],
            "Resource": "arn:aws:bedrock:{{REGION}}:{{OWNER_ACCOUNT_ID}}:knowledge-base/{{KB_ID}}"
        }
    ]
}
```

**Memberikan akses ke beberapa prinsipal**

Untuk memberikan akses ke beberapa peran yang memakan, cantumkan setiap peran ARN `Principal.AWS` sebagai array:

```
"Principal": {
    "AWS": [
        "arn:aws:iam::{{ACCOUNT_ID_1}}:role/{{role-name-1}}",
        "arn:aws:iam::{{ACCOUNT_ID_2}}:role/{{role-name-2}}"
    ]
}
```

Untuk memberikan akses ke semua prinsipal di akun lain, gunakan root akun sebagai prinsipal:

```
"Principal": {
    "AWS": "arn:aws:iam::{{CONSUMER_ACCOUNT_ID}}:root"
}
```

## Menggunakan pernyataan Deny
<a name="kb-managed-cross-account-deny"></a>

Kebijakan sumber daya mendukung keduanya `Allow` dan `Deny` efek. Eksplisit `Deny` dalam kebijakan sumber daya mengesampingkan kebijakan berbasis `Allow` identitas kepala sekolah.

```
{
    "Sid": "DenySpecificPrincipals",
    "Effect": "Deny",
    "Principal": {
        "AWS": "arn:aws:iam::{{ACCOUNT_ID}}:role/{{role-name}}"
    },
    "Action": [
        "bedrock:Retrieve",
        "bedrock:GetDocumentContent"
    ],
    "Resource": "arn:aws:bedrock:{{REGION}}:{{OWNER_ACCOUNT_ID}}:knowledge-base/{{KB_ID}}"
}
```

## Kelola kebijakan sumber daya
<a name="kb-managed-cross-account-manage-policies"></a>

Untuk mengelola kebijakan sumber daya berdasarkan basis pengetahuan, kepala IAM pemilik basis pengetahuan memerlukan izin berikut:


****  

| Tindakan | Deskripsi | 
| --- | --- | 
| bedrock:PutResourcePolicy | Lampirkan atau perbarui kebijakan berbasis sumber daya pada basis pengetahuan. | 
| bedrock:GetResourcePolicy | Lihat kebijakan berbasis sumber daya yang dilampirkan pada basis pengetahuan. | 
| bedrock:DeleteResourcePolicy | Hapus kebijakan berbasis sumber daya dari basis pengetahuan. | 

**Contoh kebijakan untuk pemilik basis pengetahuan**

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:PutResourcePolicy",
                "bedrock:GetResourcePolicy",
                "bedrock:DeleteResourcePolicy"
            ],
            "Resource": "arn:aws:bedrock:{{REGION}}:{{ACCOUNT_ID}}:knowledge-base/{{KB_ID}}"
        }
    ]
}
```

**Operasi API**

**PutResourcePolicy**— Melampirkan atau mengganti kebijakan berbasis sumber daya pada basis pengetahuan.

```
PUT /resourcepolicy/{{{knowledgeBaseArn}}} HTTP/1.1
Content-Type: application/json

{
    "policy": "{{{policyDocument}}}"
}
```

`policy`Bidang adalah JSON-escaped string yang berisi dokumen kebijakan.

**GetResourcePolicy**— Mengembalikan kebijakan berbasis sumber daya yang saat ini dilampirkan ke basis pengetahuan.

```
GET /resourcepolicy/{{{knowledgeBaseArn}}} HTTP/1.1
```

Mengembalikan `ResourceNotFoundException` jika tidak ada kebijakan yang dilampirkan.

**DeleteResourcePolicy**— Menghapus kebijakan berbasis sumber daya dari basis pengetahuan.

```
DELETE /resourcepolicy/{{{knowledgeBaseArn}}} HTTP/1.1
```

## Pembuatan versi kebijakan sumber daya
<a name="kb-managed-cross-account-version-parameter"></a>

Saat Anda memanggil`PutResourcePolicy`, API akan menampilkan sebuah `policyRevisionId` yang mewakili versi kebijakan saat ini. Anda dapat secara opsional menyertakan ID revisi ini dalam `PutResourcePolicy` panggilan berikutnya untuk menegakkan penguncian optimis.
+ Jika Anda memberikan `policyRevisionId` yang cocok dengan versi saat ini, pembaruan berhasil dan ID revisi baru dikembalikan.
+ Jika Anda memberikan `policyRevisionId` yang tidak cocok dengan versi saat ini (karena prinsipal lain memperbarui kebijakan untuk sementara), panggilan gagal dengan kesalahan konflik. Ambil kebijakan saat ini, gabungkan perubahan, dan coba lagi.
+ Jika Anda menghilangkannya`policyRevisionId`, kebijakan diganti tanpa syarat terlepas dari modifikasi yang terjadi bersamaan.

Gunakan ID revisi ketika beberapa administrator atau sistem otomatisasi dapat memperbarui kebijakan basis pengetahuan yang sama secara bersamaan, untuk mencegah penimpaan yang tidak disengaja.

## Siapkan akun konsumen
<a name="kb-managed-cross-account-identity-policy"></a>

Dalam akun konsumsi, lampirkan kebijakan berbasis identitas ke kepala sekolah yang perlu mengakses basis pengetahuan bersama. Kebijakan harus mengizinkan tindakan Amazon Bedrock terkait pada ARN basis pengetahuan di akun pemilik.

**Contoh kebijakan berbasis identitas**

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve",
                "bedrock:GetDocumentContent"
            ],
            "Resource": "arn:aws:bedrock:{{REGION}}:{{OWNER_ACCOUNT_ID}}:knowledge-base/{{KB_ID}}"
        }
    ]
}
```