

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 步驟 4：設定 VPC 端點連線的許可
<a name="vpc-endpoints-tutorial.permissions"></a>

此步驟中的程序示範如何設定搭配 Amazon Keyspaces 使用 VPC 端點的規則和許可。

**設定新端點的傳入規則，以允許 TCP 傳入流量**

1. 在 Amazon VPC 主控台的左側面板中，選擇**端點**，然後選擇您在先前步驟中建立的端點。

1. 選擇**管理安全群組**，然後選擇與此端點相關聯的安全群組。

1. 選擇**傳入規則**，然後選擇**編輯傳入規則**。

1. 新增**類型**為 **CQLSH / CASSANDRA **的傳入規則。這會將**連接埠範圍**自動設定為 **9142**。

1. 若要儲存新的傳入規則，請選擇**儲存規則**。

**設定 IAM 使用者許可**

1. 確認用於連線至 Amazon Keyspaces 的 IAM 使用者具有適當的許可。在 AWS Identity and Access Management (IAM) 中，您可以使用 AWS 受管政策`AmazonKeyspacesReadOnlyAccess`授予 IAM 使用者對 Amazon Keyspaces 的讀取存取權。

   1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 的 IAM 主控台。

   1. 在 IAM 主控台儀表板上，選擇 **Users** (使用者)，然後從清單中選擇 IAM 使用者。

   1. 在 **Summary** (摘要) 頁面上，選擇 **Add permissions** (新增許可)。

   1. 選擇 **Attach existing policies directly** (直接連接現有政策)。

   1. 從政策清單中，選擇 **AmazonKeyspacesReadOnlyAccess**，然後選擇**下一步：檢閱**。

   1. 選擇**新增許可**。

1. 確認您可以透過 VPC 端點存取 Amazon Keyspaces。

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

   如果需要，您可以為 Amazon Keyspaces 嘗試其他一些 AWS CLI 命令。如需詳細資訊，請參閱 [AWS CLI 命令參考](https://docs.aws.amazon.com/cli/latest/reference/)。
**注意**  
IAM 使用者或角色存取 Amazon Keyspaces 所需的最低許可是系統資料表的讀取許可，如下列政策所示。如需政策型許可的詳細資訊，請參閱 [Amazon Keyspaces 身分型政策範例](security_iam_id-based-policy-examples.md)。

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Action":[
               "cassandra:Select"
            ],
            "Resource":[
               "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*"
            ]
         }
      ]
   }
   ```

1. 使用 VPC 授予 IAM 使用者對 Amazon EC2 執行個體的讀取存取權。

   當您搭配 VPC 端點使用 Amazon Keyspaces 時，您需要將存取 Amazon Keyspaces *唯讀許可的 IAM 使用者或角色授予 Amazon EC2 執行個體和 VPC，以收集端點和網路介面資料*。Amazon Keyspaces 會將此資訊存放在`system.peers`資料表中，並使用它來管理連線。
**注意**  
受管政策`AmazonKeyspacesReadOnlyAccess_v2`並`AmazonKeyspacesFullAccess`包含必要許可，讓 Amazon Keyspaces 存取 Amazon EC2 執行個體，以讀取可用介面 VPC 端點的相關資訊。

   1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

   1. 在 IAM 主控台儀表板上，選擇**政策**。

   1. 選擇**建立政策**，然後選擇 **JSON** 標籤。

   1. 複製下列政策，然後選擇**下一步：標籤**。

      ```
      {
         "Version":"2012-10-17",		 	 	 
         "Statement":[
            {
               "Sid":"ListVPCEndpoints",
               "Effect":"Allow",
               "Action":[
                  "ec2:DescribeNetworkInterfaces",
                  "ec2:DescribeVpcEndpoints"
               ],
               "Resource": "*"
            }
         ]
      }
      ```

   1. 選擇**下一步：檢閱**，輸入`keyspacesVPCendpoint`政策的名稱，然後選擇**建立政策**。

   1. 在 IAM 主控台儀表板上，選擇 **Users** (使用者)，然後從清單中選擇 IAM 使用者。

   1. 在 **Summary** (摘要) 頁面上，選擇 **Add permissions** (新增許可)。

   1. 選擇 **Attach existing policies directly** (直接連接現有政策)。

   1. 從政策清單中，選擇 **keyspacesVPCendpoint**，然後選擇**下一步：檢閱**。

   1. 選擇**新增許可**。

1. 若要驗證 Amazon Keyspaces `system.peers`資料表是否使用 VPC 資訊更新，請使用 從您的 Amazon EC2 執行個體執行下列查詢`cqlsh`。如果您在步驟 2 中尚未在 Amazon EC2 執行個體`cqlsh`上安裝 ，請遵循 中的指示[使用 `cqlsh-expansion` 連線至 Amazon Keyspaces](programmatic.cqlsh.md#using_cqlsh)。

   ```
   SELECT * FROM system.peers;
   ```

   輸出會傳回具有私有 IPv6 IP 地址的節點，視您區域中的 VPC 和子網路設定而定 AWS 。

   ```
    peer                                    | data_center | host_id                              | preferred_ip                            | rack      | release_version | rpc_address                             | schema_version                       | tokens
   -----------------------------------------+-------------+--------------------------------------+-----------------------------------------+-----------+-----------------+-----------------------------------------+--------------------------------------+---------------------------------------------
     2600:1111:2222:3333:283b:8e6:d04f      |   us-east-1 | dddddddd-7a22-3582-a73d-49338a686a53 |  2600:1111:2222:3333:283b:8e6:d04f      | us-east-1 |          3.11.2 |  2600:1111:2222:3333:283b:8e6:d04f      | 05deae2d-6405-494d-a965-c0e5836bcb3c |  {'85070591730234615865843651857942052863'}
    2600:1111:2222:4444:7d26:5a09:1b44      |   us-east-1 | 66666666-035d-37ef-a247-19a6a867ab09 | 2600:1111:2222:4444:7d26:5a09:1b44      | us-east-1 |          3.11.2 | 2600:1111:2222:4444:7d26:5a09:1b44      | 05deae2d-6405-494d-a965-c0e5836bcb3c | {'170141183460469231731687303715884105726'}
   ```
**注意**  
您必須使用 Amazon Keyspaces 的`cqlsh`連線，以確認您的 VPC 端點已正確設定。如果您使用本機環境或 中的 Amazon Keyspaces CQL 編輯器 AWS 管理主控台，連線會自動通過公有端點，而不是您的 VPC 端點。如果您看到九個 IP 地址，這些是 Amazon Keyspaces 自動寫入`system.peers`資料表以進行公有端點連線的項目。