使用以下命令对您的亚马逊 Neptune 数据库进行身份验证 AWS Identity and Access Management - Amazon Neptune

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

使用以下命令对您的亚马逊 Neptune 数据库进行身份验证 AWS Identity and Access Management

AWS Identity and Access Management(IAM) AWS 服务 可帮助管理员安全地控制对AWS资源的访问权限。IAM 管理员控制可以通过身份验证(登录)和授权(具有权限)使用 Neptune 资源的人员。您可以使用 IAMAWS 服务,无需支付额外费用。

您可以使用 AWS Identity and Access Management (IAM) 对您的 Neptune 数据库实例或数据库集群进行身份验证。启用 IAM 数据库身份验证后,必须使用签AWS名版本 4 对每个请求进行签名。

AWS签名版本 4 将身份验证信息添加到AWS请求中。出于安全考虑,对启用了 IAM 身份验证的 Neptune 数据库集群的所有请求必须使用访问密钥签名。此密钥由访问密钥 ID 和私有访问密钥组成。身份验证在外部是使用 IAM policy 进行管理的。

Neptune 在连接时进行身份验证,对于 WebSockets 连接,它会定期验证权限以确保用户仍然可以访问。

注意
  • 建议不要撤消、删除或轮换与 IAM 用户关联的凭证,因为它不会终止任何已打开的连接。

  • 每个数据库实例的并发 WebSocket 连接数以及连接可以保持打开状态的时间都有限制。有关更多信息,请参阅 WebSockets 极限

IAM 的用法取决于您的角色

您的使用方式 AWS Identity and Access Management (IAM) 会有所不同,具体取决于您在 Neptune 中所做的工作。

服务用户 – 如果使用 Neptune 服务来完成任务,则管理员会为您提供使用 Neptune 数据面板所需的凭证和权限。由于您需要更多的访问权限来完成您的工作,因此了解如何管理数据访问权限可帮助您从管理员请求适合的权限。

服务管理员 – 如果您在公司负责管理 Neptune 资源,则您可能可以访问 Neptune 管理操作,这些操作与 Neptune 管理 API 相对应。确定服务用户需要哪些 Neptune 数据访问操作和资源才能完成其工作也可能是您的任务。然后,IAM 管理员可以应用 IAM policy 来更改您的服务用户的权限。

IAM 管理员 – 如果您是 IAM 管理员,您需要编写 IAM policy 来管理 Neptune 的管理和数据访问。要查看您可以使用的基于 Neptune 身份的示例策略,请参阅使用不同类型的 IAM policy 控制对 Neptune 的访问权限

使用身份进行身份验证

身份验证是您AWS使用身份凭证登录的方式。您必须以 IAM 用户身份进行身份验证AWS 账户根用户,或者通过担任 IAM 角色进行身份验证。

您可以使用来自身份源的证书AWS IAM Identity Center(例如(IAM Identity Center)、单点登录身份验证或 Google/Facebook 证书,以联合身份登录。有关登录的更多信息,请参阅《AWS 登录用户指南》中的如何登录您的 AWS 账户

对于编程访问,AWS提供 SDK 和 CLI 来对请求进行加密签名。有关更多信息,请参阅《IAM 用户指南》中的适用于 API 请求的 AWS 签名版本 4

AWS 账户root 用户

创建时AWS 账户,首先会有一个名为 AWS 账户 root 用户的登录身份,该身份可以完全访问所有资源AWS 服务和资源。我们强烈建议不要使用根用户进行日常任务。有关要求根用户凭证的任务,请参阅《IAM 用户指南》中的需要根用户凭证的任务

IAM 用户和群组

IAM 用户是对某个人员或应用程序具有特定权限的一个身份。我们建议使用临时凭证,而不是具有长期凭证的 IAM 用户。有关更多信息,请参阅 IAM 用户指南中的要求人类用户使用身份提供商的联合身份验证才能AWS使用临时证书进行访问

IAM 组指定一组 IAM 用户,便于更轻松地对大量用户进行权限管理。有关更多信息,请参阅《IAM 用户指南》中的 IAM 用户使用案例

IAM 角色

IAM 角色是具有特定权限的身份,可提供临时凭证。您可以通过从用户切换到 IAM 角色(控制台)或调用AWS CLI或 AWS API 操作来代入角色。有关更多信息,请参阅《IAM 用户指南》中的担任角色的方法

IAM 角色对于联合用户访问、临时 IAM 用户权限、跨账户访问、跨服务访问以及在 Amazon 上运行的应用程序非常有用。 EC2有关更多信息,请参阅《IAM 用户指南》中的 IAM 中的跨账户资源访问