【发布时间】:2020-10-16 13:05:38
【问题描述】:
我一直在尝试让 Amazon Kendra 使用我们网站上的 Java SDK 工作,但这个错误一直困扰着我。
背景: Kendra 索引已创建,并且连接到 S3 存储桶的连接器已就位。
如果我在控制台中使用 Kendra 中的搜索功能,则会返回有效数据并且一切正常。
现在访问我们的网站: 使用带有 cognito 身份池的 Java SDK 调用 Kendra,我们收到以下错误:
错误
AccessDeniedException:用户:arn:aws:sts::accountnumber:assumed-role/Cognito_botpoolUnauth_Role/CognitoIdentityCredentials 无权执行:kendra:Query on resource:arn:aws:kendra:eu- west-1:账号/kendra-test-index
请注意,我们在Cognito_botpoolUnauth_Role 附加了一项允许完全访问权限的政策。
这让我很困惑,因为我反复检查但没有成功。
任何指导将不胜感激。
更新
好的,我回来了
我已经检查了 SCP。没有 SCP 禁止使用 Kendra。
我也看过信任关系,看起来也不错:
{ “版本”:“2012-10-17”, “陈述”: [ { “效果”:“允许”, “主要的”: { “联合”:“cognito-identity.amazonaws.com” }, "动作": "sts:AssumeRoleWithWebIdentity", “健康)状况”: { “字符串相等”:{ “cognito-identity.amazonaws.com:aud”:“eu-west-1:532e0bcd-fc6e-4192-a3ef-37f2ae188820” }, "ForAnyValue:StringLike": { “cognito-identity.amazonaws.com:amr”:“未经身份验证” } } } ] }
【问题讨论】:
标签: amazon-web-services amazon-cognito amazon-iam