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

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

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

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

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

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

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

  4. 添加一条入站规则,入为 CQLSH/CASSANDRA。这会将端口范围自动设置成 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控制台仪表板上,选择用户,然后从列表中选择您的IAM用户。

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

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

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

    6. 选择添加权限

  2. 确认您可以通过终端节点访问 Amazon Keyspaces。VPC

    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用户对 Amazon EC2 实例的读取权限VPC。

    当您使用带有VPC终端节点的 Amazon Keyspaces 时,您需要向访问亚马逊密钥空间的IAM用户或角色授予对您的EC2亚马逊实例的只读权限以及收集终端节点和VPC网络接口数据的权限。Amazon Keyspaces 将这一信息存储在 system.peers 表中,并使用它来管理连接。

    注意

    托管策略AmazonKeyspacesReadOnlyAccess_v2AmazonKeyspacesFullAccess包括让 Amazon Keyspaces 访问亚马逊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控制台仪表板上,选择用户,然后从列表中选择您的IAM用户。

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

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

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

    10. 选择添加权限

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

    SELECT peer FROM system.peers;

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

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

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