gpt4 book ai didi

amazon-web-services - 启用 IAM 数据库身份验证后无法连接到 AWS Neptune 数据库

转载 作者:行者123 更新时间:2023-12-05 04:53:13 30 4
gpt4 key购买 nike

我在启用 IAM 数据库授权后尝试连接到 AWS neptune 数据库,但它无法连接并因以下错误而失败。

{"code":"AccessDeniedException","requestId":"68bbc87a-cbf6-31d3-5829-91f32062239f","detailedMessage":"Missing Authentication Token"}

但是它在禁用 IAM DB 授权时工作正常。

我已经创建了一个策略(使用链接 https://docs.aws.amazon.com/neptune/latest/userguide/iam-auth-policy.html )来连接到海王星数据库并将该策略附加到 IAM 角色,该角色被添加到 ec2 实例。我可以通过 8182 端口远程登录到海王星数据库端点。

有人可以帮忙吗

最佳答案

启用 IAM 身份验证后,必须使用 SigV4 对对 HTTP 端点的请求进行签名。您可以使用 awscurl 等工具来执行此操作。

这是 Amazon Neptune 文档中的一个示例,我对其进行了轻微修改,使其指向/status 端点。

正确设置 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 环境变量(和如果您使用的是临时凭证,还有 AWS_SECURITY_TOKEN)。您还可以将这些作为参数传递给 awscurl。然后使用诸如(将区域更改为您所在的区域)之类的命令。

awscurl -X GET --service neptune-db  --region us-west-2 "$SYSTEM_ENDPOINT/status"

您可以通过 AWS CLI 工具使用 sts 获取临时凭证,如下所示:

aws sts get-session-token

如果您在 EC2 实例上运行,只要 EC2 实例附加了一个可以访问 Neptune 的角色,您就可以从元数据服务中获取 token 。更多详情:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html

关于amazon-web-services - 启用 IAM 数据库身份验证后无法连接到 AWS Neptune 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66154489/

30 4 0
文章推荐: javascript - 如何使用纯 JavaScript 读取文本文件的内容并将其写入
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com