使用 Amazon Identity and Access Management 身份验证连接到 Amazon Neptune 数据库
启用了 IAM 数据库身份验证的 Amazon Neptune 资源需要使用 Amazon 签名版本 4 对所有 HTTP 请求进行身份验证。有关使用 Amazon 签名版本 4 对请求进行签名的一般信息,请参阅签署 Amazon API 请求。
Amazon 签名版本 4 是将身份验证信息添加到 Amazon 请求的过程。出于安全考虑,大多数 Amazon 请求都必须使用访问密钥(包括访问密钥 ID 和秘密访问密钥)进行签名。
注意
如果您使用的是临时凭证,这些凭证(包括会话令牌)将在指定时间间隔后到期。
在请求新凭证时,您必须更新您的会话令牌。有关更多信息,请参阅使用临时安全凭证以请求对 Amazon 资源的访问权限。
重要
使用基于 IAM 的身份验证访问 Neptune 需要创建 HTTP 请求并自己对这些请求签名。
签名版本 4 的工作原理
-
您创建一个规范请求。
-
您使用规范请求和一些其他信息来创建要签署的字符串。
-
您使用自己的 Amazon 秘密访问密钥来生成一个签名密钥,并使用该签名密钥以及要签署的字符串来创建签名。
-
您将生成的签名添加到 HTTP 请求的标头中或者作为查询字符串参数添加。
Neptune 收到请求后,将执行完成的相同步骤来计算签名。之后,Neptune 会将计算得到的签名与在请求中发送的签名进行比较。如果签名匹配,则处理请求。如果签名不匹配,则拒绝请求。
有关使用 Amazon 签名版本 4 对请求签名的一般信息,请参阅《Amazon Web Services 一般参考》中签名版本 4 签名过程。
以下部分包含示例,演示如何将签名请求发送到启用了 IAM 身份验证的 Neptune 数据库实例的 Gremlin 和 SPARQL 端点。