Amazon web services Amazon Kendra:AccessDeniedException与Cognito角色
我一直试图让Amazon Kendra使用我们网站上的Java SDK工作,这个错误一直困扰着我 背景: Kendra索引已经创建,S3存储桶的连接器已经就位 如果我在控制台中使用Kendra中的搜索功能,将返回有效数据,并且一切正常 现在转到我们的网站: 使用带有cognito标识池的Java SDK调用Kendra,我们收到以下错误: 错误 AccessDeniedException:用户:arn:aws:sts::accountnumber:假定角色/Cognito_botpoolUnauth_角色/CognitoIdentityCredentials无权执行:kendra:资源查询:arn:aws:kendra:eu-west-1:accountnumber/kendra测试索引 请注意,我们有一个允许对Amazon web services Amazon Kendra:AccessDeniedException与Cognito角色,amazon-web-services,amazon-cognito,amazon-iam,Amazon Web Services,Amazon Cognito,Amazon Iam,我一直试图让Amazon Kendra使用我们网站上的Java SDK工作,这个错误一直困扰着我 背景: Kendra索引已经创建,S3存储桶的连接器已经就位 如果我在控制台中使用Kendra中的搜索功能,将返回有效数据,并且一切正常 现在转到我们的网站: 使用带有cognito标识池的Java SDK调用Kendra,我们收到以下错误: 错误 AccessDeniedException:用户:arn:aws:sts::accountnumber:假定角色/Cognito_botpoolUnau
Cognito\u botpoolUnauth\u角色进行完全访问的策略
这让我感到困惑,因为我反复检查,但没有成功
任何指导都将不胜感激
更新
好的,我回来了
我已经查过SCP了。没有SCP禁止使用肯德拉
我也观察了信任关系,它似乎也很好:
{
“版本”:“2012-10-17”,
“声明”:[
{
“效果”:“允许”,
“委托人”:{
“联邦”:“cognito identity.amazonaws.com”
},
“行动”:“sts:假定身份”,
“条件”:{
“StringEquals”:{
“cognito identity.amazonaws.com:aud”:“eu-west-1:532e0bcd-fc6e-4192-a3ef-37f2ae188820”
},
“ForAnyValue:StringLike”:{
“cognito identity.amazonaws.com:amr:“未经验证”
}
}
}
]
}
如果我在控制台中使用Kendra中的搜索功能,将返回有效数据,并且一切正常
该错误与您在console中查询Kendra的权限无关
错误与名为Cognito\u botpoolUnauth\u role
的角色有关,该角色没有此类权限
您必须访问IAM控制台,找到有问题的角色,并验证是否存在访问Kendra所需的权限。如果需要,可以将它们作为内联策略添加到角色中
但是,即使您的角色具有所需的权限,它仍可能被拒绝访问资源。例如,AWS组织的SCP可能禁止这样做。此外,Kendra上可能存在拒绝此类访问的基于资源的策略。如果肯德拉需要,另一种可能是进入KMS
如果我在控制台中使用Kendra中的搜索功能,将返回有效数据,并且一切正常
该错误与您在console中查询Kendra的权限无关
错误与名为Cognito\u botpoolUnauth\u role
的角色有关,该角色没有此类权限
您必须访问IAM控制台,找到有问题的角色,并验证是否存在访问Kendra所需的权限。如果需要,可以将它们作为内联策略添加到角色中
但是,即使您的角色具有所需的权限,它仍可能被拒绝访问资源。例如,AWS组织的SCP可能禁止这样做。此外,Kendra上可能存在拒绝此类访问的基于资源的策略。如果Kendra需要,其他可能是访问KMS。谢谢@Marcin我编辑了原始帖子。我遇到了一个路障,因为我不知道它还能表现出什么,你最终发现了吗?我在做同样的事情。谢谢@Marcin,我已经编辑了原始帖子。我遇到了一个路障,因为我不知道它还能表现出什么,你最终发现了吗?我在用同样的东西旋转轮子。