步骤 4:为 VPC 端点连接配置权限 - Amazon Keyspaces(Apache Cassandra 兼容)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

步骤 4:为 VPC 端点连接配置权限

本步骤中的过程演示了如何配置规则和权限,以便将 VPC 端点与 Amazon Keyspaces 配合使用。

为新端点配置入站规则以允许 TCP 入站流量
  1. 在 Amazon VPC 控制台的左侧面板上,选择端点,然后选择您在前面的步骤中创建的端点。

  2. 选择安全组,然后选择与该端点关联的安全组。

  3. 选择入站规则,然后选择 编辑入站规则

  4. 添加类型自定义 TCP 的入站规则。对于端口范围,输入 9142

  5. 选择保存规则以保存新入站规则。

配置 IAM 用户权限
  1. 确认用于连接 Amazon Keyspaces 的 IAM 用户是否具有相应的权限。在 Amazon Identity and Access Management (IAM) 中,您可以使用 Amazon 托管策略向 IAM 用户授AmazonKeyspacesReadOnlyAccess予对 Amazon Keyspaces 的读取权限。

    1. 登录 Amazon Web Services Management Console 并打开 IAM 控制台,网址为 https://console.aws.amazon.com/iam/

    2. 在 IAM 控制台控制面板上,选择 Users (用户),然后从列表中选择您的 IAM 用户。

    3. Summary (摘要) 页上,选择 Add permissions (添加权限)

    4. 选择直接附加现有策略

    5. 从策略列表中选择 AmazonKeyspacesReadOnlyAccess,然后选择下一步:查看

    6. 选择添加权限

  2. 验证您是否可以通过 VPC 端点访问 Amazon Keyspaces。

    aws keyspaces list-tables --keyspace-name 'my_Keyspace'

    如果你愿意,你可以尝试使用其他一些针对 Amazon Keyspaces 的 Amazon CLI 命令。有关更多信息,请参阅 Amazon CLI 命令参考

    注意

    IAM 用户或角色访问 Amazon Keyspaces 所需的最低权限是对系统表的读取权限,如以下策略所示。有关基于策略的权限的更多信息,请参阅 Amazon Keyspaces 基于身份的策略示例

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "cassandra:Select" ], "Resource":[ "arn:aws:cassandra:us-east-1:555555555555:/keyspace/system*" ] } ] }
  3. 向 IAM 用户授予对具有 VPC 的 Amazon EC2 实例的读取权限。

    将 Amazon Keyspaces 与 VPC 端点配合使用时,您需要向访问 Amazon Keyspaces 的 IAM 用户或角色授予对您的 Amazon EC2 实例和 VPC 的只读权限,以收集端点和网络接口数据。Amazon Keyspaces 将这一信息存储在 system.peers 表中,并使用它来管理连接。

    注意

    托管式策略 AmazonKeyspacesReadOnlyAccess_v2AmazonKeyspacesFullAccess 包含允许 Amazon Keyspaces 访问 Amazon EC2 实例以读取可用接口 VPC 端点信息所需的权限。

    1. 登录 Amazon Web Services Management Console 并打开 IAM 控制台,网址为 https://console.aws.amazon.com/iam/

    2. 在 IAM 控制台控制面板上,选择策略

    3. 选择创建策略,然后选择 JSON 选项卡。

    4. 复制以下策略并选择下一步:标签

      { "Version":"2012-10-17", "Statement":[ { "Sid":"ListVPCEndpoints", "Effect":"Allow", "Action":[ "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcEndpoints" ], "Resource": "*" } ] }
    5. 选择下一步:查看,输入策略的名称 keyspacesVPCendpoint,然后选择创建策略

    6. 在 IAM 控制台控制面板上,选择 Users (用户),然后从列表中选择您的 IAM 用户。

    7. Summary (摘要) 页上,选择 Add permissions (添加权限)

    8. 选择直接附加现有策略

    9. 从策略列表中,依次选择 keyspacesVPCendpoint下一步:查看

    10. 选择添加权限

  4. 要验证 Amazon Keyspaces system.peers 表是否更新了 VPC 信息,请从您的 Amazon EC2 实例使用 cqlsh 运行以下查询。如果步骤 2 中您没有在 Amazon EC2 实例上安装 cqlsh,请按照使用 cqlsh-expansion 连接 Amazon Keyspaces中的说明进行操作。

    SELECT peer FROM system.peers;

    输出返回带有私有 IP 地址的节点,具体取决于您所在 Amazon 地区的 VPC 和子网设置。

    peer --------------- 112.11.22.123 112.11.22.124 112.11.22.125
    注意

    您必须使用与 Amazon Keyspaces 的 cqlsh 连接来确认您的 VPC 终端节点配置正确。如果您使用本地环境或在 Amazon Web Services Management Console 中使用 Amazon Keyspaces CQL 编辑器,则连接将自动通过公有端点而不是您的 VPC 端点进行。如果您看到九个 IP 地址,则这些地址是 Amazon Keyspaces 针对公有端点连接自动写入 system.peers 表的条目。