

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 為 Amazon Bedrock 知識庫建立服務角色
<a name="kb-permissions"></a>

若要使用知識庫的自訂角色，而非 Amazon Bedrock 自動建立的角色，請建立 IAM 角色，並依照[建立角色以將許可委派給 AWS 服務中的步驟連接下列許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。僅包含您自己的安全所需的許可。

**注意**  
使用服務角色時，無法在多個角色之間共用政策。
+ 信任關係
+ Amazon Bedrock 基本模型的存取
+ 存取您用來存放資料的資料來源
+ (如果您在 Amazon OpenSearch Service 中建立向量資料庫) 存取您的 OpenSearch Service 集合
+ (如果您在 Amazon Aurora 中建立向量資料庫) 存取您的 Aurora 叢集
+ （如果您在 Pinecone或 中建立向量資料庫Redis Enterprise Cloud) AWS Secrets Manager 讓 驗證您的 Pinecone或 Redis Enterprise Cloud帳戶的許可
+ (選用) 如果您使用 KMS 金鑰加密下列任何資源，則需要解密金鑰的權限 (請參閱 [知識庫資源的加密](encryption-kb.md))。
  + 您的知識庫
  + 知識庫的資料來源
  + 在 Amazon OpenSearch Service 中的向量資料庫
  + 中第三方向量資料庫的秘密 AWS Secrets Manager
  + 資料擷取任務

**Topics**
+ [信任關係](#kb-permissions-trust)
+ [存取 Amazon Bedrock 模型的權限](#kb-permissions-access-models)
+ [存取您的資料來源的許可](#kb-permissions-access-ds)
+ [在 Amazon S3 中解密加密資料來源 AWS KMS 金鑰的許可](#kb-permissions-kms-datasource)
+ [與您的文件聊天的許可](#kb-permissions-chatdoc)
+ [多模態內容的許可](#kb-permissions-multimodal)
+ [存取 Amazon Kendra GenAI 指數的許可](#kb-permissions-kendra)
+ [在 Amazon OpenSearch Serverless 中存取向量資料庫的許可](#kb-permissions-oss)
+ [在 OpenSearch 受管叢集中存取向量資料庫的許可](#kb-permissions-osm)
+ [存取您的 Amazon Aurora 資料庫叢集所需的權限](#kb-permissions-rds)
+ [在 Amazon Neptune Analytics 中存取向量資料庫的許可](#kb-permissions-neptune)
+ [在 Amazon S3 Vectors 中存取向量存放區的許可](#kb-permissions-s3vectors)
+ [存取使用 AWS Secrets Manager 秘密設定之向量資料庫的許可](#kb-permissions-secret)
+ [在資料擷取期間 AWS ， 管理暫時性資料儲存 AWS KMS 金鑰的許可](#kb-permissions-kms-ingestion)
+ [AWS 管理來自其他使用者帳戶之資料來源的許可 AWS 。](#kb-permissions-otherds)

## 信任關係
<a name="kb-permissions-trust"></a>

下列政策允許 Amazon Bedrock 擔任此角色，並建立和管理知識庫。以下顯示您可使用的範例政策。您可以使用一或多個全域條件內容索引鍵來限制權限範圍。如需詳細資訊，請參閱 [AWS 全域條件內容索引鍵](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。將 `aws:SourceAccount` 值設定為您的帳戶 ID。使用 `ArnEquals` 或 `ArnLike` 條件將範圍限制為特定的知識庫。

**注意**  
作為安全目的的最佳實務，請在建立特定知識庫 ID 之後，將 *\$1* 取代為特定知識庫 ID。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/*"
                }
            }
        }
    ]
}
```

------

## 存取 Amazon Bedrock 模型的權限
<a name="kb-permissions-access-models"></a>

連接以下政策，為角色提供使用 Amazon Bedrock 模型以嵌入來源資料的許可。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:ListFoundationModels",
                "bedrock:ListCustomModels"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v1",
                "arn:aws:bedrock:us-east-1::foundation-model/cohere.embed-english-v3",
                "arn:aws:bedrock:us-east-1::foundation-model/cohere.embed-multilingual-v3"
            ]
        }
    ]
}
```

------

## 存取您的資料來源的許可
<a name="kb-permissions-access-ds"></a>

從下列資料來源中選取，以連接角色的必要許可。

**Topics**
+ [存取您的 Amazon S3 資料來源的許可](#kb-permissions-access-s3)
+ [存取 Confluence 資料來源的許可](#kb-permissions-access-confluence)
+ [存取 Microsoft SharePoint 資料來源的許可](#kb-permissions-access-sharepoint)
+ [存取 Salesforce 資料來源的許可](#kb-permissions-access-salesforce)

### 存取您的 Amazon S3 資料來源的許可
<a name="kb-permissions-access-s3"></a>

如果您的資料來源是 Amazon S3，請連接下列政策，為角色提供存取您將連線作為資料來源之 S3 儲存貯體的許可。

如果您使用 AWS KMS 金鑰加密資料來源，請依照 中的步驟，將解密金鑰的許可連接到角色[在 Amazon S3 中解密資料來源 AWS KMS 金鑰的許可](encryption-kb.md#encryption-kb-ds)。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ListBucketStatement",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "S3GetObjectStatement",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

------

### 存取 Confluence 資料來源的許可
<a name="kb-permissions-access-confluence"></a>

**注意**  
Confluence 資料來源連接器目前為預覽版本，並可能會有所變更。

連接下列政策，以提供讓角色存取 Confluence 的許可。

**注意**  
`secretsmanager:PutSecretValue` 只有在您使用 OAuth 2.0 身分驗證搭配重新整理字符時才需要。  
Confluence OAuth2.0 **存取**字符的預設到期時間為 60 分鐘。如果此字符在資料來源同步 (同步任務) 時過期，Amazon Bedrock 將使用提供的**重新整理**字符來重新產生此字符。此重新產生會同時重新整理存取和重新整理字符。為了讓字符從目前同步任務更新到下一個同步任務，Amazon Bedrock 需要金鑰憑證的寫入/放置許可。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue",
                "secretsmanager:PutSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/KeyId"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "secretsmanager.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

### 存取 Microsoft SharePoint 資料來源的許可
<a name="kb-permissions-access-sharepoint"></a>

**注意**  
SharePoint 資料來源連接器目前為預覽版本，並可能會有所變更。

連接下列政策，以提供讓角色存取 SharePoint 的許可。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/KeyId"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "secretsmanager.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

### 存取 Salesforce 資料來源的許可
<a name="kb-permissions-access-salesforce"></a>

**注意**  
Salesforce 資料來源連接器目前為預覽版本，並可能會有所變更。

連接下列政策，以提供讓角色存取 Salesforce 的許可。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/KeyId"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "secretsmanager.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## 在 Amazon S3 中解密加密資料來源 AWS KMS 金鑰的許可
<a name="kb-permissions-kms-datasource"></a>

如果您使用 AWS KMS 金鑰在 Amazon S3 中加密資料來源，請將下列政策連接至 Amazon Bedrock 知識庫服務角色，以允許 Amazon Bedrock 解密您的金鑰。將 *\$1\$1Region\$1* 和 *\$1\$1AccountId\$1* 取代為金鑰所屬的區域和帳戶 ID。以 AWS KMS 金鑰的 ID 取代 *\$1\$1KeyId\$1*。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": [
            "arn:aws:kms:${Region}:${AccountId}:key/${KeyId}"
        ],
        "Condition": {
            "StringEquals": {
                "kms:ViaService": [
                    "s3.${Region}.amazonaws.com"
                ]
            }
        }
    }]
}
```

## 與您的文件聊天的許可
<a name="kb-permissions-chatdoc"></a>

連接以下政策，為角色提供使用 Amazon Bedrock 模型以與文件聊天的許可。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
			"Effect": "Allow",
			"Action": [
				"bedrock:RetrieveAndGenerate"
			],
			"Resource": "*"
		}
    ]
}
```

------

如果您只想授予使用者與您文件聊天的存取權 (而不是所有知識庫上的 `RetrieveAndGenerate`)，請使用下列政策：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
			"Effect": "Allow",
			"Action": [
				"bedrock:RetrieveAndGenerate"
			],
			"Resource": "*"
		},
        {
			"Effect": "Deny",
			"Action": [
				"bedrock:Retrieve"
			],
			"Resource": "*"
		}
    ]
}
```

------

如果您想要與文件聊天並在特定知識庫上使用 `RetrieveAndGenerate`，請提供 *\$1\$1KnowledgeBaseArn\$1*，並使用下列政策：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/$KnowledgeBaseId"
        }
    ]
}
```

------

## 多模態內容的許可
<a name="kb-permissions-multimodal"></a>

使用多模態內容 （影像、音訊、影片） 時，根據您的處理方法，需要額外的許可。

### Nova 多模式內嵌許可
<a name="kb-permissions-multimodal-mme"></a>

使用 Nova Multimodal Embeddings 時，請連接下列政策，以提供非同步模型調用的許可：

```
{
    "Sid": "BedrockInvokeModelStatement",
    "Effect": "Allow",
    "Action": ["bedrock:InvokeModel"],
    "Resource": [
        "arn:aws:bedrock:us-east-1::foundation-model/amazon.nova-*-multimodal-embeddings-*",
        "arn:aws:bedrock:us-east-1::async-invoke/*"
    ],
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": ""
        }
    }
},
{
    "Sid": "BedrockGetAsyncInvokeStatement",
    "Effect": "Allow",
    "Action": ["bedrock:GetAsyncInvoke"],
    "Resource": ["arn:aws:bedrock:us-east-1::async-invoke/*"],
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": ""
        }
    }
}
```

### Bedrock 資料自動化 (BDA) 許可
<a name="kb-permissions-multimodal-bda"></a>

使用 BDA 處理多模態內容時，請連接下列政策：

```
{
    "Sid": "BDAInvokeStatement",
    "Effect": "Allow",
    "Action": ["bedrock:InvokeDataAutomationAsync"],
    "Resource": [
        "arn:aws:bedrock:us-east-1:aws:data-automation-project/public-rag-default",
        "arn:aws:bedrock:us-east-1::data-automation-profile/*"
    ]
},
{
    "Sid": "BDAGetStatement",
    "Effect": "Allow",
    "Action": ["bedrock:GetDataAutomationStatus"],
    "Resource": "arn:aws:bedrock:us-east-1::data-automation-invocation/*"
}
```

如果您使用客戶受管 AWS KMS 金鑰搭配 BDA，請同時連接下列政策。將 *account-id*、*region* 和 *key-id* 取代為您的特定值：

```
{
    "Sid": "KmsPermissionStatementForBDA",
    "Effect": "Allow",
    "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt",
        "kms:DescribeKey",
        "kms:CreateGrant"
    ],
    "Resource": ["arn:aws:kms:region:account-id:key/key-id"],
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": "account-id",
            "kms:ViaService": "bedrock.region.amazonaws.com"
        }
    }
}
```

## 存取 Amazon Kendra GenAI 指數的許可
<a name="kb-permissions-kendra"></a>

如果您為您的知識庫建立 Amazon Kendra GenAI 指數，請將下列政策連接至您的 Amazon Bedrock 知識庫服務角色，以允許存取指數。在政策中，將 *\$1\$1Partition\$1*、*\$1\$1Region\$1*、*\$1\$1AccountId\$1* 和 *\$1\$1IndexId\$1* 取代為您指數的值。將指數新增至 `Resource` 清單，即可允許存取多個指數。若要允許存取 中的每個索引 AWS 帳戶，請以萬用字元 (\$1) 取代 *\$1\$1IndexId\$1*。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kendra:Retrieve",
                "kendra:DescribeIndex"
            ],
            "Resource": "arn:aws:kendra:us-east-1:123456789012:index/${IndexId}" 
        }
    ]
}
```

------

## 在 Amazon OpenSearch Serverless 中存取向量資料庫的許可
<a name="kb-permissions-oss"></a>

如果您在 OpenSearch Serverless 中為您的知識庫建立向量資料庫，請將下列政策連接至您的 Amazon Bedrock 知識庫服務角色，以允許存取集合。將 *\$1\$1Region\$1* 和 *\$1\$1AccountId\$1* 取代為資料庫所屬的區域和帳戶 ID。在 *\$1\$1CollectionId\$1* 中輸入您的 Amazon OpenSearch Service 集合的 ID。將集合新增至 `Resource` 清單，即可允許存取多個集合。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "aoss:APIAccessAll"
            ],
            "Resource": [
                "arn:aws:aoss:us-east-1:123456789012:collection/${CollectionId}"
            ]
        }
    ]
}
```

------

## 在 OpenSearch 受管叢集中存取向量資料庫的許可
<a name="kb-permissions-osm"></a>

如果您在 OpenSearch 受管叢集中為您的知識庫建立向量資料庫，請將下列政策連接至您的 Amazon Bedrock 知識庫服務角色，以允許存取網域。將 *<region>* 和 *<accountId>* 取代為資料庫所屬的區域和帳戶 ID。將網域新增至 `Resource` 清單，即可允許存取多個網域。如需有關設定許可的詳細資訊，請參閱 [搭配 Amazon Bedrock 知識庫使用 OpenSearch 受管叢集所需的先決條件和許可許可組態概觀](kb-osm-permissions-prereq.md)。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",       
            "Action": [
                "es:ESHttpGet", 
                "es:ESHttpPost", 
                "es:ESHttpPut", 
                "es:ESHttpDelete" 
            ],
            "Resource": [
                "arn:aws:es:us-east-1:123456789012:domain/domainName/indexName"
            ]       
        }, 
        {
            "Effect": "Allow",
            "Action": [
                "es:DescribeDomain" 
            ],
            "Resource": [
                "arn:aws:es:us-east-1:123456789012:domain/domainName"
            ]       
        }
    ]
}
```

------

## 存取您的 Amazon Aurora 資料庫叢集所需的權限
<a name="kb-permissions-rds"></a>

**注意**  
Amazon Aurora 叢集必須與為 Amazon Bedrock 建立知識庫 AWS 帳戶 的叢集位於相同的 中。

如果您在 Amazon Aurora 中為知識庫建立了資料庫 (DB) 叢集，請將以下政策連接至 Amazon Bedrock 知識庫服務角色，以允許存取資料庫叢集，並提供讀取和寫入許可。將 *\$1\$1Region\$1* 和 *\$1\$1AccountId\$1* 取代為資料庫叢集所屬的區域和帳戶 ID。在 *\$1\$1DbClusterId\$1* 中輸入 Amazon Aurora 資料庫叢集的 ID。將資料庫叢集新增至 `Resource` 清單，即可允許存取多個資料庫叢集。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RdsDescribeStatementID",
            "Effect": "Allow",
            "Action": [
                "rds:DescribeDBClusters"
            ],
            "Resource": [
                "arn:aws:rds:us-east-1:123456789012:cluster:${DbClusterId}"
            ]
        },
        {
            "Sid": "DataAPIStatementID",
            "Effect": "Allow",
            "Action": [
                "rds-data:BatchExecuteStatement",
                "rds-data:ExecuteStatement"
            ],
            "Resource": [
                "arn:aws:rds:us-east-1:123456789012:cluster:${DbClusterId}"
            ]
        }
    ]
}
```

------

## 在 Amazon Neptune Analytics 中存取向量資料庫的許可
<a name="kb-permissions-neptune"></a>

如果您為您的知識庫建立 Amazon Neptune Analytics 圖形，請將下列政策連接至您的 Amazon Bedrock 知識庫服務角色，以允許存取圖形。在政策中，將 *\$1\$1Region\$1* 和 *\$1\$1AccountId\$1* 取代為資料庫所屬的區域和帳戶 ID。將 *\$1\$1GraphId\$1* 取代為圖形資料庫的值。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "NeptuneAnalyticsAccess",
            "Effect": "Allow",
            "Action": [
                "neptune-graph:GetGraph",
                "neptune-graph:ReadDataViaQuery",
                "neptune-graph:WriteDataViaQuery",
                "neptune-graph:DeleteDataViaQuery"
            ],
            "Resource": [
                "arn:aws:neptune-graph:us-east-1:123456789012:graph/${GraphId}"
            ]
        }
    ]
}
```

------

## 在 Amazon S3 Vectors 中存取向量存放區的許可
<a name="kb-permissions-s3vectors"></a>

如果您選擇為您的知識庫使用 Amazon S3 Vectors，請將下列政策連接至您的 Amazon Bedrock 知識庫服務角色，以允許存取向量索引。

在政策中，將 *\$1\$1Region\$1* 和 *\$1\$1AccountId\$1* 取代為向量索引所屬的區域和帳戶 ID。以 S3 向量儲存貯體的名稱取代 *\$1\$1BucketName\$1*，並以向量索引的名稱取代 *\$1\$1IndexName\$1*。如需 Amazon S3 Vectors 的詳細資訊，請參閱[設定以使用 Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-setting-up.html)。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3VectorBucketReadAndWritePermission",
            "Effect": "Allow",
            "Action": [
                "s3vectors:PutVectors",
                "s3vectors:GetVectors",
                "s3vectors:DeleteVectors",
                "s3vectors:QueryVectors",
                "s3vectors:GetIndex"
            ],
            "Resource": "arn:aws:s3vectors:us-east-1:123456789012:bucket/${BucketName}/index/${IndexName}"
        }
    ]
}
```

------

## 存取使用 AWS Secrets Manager 秘密設定之向量資料庫的許可
<a name="kb-permissions-secret"></a>

如果您的向量資料庫已設定 AWS Secrets Manager 秘密，請將下列政策連接至 Amazon Bedrock 知識庫服務角色， AWS Secrets Manager 以允許 驗證您的帳戶以存取資料庫。將 *\$1\$1Region\$1* 和 *\$1\$1AccountId\$1* 取代為資料庫所屬的區域和帳戶 ID。將 *\$1\$1SecretId\$1* 取代為您秘密的 ID。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:${SecretId}"
            ]
        }
    ]
}
```

------

如果您使用 AWS KMS 金鑰加密秘密，請依照 中的步驟，將解密金鑰的許可連接到角色[解密包含知識庫之向量存放區的 AWS Secrets Manager 秘密的許可](encryption-kb.md#encryption-kb-3p)。

## 在資料擷取期間 AWS ， 管理暫時性資料儲存 AWS KMS 金鑰的許可
<a name="kb-permissions-kms-ingestion"></a>

若要允許在擷取資料來源的過程中建立暫時性資料儲存的 AWS KMS 金鑰，請將下列政策連接至您的 Amazon Bedrock 知識庫服務角色。以適當的值取代 *\$1\$1Region\$1*、*\$1\$1AccountId\$1* 和 *\$1\$1KeyId\$1*。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/${KeyId}"
            ]
        }
    ]
}
```

------

## AWS 管理來自其他使用者帳戶之資料來源的許可 AWS 。
<a name="kb-permissions-otherds"></a>

若要允許存取另一個使用者帳戶 AWS ，您必須建立角色，允許跨帳戶存取另一個使用者帳戶中的 Amazon S3 儲存貯體。以適當的值取代 *\$1\$1BucketName\$1*、*\$1\$1BucketOwnerAccountId\$1* 和 *\$1\$1BucketNameAndPrefix\$1*。

**知識庫角色所需的許可**

在知識庫建立 `createKnowledgeBase` 期間提供的知識庫角色，需要下列 Amazon S3 許可。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ListBucketStatement",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "S3GetObjectStatement",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

------

如果 Amazon S3 儲存貯體使用 AWS KMS 金鑰加密，則還需要將下列項目新增至知識庫角色。以適當的值取代 *\$1\$1BucketOwnerAccountId\$1* 和 *\$1\$1Region\$1*。

```
{
        "Sid": "KmsDecryptStatement",
        "Effect": "Allow",
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": [
            "arn:aws:kms:${Region}:${BucketOwnerAccountId}:key/${KeyId}"
        ],
        "Condition": {
        "StringEquals": {
            "kms:ViaService": [
                "s3.${Region}.amazonaws.com"
            ]
        }
        }
    }
```

**跨帳戶 Amazon S3 儲存貯體政策所需的許可**

其他帳戶中的儲存貯體需要下列 Amazon S3 儲存貯體政策。以適當的值取代 *\$1\$1KbRoleArn\$1*、*\$1\$1BucketName\$1* 和 *\$1\$1BucketNameAndPrefix\$1*。

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "ListBucket",
         "Effect": "Allow",
         "Principal": {
            "AWS": "123456789012"
         },
         "Action": [
            "s3:ListBucket"
         ],
         "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket"
         ]
      },
      {
         "Sid": "GetObject",
         "Effect": "Allow",
         "Principal": {
            "AWS": "123456789012"
         },
         "Action": [
            "s3:GetObject"
         ],
         "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket/*"
         ]
      }
   ]
}
```

------

**跨帳戶 AWS KMS 金鑰政策所需的許可**

如果跨帳戶 Amazon S3 儲存貯體使用該帳戶中的 AWS KMS 金鑰加密，則 AWS KMS 金鑰的政策需要下列政策。以適當的值取代 *\$1\$1KbRoleArn\$1* 和 *\$1\$1KmsKeyArn\$1*。

```
{
    "Sid": "Example policy",
    "Effect": "Allow",
    "Principal": {
        "AWS": [
            "${KbRoleArn}"
        ]
    },
    "Action": [
        "kms:Decrypt"
    ],
    "Resource": "${KmsKeyArn}"
}
```