

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用身份验证连接到您的亚马逊 Neptune 数据库 Amazon Identity and Access Management
<a name="iam-auth-connecting"></a>

启用了 IAM 数据库身份验证的 Amazon Neptune 资源要求使用签 Amazon 名版本 4 对所有 HTTP 请求进行签名。有关使用签 Amazon 名版本 4 对请求进行签名的一般信息，请参阅[签署 Amazon API 请求](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_aws-signing.html)。

Amazon 签名版本 4 是向 Amazon 请求添加身份验证信息的过程。为了安全起见，对的大多数请求都 Amazon 必须使用访问密钥进行签名，访问密钥由访问密钥 ID 和私有访问密钥组成。

**注意**  
如果您使用的是临时凭证，这些凭证（*包括会话令牌*）将在指定时间间隔后到期。  
在请求新凭证时，您必须更新您的会话令牌。有关更多信息，请参阅[使用临时安全证书请求对 Amazon 资源的访问权限](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)。

**重要**  
使用基于 IAM 的身份验证访问 Neptune 需要创建 HTTP 请求并自己对这些请求签名。

**签名版本 4 的工作原理**

1. 您创建一个规范请求。

1. 您可以使用规范请求和其他一些信息来创建. string-to-sign 

1. 您可以使用您的 Amazon 私有访问密钥派生签名密钥，然后使用该签名密钥和 string-to-sign来创建签名。

1. 您将生成的签名添加到 HTTP 请求的标头中或者作为查询字符串参数添加。

Neptune 收到请求后，将执行完成的相同步骤来计算签名。之后，Neptune 会将计算得到的签名与在请求中发送的签名进行比较。如果签名匹配，则处理请求。如果签名不匹配，则拒绝请求。

有关使用签 Amazon 名版本 4 对请求进行签名的一般信息，请参阅中的[签名版本 4 签名流程*Amazon Web Services 一般参考*](https://docs.amazonaws.cn/general/latest/gr/signature-version-4.html)。

以下部分包含示例，演示如何将签名请求发送到启用了 IAM 身份验证的 Neptune 数据库实例的 Gremlin 和 SPARQL 端点。

**Topics**
+ [使用 IAM 身份验证连接 Amazon Neptune 数据库的先决条件](iam-auth-connect-prerq.md)
+ [通过命令行使用 IAM 身份验证连接到 Amazon Neptune 数据库](iam-auth-connect-command-line.md)
+ [通过 Gremlin 控制台使用 IAM 身份验证连接到 Amazon Neptune 数据库](iam-auth-connecting-gremlin-console.md)
+ [通过 Gremlin Java 使用 IAM 连接到 Amazon Neptune 数据库](iam-auth-connecting-gremlin-java.md)
+ [通过 Java 和 SPARQL 使用 IAM 身份验证连接到 Amazon Neptune 数据库](iam-auth-connecting-sparql-java.md)
+ [通过 SPARQL 和 Node.js 使用 IAM 身份验证连接到 Amazon Neptune 数据库](iam-auth-connecting-sparql-node.md)
+ [通过 Python 使用 IAM 身份验证连接到 Amazon Neptune 数据库](iam-auth-connecting-python.md)
+ [通过 Gremlin Python 使用 IAM 身份验证连接到 Amazon Neptune 数据库](gremlin-python-iam-auth.md)
+ [使用 Gremlin 的 IAM 身份验证连接到亚马逊 Neptune 数据库 JavaScript](gremlin-javascript-iam-auth.md)
+ [通过 Gremlin Go 使用 IAM 身份验证连接到 Amazon Neptune 数据库](gremlin-go-iam-auth.md)
+ [通过 Gremlin .NET 使用 IAM 身份验证连接到 Amazon Neptune 数据库](gremlin-dotnet-iam-auth.md)