Amazon Kendra 的 IAM 访问角色
创建索引、数据来源或常见问题解答时,Amazon Kendra 需要访问创建 Amazon Kendra 资源所需的 AWS 资源。在创建 Amazon Kendra 资源之前,必须先创建 AWS Identity and Access Management(IAM)策略。当您调用该操作时,请提供附有策略的角色的 Amazon 资源名称(ARN)。例如,如果您调用 BatchPutDocument API 来添加 Amazon S3 存储桶中的文档,则需要为 Amazon Kendra 提供一个角色,该角色具有可访问存储桶的策略。
您可以在 Amazon Kendra 控制台中创建要使用的新 IAM 角色,或者选择一个 IAM 现有角色。控制台显示的角色的角色名称中包含字符串“kendra”或“Kendra”。
以下主题提供了所需策略的详细信息。如果您使用 Amazon Kendra 控制台创建 IAM 角色,则会为您创建这些策略。
索引的 IAM 角色
创建索引时,必须为 IAM 角色提供写入 Amazon CloudWatch 的权限。允许 Amazon Kendra 代入角色的信任策略。以下是必须提供的策略。
允许 Amazon Kendra 访问 CloudWatch 日志的角色策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "cloudwatch:PutMetricData",
"Resource": "*",
"Condition": {
"StringEquals": {
"cloudwatch:namespace": "AWS/Kendra"
}
}
},
{
"Effect": "Allow",
"Action": "logs:DescribeLogGroups",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "logs:CreateLogGroup",
"Resource": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/kendra/*"
},
{
"Effect": "Allow",
"Action": [
"logs:DescribeLogStreams",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/kendra/*:log-stream:*"
}
]
}
允许 Amazon Kendra 访问 AWS Secrets Manager 的角色策略。如果您将用户上下文与作为键位置的 Secrets Manager 配合使用,则可以使用以下策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "cloudwatch:PutMetricData",
"Resource": "*",
"Condition": {
"StringEquals": {
"cloudwatch:namespace": "AWS/Kendra"
}
}
},
{
"Effect": "Allow",
"Action": "logs:DescribeLogGroups",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "logs:CreateLogGroup",
"Resource": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/kendra/*"
},
{
"Effect": "Allow",
"Action": [
"logs:DescribeLogStreams",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/kendra/*:log-stream:*"
},
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
适用于 BatchPutDocument API 的 IAM 角色
Amazon Kendra 不使用向 Amazon Kendra 主体授予与 S3 存储桶交互的权限的存储桶策略。它使用 IAM 角色。请确保 Amazon Kendra 未作为可信成员包含在存储桶策略中,以免在意外向任意主体授予权限时出现任何数据安全问题。但是,您可以添加存储桶策略,以便在不同的账户中使用 Amazon S3 存储桶。有关更多信息,请参阅跨账户使用 Amazon S3 的策略。有关 S3 数据来源的 IAM 角色的信息,请参阅 IAM 角色。
当您使用 BatchPutDocument API 为 Amazon S3 存储桶中的文档编制索引时,必须为 Amazon Kendra 提供具有存储桶访问权限的 IAM 角色。允许 Amazon Kendra 代入角色的信任策略。如果存储桶中的文档已加密,则必须提供使用 AWS KMS 客户主键(CMK)来解密文档的权限。
允许 Amazon Kendra 访问 Amazon S3 存储桶的必需角色策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::bucket-name/*"
]
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
建议您在信任策略中包含 aws:sourceAccount 和 aws:sourceArn。这会限制权限,并对 aws:sourceAccount 和 aws:sourceArn 是否与 sts:AssumeRole 操作的 IAM 角色策略中提供的相同进行安全检查。这样可以防止未经授权的实体访问您的 IAM 角色及其权限。有关更多信息,请参阅有关混淆代理问题的 AWS Identity and Access Management 指南。
一种可选的角色策略,允许 Amazon Kendra 使用 AWS KMS 客户主密钥(CMK)解密 Amazon S3 存储桶中的文档。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
]
}
]
}
数据资源的 IAM 角色
在使用 CreateDataSource API 时,必须授予 Amazon Kendra 有权访问资源的 IAM 角色。所需的特定权限取决于数据来源。
当您使用 Adobe Experience Manager 时,需要为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 Adobe 体验管理器进行身份验证的权限。
-
调用 Adobe Experience Manager 连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 Adobe Experience Manager 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:111122223333:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:111122223333:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:PutPrincipalMapping",
"kendra:DeletePrincipalMapping",
"kendra:ListGroupsOlderThanOrderingId",
"kendra:DescribePrincipalMapping"
],
"Resource": [
"arn:aws:kendra:us-east-1:111122223333:index/index-id",
"arn:aws:kendra:us-east-1:111122223333:index/index-id/data-source/*"
]
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:111122223333:index/index-id"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Alfresco 时,需要为角色提供以下策略。
-
允许访问您的 AWS Secrets Manager 密钥以对您的 Alfresco 进行身份验证。
-
调用 Alfresco 连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 Alfresco 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:PutPrincipalMapping",
"kendra:DeletePrincipalMapping",
"kendra:ListGroupsOlderThanOrderingId",
"kendra:DescribePrincipalMapping"
],
"Resource": [
"arn:aws:kendra:us-east-1:123456789012:index/index-id",
"arn:aws:kendra:us-east-1:123456789012:index/index-id/data-source/*"
]
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Aurora(MySQL)时,为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 Aurora(MySQL)进行身份验证的权限。
-
调用 Aurora(MySQL)连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 Aurora(MySQL)数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Aurora(PostgreSQL)时,为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 Aurora(PostgreSQL)进行身份验证的权限。
-
调用 Aurora(PostgreSQL)连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 Aurora(PostgreSQL)数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Amazon FSx 时,为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 Amazon FSx 文件系统进行身份验证的权限。
-
访问您的 Amazon FSx 文件系统所在的 Amazon Virtual Private Cloud(VPC)的权限。
-
获取您的 Amazon FSx 文件系统的 Active Directory 域名的权限。
-
调用 Amazon FSx 连接器所需的公共 API 的权限。
-
允许调用 BatchPutDocument 和 BatchDeleteDocument API 来更新索引的权限。
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用数据库作为数据来源时,需要为 Amazon Kendra 提供一个具有连接所需的权限的角色。这些指令包括:
-
访问包含网站用户名和密码的 AWS Secrets Manager 密钥的权限。有关密钥内容的更多信息,请参阅数据来源。
-
允许使用 AWS KMS 客户主密钥(CMK)解密 Secrets Manager 存储的用户名和密码密钥。
-
使用 BatchPutDocument 和 BatchDeleteDocument 操作更新索引的权限。
-
访问包含用于与网站通信的 SSL 证书的 Amazon S3 存储桶的权限。
您可以通过 Amazon VPC 将数据库数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
您可以对数据来源使用两种可选策略。
如果您对包含用于与通信的 SSL 证书的 Amazon S3 存储桶进行了加密,请提供允许 Amazon Kendra 访问该密钥的策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
]
}
]
}
如果您使用的是 VPC,请提供 Amazon Kendra 允许访问所需资源的策略。对于所需策略,请参阅 数据来源、VPC 的 IAM 角色。
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Amazon RDS(Microsoft SQL Server)数据来源连接器时,需要为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 Amazon RDS(Microsoft SQL Server)数据来源实例进行身份验证的权限。
-
调用 Amazon RDS(Microsoft SQL Server)数据来源连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 Amazon RDS(Microsoft SQL Server)数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Amazon RDS(MySQL)数据来源连接器时,需要为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 Amazon RDS(MySQL)数据来源实例进行身份验证的权限。
-
调用 Amazon RDS(MySQL)数据来源连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 Amazon RDS(MySQL)数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Amazon RDS Oracle 数据来源连接器时,需要为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 Amazon RDS(Oracle)数据来源实例进行身份验证的权限。
-
调用 Amazon RDS(Oracle)数据来源连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 Amazon RDS Oracle 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Amazon RDS(PostgreSQL)数据来源连接器时,需要为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 Amazon RDS(PostgreSQL)数据来源实例进行身份验证的权限。
-
调用 Amazon RDS(PostgreSQL)数据来源连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 Amazon RDS(PostgreSQL)数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
Amazon Kendra 不使用向 Amazon Kendra 主体授予与 S3 存储桶交互的权限的存储桶策略。它使用 IAM 角色。请确保 Amazon Kendra 未作为可信成员包含在存储桶策略中,以免在意外向任意主体授予权限时出现任何数据安全问题。但是,您可以添加存储桶策略,以便在不同的账户中使用 Amazon S3 存储桶。有关更多信息,请参阅 跨账户使用 Amazon S3 的策略(向下滚动)。
当您使用 Amazon S3 存储桶作为数据来源时,需要提供一个有权访问存储桶以及使用 BatchPutDocument 和 BatchDeleteDocument 操作的角色。如果 Amazon S3 存储桶中的文档已加密,则必须提供使用 AWS KMS 客户主键(CMK)来解密文档的权限。
以下角色策略必须允许 Amazon Kendra 代入角色。继续向下滚动以查看代入角色的信任策略。
允许 Amazon Kendra 使用 Amazon S3 存储桶作为数据来源的必需角色策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::bucket-name/*"
],
"Effect": "Allow"
},
{
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::bucket-name"
],
"Effect": "Allow"
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": [
"arn:aws:kendra:us-east-1:123456789012:index/index-id"
]
}
]
}
一种可选的角色策略,允许 Amazon Kendra 使用 AWS KMS 客户主密钥(CMK)解密 Amazon S3 存储桶中的文档。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
]
}
]
}
一种可选的角色策略,当使用 Amazon VPC 而不激活 AWS KMS 或共享 AWS KMS 权限时,允许 Amazon Kendra 访问 Amazon S3 存储桶。
一种可选的角色策略,当使用 Amazon VPC 且激活 AWS KMS 权限时,允许 Amazon Kendra 访问 Amazon S3 存储桶。
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
跨账户使用 Amazon S3 的策略
如果您的 Amazon S3 存储桶所在的帐户与用于 Amazon Kendra 索引的账户不同,则可以创建跨账户使用该存储桶的策略。
当存储桶与您的 Amazon Kendra 索引位于不同的账户中时,使用您的 Amazon S3 存储桶作为数据来源的角色策略。请注意,s3:PutObject 和 s3:PutObjectAcl 是可选的,如果要为访问控制列表包含配置文件,则可以使用此选项。
允许 Amazon S3 数据来源角色跨账户访问 Amazon S3 存储桶的存储桶策略。请注意,s3:PutObject 和 s3:PutObjectAcl 是可选的,如果要为访问控制列表包含配置文件,则可以使用此选项。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "$kendra-s3-connector-role-arn"
},
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::$bucket-in-other-account/*"
]
},
{
"Effect": "Allow",
"Principal": {
"AWS": "$kendra-s3-connector-role-arn"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::$bucket-in-other-account"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Amazon Kendra Web 爬网程序时,为角色提供以下策略:
-
访问包含连接网站或由基本身份验证支持的 Web 代理服务器的凭证的 AWS Secrets Manager 密钥的权限。有关机密报告内容的更多信息,请参阅使用 Web 爬网程序数据来源。
-
允许使用 AWS KMS 客户主密钥(CMK)解密 Secrets Manager 存储的用户名和密码密钥。
-
使用 BatchPutDocument 和 BatchDeleteDocument 操作更新索引的权限。
-
如果您使用 Amazon S3 存储桶来存储种子 URL或站点地图列表,请添加访问 Amazon S3 存储桶的权限。
您可以通过 Amazon VPC 将 Amazon Kendra Web 爬网程序数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
如果您将种子 URL 或站点地图存储在 Amazon S3 存储桶中,则必须向该角色添加此权限。
,
{"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::bucket-name/*"
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Box 时,为角色提供以下策略。
您可以通过 Amazon VPC 将 Box 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:PutPrincipalMapping",
"kendra:DeletePrincipalMapping",
"kendra:ListGroupsOlderThanOrderingId",
"kendra:DescribePrincipalMapping"
],
"Resource": [
"arn:aws:kendra:us-east-1:123456789012:index/index-id",
"arn:aws:kendra:us-east-1:123456789012:index/index-id/data-source/*"
]
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Confluence Server 作为数据来源时,您需要为角色提供以下策略:
-
访问包含连接 Confluence 所需凭证的 AWS Secrets Manager 密钥的权限。有关密钥内容的更多信息,请参阅 Confluence 数据来源。
-
允许使用 AWS KMS 客户主密钥(CMK)解密 Secrets Manager 存储的用户名和密码密钥。
-
使用 BatchPutDocument 和 BatchDeleteDocument 操作更新索引的权限。
您可以通过 Amazon VPC 将 Confluence 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
如果您使用的是 VPC,请提供 Amazon Kendra 允许访问所需资源的策略。对于所需策略,请参阅 数据来源、VPC 的 IAM 角色。
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
对于 Confluence 连接器 v2.0 数据来源,您需要为角色提供以下策略。
-
访问包含 Confluence 身份验证凭证的 AWS Secrets Manager 密钥的权限。有关密钥内容的更多信息,请参阅 Confluence 数据来源。
-
允许使用 AWS KMS 客户主密钥(CMK)解密 AWS Secrets Manager 存储的用户名和密码密钥。
-
使用 BatchPutDocument 和 BatchDeleteDocument 操作更新索引的权限。
您还需要附加允许 Amazon Kendra 代入角色的信任策略。
您可以通过 Amazon VPC 将 Confluence 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
允许将 Amazon Kendra 连接到 Confluence 的角色策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:PutPrincipalMapping",
"kendra:DeletePrincipalMapping",
"kendra:ListGroupsOlderThanOrderingId",
"kendra:DescribePrincipalMapping"
],
"Resource": [
"arn:aws:kendra:us-east-1:123456789012:index/index-id",
"arn:aws:kendra:us-east-1:123456789012:index/index-id/data-source/*"
]
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Dropbox 时,为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 Dropbox 进行身份验证的权限。
-
调用 Dropbox 连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 Dropbox 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:111122223333:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:111122223333:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:PutPrincipalMapping",
"kendra:DeletePrincipalMapping",
"kendra:ListGroupsOlderThanOrderingId",
"kendra:DescribePrincipalMapping"
],
"Resource": [
"arn:aws:kendra:us-east-1:111122223333:index/index-id",
"arn:aws:kendra:us-east-1:111122223333:index/index-id/data-source/*"
]
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:111122223333:index/index-id"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Drupal 时,为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 Drupal 进行身份验证的权限。
-
调用 Drupal 连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 Drupal 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:111122223333:secret:secret_id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:111122223333:key/key_id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.*.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:PutPrincipalMapping",
"kendra:DeletePrincipalMapping",
"kendra:ListGroupsOlderThanOrderingId",
"kendra:DescribePrincipalMapping"
],
"Resource": [
"arn:aws:kendra:us-east-1:111122223333:index/index_id",
"arn:aws:kendra:us-east-1:111122223333:index/index_id/data-source/*"
]
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:111122223333:index/index_id"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 GitHub 时,为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 GitHub 进行身份验证的权限。
-
调用 GitHub 连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 GitHub 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:PutPrincipalMapping",
"kendra:DeletePrincipalMapping",
"kendra:ListGroupsOlderThanOrderingId",
"kendra:DescribePrincipalMapping"
],
"Resource": [
"arn:aws:kendra:us-east-1:123456789012:index/index-id",
"arn:aws:kendra:us-east-1:123456789012:index/index-id/data-source/*"
]
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Gmail 时,为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 Gmail 进行身份验证的权限。
-
调用 Gmailconnector 连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 Gmail 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:PutPrincipalMapping",
"kendra:DeletePrincipalMapping",
"kendra:ListGroupsOlderThanOrderingId",
"kendra:DescribePrincipalMapping"
],
"Resource": [
"arn:aws:kendra:us-east-1:123456789012:index/index-id",
"arn:aws:kendra:us-east-1:123456789012:index/index-id/data-source/*"
]
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Google Workspace Drive 数据来源时,需要为 Amazon Kendra 提供一个具有连接到该站点所需的权限的角色。这些指令包括:
您可以通过 Amazon VPC 将 Google Drive 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
以下 IAM 策略提供了必要权限:
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 IBM DB2 数据来源连接器时,需要为角色提供以下策略。
-
AWS Secrets Manager访问您的 密钥以对您的 IBM DB2 数据来源实例进行身份验证的权限。
-
调用 IBM DB2 数据来源连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 IBM DB2 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Jira 时,为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 Jira 进行身份验证的权限。
-
调用 Jira 连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 Jira 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:PutPrincipalMapping",
"kendra:DeletePrincipalMapping",
"kendra:ListGroupsOlderThanOrderingId",
"kendra:DescribePrincipalMapping"
],
"Resource": [
"arn:aws:kendra:us-east-1:123456789012:index/index-id",
"arn:aws:kendra:us-east-1:123456789012:index/index-id/data-source/*"
]
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Microsoft Exchange 数据来源时,需要为 Amazon Kendra 提供一个具有连接到该站点所需的权限的角色。这些指令包括:
您可以通过 Amazon VPC 将 Microsoft Exchange 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
以下 IAM 策略提供了必要权限:
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
如果您要将要索引的用户列表存储在 Amazon S3 存储桶中,则还必须提供使用 S3 GetObject 操作的权限。以下 IAM 策略提供了必要权限:
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::bucket-name/*"
],
"Effect": "Allow"
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-ids"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com",
"s3.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Microsoft OneDrive 数据来源时,需要为 Amazon Kendra 提供一个具有连接到该站点所需的权限的角色。这些指令包括:
您可以通过 Amazon VPC 将 Microsoft OneDrive 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
以下 IAM 策略提供了必要权限:
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
如果您要将要索引的用户列表存储在 Amazon S3 存储桶中,则还必须提供使用 S3 GetObject 操作的权限。以下 IAM 策略提供了必要权限:
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::bucket-name/*"
],
"Effect": "Allow"
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-ids"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com",
"s3.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
对于 Microsoft SharePoint connector v1.0 数据来源,需要为角色提供以下策略。
-
访问包含 SharePoint 网站用户名和密码的 AWS Secrets Manager 密钥的权限。有关密钥内容的更多信息,请参阅 Microsoft SharePoint 数据来源。
-
允许使用 AWS KMS 客户主密钥(CMK)解密 AWS Secrets Manager 存储的用户名和密码密钥。
-
使用 BatchPutDocument 和 BatchDeleteDocument 操作更新索引的权限。
-
访问包含用于与 SharePoint 站点通信的 SSL 证书的 Amazon S3 存储桶的权限。
您还需要附加允许 Amazon Kendra 代入角色的信任策略。
您可以通过 Amazon VPC 将 Microsoft SharePoint 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
]
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": [
"arn:aws:kendra:us-east-1:123456789012:index/index-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"kendra.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::bucket-name/*"
]
}
]
}
如果您对包含用于与 SharePoint 站点通信的 SSL 证书的 Amazon S3 存储桶进行了加密,请提供允许 Amazon Kendra 访问该密钥的策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
]
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
对于 Microsoft SharePoint connector v2.0 数据来源,需要为角色提供以下策略。
-
访问包含 SharePoint 站点身份验证凭证的 AWS Secrets Manager 密钥的权限。有关密钥内容的更多信息,请参阅 Microsoft SharePoint 数据来源。
-
允许使用 AWS KMS 客户主密钥(CMK)解密 AWS Secrets Manager 存储的用户名和密码密钥。
-
使用 BatchPutDocument 和 BatchDeleteDocument 操作更新索引的权限。
-
访问包含用于与 SharePoint 站点通信的 SSL 证书的 Amazon S3 存储桶的权限。
您还需要附加允许 Amazon Kendra 代入角色的信任策略。
您可以通过 Amazon VPC 将 Microsoft SharePoint 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
如果您对包含用于与 SharePoint 站点通信的 SSL 证书的 Amazon S3 存储桶进行了加密,请提供允许 Amazon Kendra 访问该密钥的策略。
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Microsoft SQL Server 时,需要为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 Microsoft SQL Server 数据来源实例进行身份验证的权限。
-
调用 Microsoft SQL Server 数据来源连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 Microsoft SQL Server 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Microsoft Teams 数据来源时,需要为 Amazon Kendra 提供一个具有连接到该站点所需的权限的角色。这些指令包括:
您可以通过 Amazon VPC 将 Microsoft Teams 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
以下 IAM 策略提供了必要权限:
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Microsoft Yammer 数据来源时,需要为 Amazon Kendra 提供一个具有连接到该站点所需的权限的角色。这些指令包括:
您可以通过 Amazon VPC 将 Microsoft Yammer 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
以下 IAM 策略提供了必要权限:
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
如果您要将要索引的用户列表存储在 Amazon S3 存储桶中,则还必须提供使用 S3 GetObject 操作的权限。以下 IAM 策略提供了必要权限:
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::bucket-name/*"
],
"Effect": "Allow"
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-ids"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com",
"s3.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 MySQL 数据来源连接器时,需要为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 MySQL 数据来源实例进行身份验证的权限。
-
调用 MySQL 数据来源连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 MySQL 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Oracle 数据来源连接器时,需要为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 Oracle 数据来源实例进行身份验证的权限。
-
调用 Oracle 数据来源连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 Oracle 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 PostgreSQL 数据来源连接器时,需要为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 PostgreSQL 数据来源实例进行身份验证的权限。
-
调用 PostgreSQL 数据来源连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 PostgreSQL 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Quip 时,需要为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 Quip 进行身份验证的权限。
-
调用 Quip 连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 Quip 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:PutPrincipalMapping",
"kendra:DeletePrincipalMapping",
"kendra:ListGroupsOlderThanOrderingId",
"kendra:DescribePrincipalMapping"
],
"Resource": [
"arn:aws:kendra:us-east-1:123456789012:index/your-index-id",
"arn:aws:kendra:us-east-1:123456789012:index/your-index-id/data-source/*"
]
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Salesforce 作为数据来源时,需要为角色提供以下策略:
-
访问包含 Salesforce 站点用户名和密码的 AWS Secrets Manager 密钥的权限。有关清单报告内容的更多信息,请参阅 Salesforce 数据来源。
-
允许使用 AWS KMS 客户主密钥(CMK)解密 Secrets Manager 存储的用户名和密码密钥。
-
使用 BatchPutDocument 和 BatchDeleteDocument 操作更新索引的权限。
您可以通过 Amazon VPC 将 Salesforce 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 ServiceNow 作为数据来源时,需要为角色提供以下策略:
-
访问包含 ServiceNow 站点用户名和密码的 Secrets Manager 密钥的权限。有关密钥内容的更多信息,请参阅 ServiceNow 数据来源。
-
允许使用 AWS KMS 客户主密钥(CMK)解密 Secrets Manager 存储的用户名和密码密钥。
-
使用 BatchPutDocument 和 BatchDeleteDocument 操作更新索引的权限。
您可以通过 Amazon VPC 将 ServiceNow 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Slack 时,需要为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 Slack 进行身份验证的权限。
-
调用 Slack 连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 Slack 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:PutPrincipalMapping",
"kendra:DeletePrincipalMapping",
"kendra:ListGroupsOlderThanOrderingId",
"kendra:DescribePrincipalMapping"
],
"Resource": [
"arn:aws:kendra:us-east-1:123456789012:index/index-id",
"arn:aws:kendra:us-east-1:123456789012:index/index-id/data-source/*"
]
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
当您使用 Zendesk 时,需要为角色提供以下策略。
-
访问您的 AWS Secrets Manager 密钥以对您的 Zendesk 进行身份验证的权限。
-
调用 Zendesk 连接器所需的公共 API 的权限。
-
调用 BatchPutDocument、BatchDeleteDocument、PutPrincipalMapping、DeletePrincipalMapping、DescribePrincipalMapping 和 ListGroupsOlderThanOrderingId API 的权限。
您可以通过 Amazon VPC 将 Zendesk 数据来源连接到 Amazon Kendra。如果您使用的是 Amazon VPC,则需要添加其他权限。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-id"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.us-east-1.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kendra:PutPrincipalMapping",
"kendra:DeletePrincipalMapping",
"kendra:ListGroupsOlderThanOrderingId",
"kendra:DescribePrincipalMapping"
],
"Resource": [
"arn:aws:kendra:us-east-1:123456789012:index/index-id",
"arn:aws:kendra:us-east-1:123456789012:index/index-id/data-source/*"
]
},
{
"Effect": "Allow",
"Action": [
"kendra:BatchPutDocument",
"kendra:BatchDeleteDocument"
],
"Resource": "arn:aws:kendra:us-east-1:123456789012:index/index-id"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
虚拟私有云(VPC)IAM 角色
如果您使用虚拟私有云(VPC)连接到数据来源,则必须额外提供以下权限。
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:DeleteNetworkInterface"
],
"Resource": [
"arn:aws:ec2:{{region}}:{{account_id}}:subnet/[[subnet_ids]]",
"arn:aws:ec2:{{region}}:{{account_id}}:security-group/[[security_group]]"
]
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:DeleteNetworkInterface"
],
"Resource": "arn:aws:ec2:{{region}}:{{account_id}}:network-interface/*",
"Condition": {
"StringLike": {
"aws:RequestTag/AWS_KENDRA": "kendra_{{account_id}}_{{index_id}}_*"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateTags"
],
"Resource": "arn:aws:ec2:{{region}}:{{account_id}}:network-interface/*",
"Condition": {
"StringEquals": {
"ec2:CreateAction": "CreateNetworkInterface"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterfacePermission"
],
"Resource": "arn:aws:ec2:{{region}}:{{account_id}}:network-interface/*",
"Condition": {
"StringLike": {
"aws:ResourceTag/AWS_KENDRA": "kendra_{{account_id}}_{{index_id}}_*"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeNetworkInterfaceAttribute",
"ec2:DescribeVpcs",
"ec2:DescribeRegions",
"ec2:DescribeNetworkInterfacePermissions",
"ec2:DescribeSubnets"
],
"Resource": "*"
}
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
常见问题解答(FAQ)的 IAM 角色
当您使用 CreateFaq API 将问题和答案加载到索引中时,必须为 Amazon Kendra 提供一个 IAM 角色,该角色具有对包含源文件的 Amazon S3 存储桶的访问权限。如果源文件已加密,则必须提供使用 AWS KMS 客户主密钥(CMK)解密文件的权限。
允许 Amazon Kendra 访问 Amazon S3 存储桶的必需角色策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::bucket-name/*"
]
}
]
}
一种可选的角色策略,允许 Amazon Kendra 使用 AWS KMS 客户主密钥(CMK)解密 Amazon S3 存储桶中的文件。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"kendra.us-east-1.amazonaws.com"
]
}
}
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
查询建议的 IAM 角色
当您使用 Amazon S3 文件作为查询建议阻止列表时,需要提供一个有权访问 Amazon S3 文件和 Amazon S3 存储桶的角色。如果 Amazon S3 存储桶中的阻止列表文本(Amazon S3 文件)已加密,则必须提供使用 AWS KMS 客户主密钥(CMK)解密文档的权限。
允许 Amazon Kendra 使用 Amazon S3 文件作为查询建议屏蔽列表的必需角色策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::bucket-name/*"
]
}
]
}
一种可选的角色策略,允许 Amazon Kendra 使用 AWS KMS 客户主密钥(CMK)解密 Amazon S3 存储桶中的文档。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
]
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
用户和组的主体映射的 IAM 角色
当您使用 PutPrincipalMapping API 将用户映射到他们的组以按用户上下文筛选搜索结果时,您需要提供属于某个组的用户或子组的列表。如果您的列表中某个组的用户或子组超过 1000 个,则需要提供一个有权访问您的列表的 Amazon S3 文件和 Amazon S3 存储桶的角色。如果 Amazon S3 存储桶中列表的文本文件(Amazon S3 文件)已加密,则必须提供使用 AWS KMS 客户主密钥(CMK)解密文档的权限。
一项必需的角色策略,允许 Amazon Kendra 将 Amazon S3 文件用作属于某个组的用户和子组的列表。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::bucket-name/*"
]
}
]
}
一种可选的角色策略,允许 Amazon Kendra 使用 AWS KMS 客户主密钥(CMK)解密 Amazon S3 存储桶中的文档。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
]
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
建议您在信任策略中包含 aws:sourceAccount 和 aws:sourceArn。这会限制权限,并对 aws:sourceAccount 和 aws:sourceArn 是否与 sts:AssumeRole 操作的 IAM 角色策略中提供的相同进行安全检查。这样可以防止未经授权的实体访问您的 IAM 角色及其权限。有关更多信息,请参阅有关混淆代理问题的 AWS Identity and Access Management 指南。
IAM适用于 的 角色AWS IAM Identity Center
当您使用 UserGroupResolutionConfiguration 对象从 AWS IAM Identity Center 身份源获取组和用户的访问权限级别时,您需要提供一个有权访问 IAM Identity Center 的角色。
允许 Amazon Kendra 访问 IAM Identity Center 必需角色策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sso-directory:SearchUsers",
"sso-directory:ListGroupsForUser",
"sso-directory:DescribeGroups",
"sso:ListDirectoryAssociations"
],
"Resource": [
"*"
]
},
{
"Sid": "iamPassRole",
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "*",
"Condition": {
"StringEquals": {
"iam:PassedToService": [
"kendra.amazonaws.com"
]
}
}
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
Amazon Kendra 体验的 IAM 角色
当您使用 CreateExperience 或 UpdateExperience API 创建或更新搜索应用程序时,必须提供一个有权访问必要操作和 IAM Identity Center 的角色。
允许 Amazon Kendra 访问 Query 操作、QuerySuggestions 操作、SubmitFeedback 操作,以及访问存储您的用户和组信息的 IAM Identity Center 所需的角色策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "AllowsKendraSearchAppToCallKendraApi",
"Effect": "Allow",
"Action": [
"kendra:GetQuerySuggestions",
"kendra:Query",
"kendra:DescribeIndex",
"kendra:ListFaqs",
"kendra:DescribeDataSource",
"kendra:ListDataSources",
"kendra:DescribeFaq",
"kendra:SubmitFeedback"
],
"Resource": [
"arn:aws:kendra:us-east-1:123456789012:index/index-id"
]
},
{
"Sid": "AllowKendraSearchAppToDescribeDataSourcesAndFaq",
"Effect": "Allow",
"Action": [
"kendra:DescribeDataSource",
"kendra:DescribeFaq"
],
"Resource": [
"arn:aws:kendra:us-east-1:123456789012:index/index-id/data-source/data-source-id",
"arn:aws:kendra:us-east-1:123456789012:index/index-id/faq/faq-id"
]
},
{
"Sid": "AllowKendraSearchAppToCallSSODescribeUsersAndGroups",
"Effect": "Allow",
"Action": [
"sso-directory:ListGroupsForUser",
"sso-directory:SearchGroups",
"sso-directory:SearchUsers",
"sso-directory:DescribeUser",
"sso-directory:DescribeGroup",
"sso-directory:DescribeGroups",
"sso-directory:DescribeUsers",
"sso:ListDirectoryAssociations"
],
"Resource": [
"*"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"kendra.us-east-1.amazonaws.com"
]
}
}
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
建议您在信任策略中包含 aws:sourceAccount 和 aws:sourceArn。这会限制权限,并对 aws:sourceAccount 和 aws:sourceArn 是否与 sts:AssumeRole 操作的 IAM 角色策略中提供的相同进行安全检查。这样可以防止未经授权的实体访问您的 IAM 角色及其权限。有关更多信息,请参阅有关混淆代理问题的 AWS Identity and Access Management 指南。
自定义文档富集的 IAM 角色
当您使用 CustomDocumentEnrichmentConfiguration 对象对文档元数据和内容进行高级更改时,必须提供一个具有运行 PreExtractionHookConfiguration 和/或 PostExtractionHookConfiguration 所需权限的角色。您可以配置 Lambda 函数,以便 PreExtractionHookConfiguration 和/或 PostExtractionHookConfiguration 在提取过程中对文档元数据和内容进行高级更改。如果您选择为 Amazon S3 存储桶激活服务器端加密,则必须提供使用 AWS KMS 客户主密钥(CMK)加密和解密存储在 Amazon S3 存储桶中的对象的权限。
允许 Amazon Kendra 运行 PreExtractionHookConfiguration 和 PostExtractionHookConfiguration 并对 Amazon S3 存储桶加密所需的角色策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::bucket-name/*"
],
"Effect": "Allow"
},
{
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::bucket-name"
],
"Effect": "Allow"
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey"
],
"Resource": [
"arn:aws:kms:us-east-1:123456789012:key/key-id"
]
},
{
"Effect": "Allow",
"Action": [
"lambda:InvokeFunction"
],
"Resource": "arn:aws:lambda:us-east-1:123456789012:function:lambda-function"
}
]
}
允许 Amazon Kendra 运行 PreExtractionHookConfiguration 和 PostExtractionHookConfiguration 且不对 Amazon S3 存储桶加密所需的角色策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::bucket-name/*"
],
"Effect": "Allow"
},
{
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::bucket-name"
],
"Effect": "Allow"
},
{
"Effect": "Allow",
"Action": [
"lambda:InvokeFunction"
],
"Resource": "arn:aws:lambda:us-east-1:123456789012:function:lambda-function"
}
]
}
允许 Amazon Kendra 代入角色的信任策略。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"kendra.amazonaws.com"
},
"Action":"sts:AssumeRole"
}
]
}
建议您在信任策略中包含 aws:sourceAccount 和 aws:sourceArn。这会限制权限,并对 aws:sourceAccount 和 aws:sourceArn 是否与 sts:AssumeRole 操作的 IAM 角色策略中提供的相同进行安全检查。这样可以防止未经授权的实体访问您的 IAM 角色及其权限。有关更多信息,请参阅有关混淆代理问题的 AWS Identity and Access Management 指南。