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

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

步骤 4:配置 VPC 终端节点连接的权限

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

为新终端节点配置入站规则以允许 TCP 入站流量
  1. 在亚马逊 VPC 控制台的左侧面板上,选择端点然后选择创建的终端节点。

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

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

  4. 使用入站规则类型如同自定义 TCP。对于端口范围,输入9142

  5. 要保存新的入站规则,请选择保存规则

配置 IAM 用户权限
  1. 确认用于连接 Amazon Keyspaces 的 IAM 用户是否具有相应的权限。在Amazon Identity and Access Management(IAM),你可以使用Amazon托管策略AmazonKeyspacesReadOnlyAccess授予 IAM 用户对 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. 从策略列表中,选择 Create(创建)AmazonKeyspacesReadOnlyAccess然后执行以下操作:下一页:

    6. 选择 Add permissions(添加权限)。

  2. 验证您是否可以通过 VPC 终端节点访问Amazon Keyata(创建)。

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

    如果你愿意,你可以尝试其他Amazon CLIAmazon Keata(创建)。有关更多信息,请参阅 Amazon CLI 命令参考

    注意

    IAM 用户或角色访问 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 实例的读取权限。

    在您使用 VPC 终端节点,因此您需要向可访问 Amazon Keyspaces 终端节点,因此您需要向可继续为其创建 Amazon Keyspaces 终端节点对您的 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 控制台控制台,选择 Create(政策

    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. 从策略列表中,选择 Create(创建)keyspacesvcendPoint然后执行以下操作:下一页:

    10. 选择 Add permissions(添加权限)。

  4. 验证 Amazon Keyspacessystem.peers表正在使用 VPC 信息进行更新,因此请使用在您的 Amazon EC2 实例中运行以下查询cqlsh。如果你还没有安装cqlsh在步骤 2 中您的 Amazon EC2 实例上,按照中的说明进行操作使用cqlsh-expansion连接亚马逊 Keyspaces

    SELECT peer FROM system.peers;

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

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

    您应当执行以下操作:cqlsh连接到 Amazon Keyspaces 以确认您的 VPC 终端节点配置正确。如果您使用本地环境或中的 Amazon Keyspaces CQL 编辑器Amazon Web Services Management Console,则连接会自动通过公有终端节点而不是您的 VPC 终端节点。如果您看到九个 IP 地址,则这些是 Amazon Keyspaces 自动写入的条目system.peers公共端点连接表。