

 **協助改進此頁面** 

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

若要為本使用者指南貢獻內容，請點選每個頁面右側面板中的**在 GitHub 上編輯此頁面**連結。

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

# 在 中檢視 Kubernetes 資源 AWS 管理主控台
<a name="view-kubernetes-resources"></a>

您可以檢視部署至使用 AWS 管理主控台的叢集的 Kubernetes 資源。您無法使用 CLI AWS 或 [eksctl](https://eksctl.io/) 檢視 Kubernetes 資源。若要使用命令列工具檢視 Kubernetes 資源，請使用 [kubectl](install-kubectl.md)。

**注意**  
若要在 的**運算**索引標籤上檢視**資源**索引標籤和**節點**區段 AWS 管理主控台，您使用的 [IAM 主體](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal)必須具有特定的 IAM 和 Kubernetes 許可。如需詳細資訊，請參閱[所需的許可](#view-kubernetes-resources-permissions)。

1. 開啟 [Amazon EKS 主控台](https://console.aws.amazon.com/eks/home#/clusters)。

1. 在 **Clusters** (叢集) 清單中，選取包含您要檢視的 Kubernetes 資源的叢集。

1. 選取 **Resources (資源)** 標籤。

1. 選取您要檢視資源的 **Resource Type** (資源類型) 群組，例如 **Workloads** (工作負載)。您可以看到該群組中的資源類型清單。

1. 選取資源類型，例如 **Workloads** (工作負載) 群組中的 **Deployments** (部署)。您可以看到資源類型的說明、一個 Kubernetes 文件連結以獲取有關資源類型的詳細資訊，以及部署在叢集上的該類型的資源列表。如果清單是空的，則不會將該類型的資源部署至您的叢集。

1. 請選取資源以檢視其詳細資訊。請試試看下列範例：
   + 選取 **Workloads** (工作負載) 群組，選取 **Deployments** (部署) 資源類型，然後選取 **coredns** 資源。當您選取資源時，依預設，您位於 **Structured view** (結構式檢視)。針對某些資源類型，您會在 **Structured view** (結構式檢視) 看到 **Pods** 區段。本區段列出由工作負載管理的 Pod。您可以選取任何列出的 Pod 來檢視關於 Pod 的資訊。並非所有資源類型都顯示於 **Structured View** (結構式檢視)。如果選擇資源頁面右上角的 **Raw view** (Raw 檢視)，您可以看到來自資源 Kubernetes API 的完整 JSON 回應。
   + 選取 **Cluster** (叢集) 群組，然後選取 **Nodes** (節點) 資源類型。您將看到叢集中所有節點的清單。節點可以是任何 [Amazon EKS 節點類型](eks-compute.md)。這個列表與您選取叢集的 **Compute** (運算) 標籤時，在 **Nodes** (節點)看到的列表為同一列表。從清單中選取節點資源。在 **Structured view** (結構式檢視) 中，您還會看到 **Pods** 區段。本區段顯示在節點上運行的所有 Pod。

## 所需的許可
<a name="view-kubernetes-resources-permissions"></a>

若要在 的**運算**索引標籤上檢視**資源**索引標籤和**節點**區段 AWS 管理主控台，您使用的 [IAM 主體](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal)必須具有特定的最低 IAM 和 Kubernetes 許可。您必須正確設定 IAM 和 Kubernetes RBAC 許可。完成以下步驟，將所需的許可指派給您的 IAM 主體。

1. 請確保將 `eks:AccessKubernetesApi` 和檢視 Kubernetes 資源所需的其他必要 IAM 許可指派給您正在使用的 IAM 主體。如需如何編輯 IAM 主體許可的詳細資訊，請參閱《IAM 使用者指南》中的[控制對主體的存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html#access_controlling-principals)。如需如何編輯角色許可的詳細資訊，請參閱《IAM 使用者指南》中的[變更角色許可 (主控台)](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-modify_permissions-policy)。

   以下範例政策包含主體欲檢視帳戶中所有叢集的 Kubernetes 資源所需必要許可。將 {{111122223333}} 取代為 AWS 您的帳戶 ID。

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "eks:ListFargateProfiles",
                   "eks:DescribeNodegroup",
                   "eks:ListNodegroups",
                   "eks:ListUpdates",
                   "eks:AccessKubernetesApi",
                   "eks:ListAddons",
                   "eks:DescribeCluster",
                   "eks:DescribeAddonVersions",
                   "eks:ListClusters",
                   "eks:ListIdentityProviderConfigs",
                   "iam:ListRoles"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": "ssm:GetParameter",
               "Resource": "arn:aws:ssm:*:111122223333:parameter/*"
           }
       ]
   }
   ```

   若要檢視[已連線叢集](eks-connector.md)中的節點，[Amazon EKS connector IAM 角色](connector-iam-role.md)應能模擬叢集中的主體。這可讓 [Amazon EKS Connector](eks-connector.md) 將主體映射至 Kubernetes 使用者。

1. 使用 EKS 存取項目設定 Kubernetes RBAC 許可。

    **什麼是 EKS 存取項目？** 

   EKS 存取項目是授予 IAM 主體 （使用者和角色） 存取 Kubernetes 叢集的簡化方式。存取項目不會手動管理 Kubernetes RBAC 資源和 `aws-auth` ConfigMap，而是使用 提供的受管政策自動處理 IAM 和 Kubernetes 許可之間的映射 AWS。如需存取項目的詳細資訊，請參閱 [使用 EKS 存取項目授予 IAM 使用者 Kubernetes 的存取權](access-entries.md)。如需可用存取政策及其許可的相關資訊，請參閱[存取政策許可](https://docs.aws.amazon.com/eks/latest/userguide/access-policy-permissions.html)。

   您可透過兩種方式將 Kubernetes 許可附加至存取項目：
   +  **使用存取政策：**存取政策是由 維護的預先定義 Kubernetes 許可範本 AWS。這些提供常見使用案例的標準化許可集。
   +  **參考 Kubernetes 群組：**如果您將 IAM 身分與 Kubernetes 群組建立關聯，您可以建立授予群組許可的 Kubernetes 資源。如需詳細資訊，請參閱 Kubernetes 文件中的[使用 RBAC 授權](https://kubernetes.io/docs/reference/access-authn-authz/rbac/)。

     1. 使用 CLI 為您的 IAM AWS 主體建立存取項目。使用您叢集的名稱取代 {{my-cluster}}。使用您的帳戶 ID 取代 {{111122223333}}。

        ```
        aws eks create-access-entry \
            --cluster-name my-cluster \
            --principal-arn arn:aws: iam::111122223333:role/my-console-viewer-role
        ```

        範例輸出如下。

        ```
        {
            "accessEntry": {
                "clusterName": "my-cluster",
                "principalArn": "arn:aws: iam::111122223333:role/my-console-viewer-role",
                "kubernetesGroups": [],
                "accessEntryArn": "arn:aws: eks:region-code:111122223333:access-entry/my-cluster/role/111122223333/my-console-viewer-role/abc12345-1234-1234-1234-123456789012",
                "createdAt": "2024-03-15T10:30:45.123000-07:00",
                "modifiedAt": "2024-03-15T10:30:45.123000-07:00",
                "tags": {},
                "username": "arn:aws: iam::111122223333:role/my-console-viewer-role",
                "type": "STANDARD"
            }
        }
        ```

     1. 將政策與存取項目建立關聯。若要檢視 Kubernetes 資源，請使用 `AmazonEKSViewPolicy`：

        ```
        aws eks associate-access-policy \
            --cluster-name my-cluster \
            --principal-arn arn:aws: iam::111122223333:role/my-console-viewer-role \
            --policy-arn arn:aws: eks::aws:cluster-access-policy/AmazonEKSViewPolicy \
            --access-scope type=cluster
        ```

        範例輸出如下。

        ```
        {
            "clusterName": "my-cluster",
            "principalArn": "arn:aws: iam::111122223333:role/my-console-viewer-role",
            "associatedAt": "2024-03-15T10:31:15.456000-07:00"
        }
        ```

        對於命名空間特定的存取，您可以將政策範圍限定為特定命名空間：

        ```
        aws eks associate-access-policy \
            --cluster-name my-cluster \
            --principal-arn arn:aws: iam::111122223333:role/my-console-viewer-role \
            --policy-arn arn:aws: eks::aws:cluster-access-policy/AmazonEKSViewPolicy \
            --access-scope type=namespace,namespaces=default,kube-system
        ```

     1. 確認已成功建立存取項目：

        ```
        aws eks describe-access-entry \
            --cluster-name my-cluster \
            --principal-arn arn:aws: iam::111122223333:role/my-console-viewer-role
        ```

     1. 列出相關聯的政策以確認政策關聯：

        ```
        aws eks list-associated-access-policies \
            --cluster-name my-cluster \
            --principal-arn arn:aws: iam::111122223333:role/my-console-viewer-role
        ```

        範例輸出如下。

        ```
        {
            "associatedAccessPolicies": [
                {
                    "policyArn": "arn:aws: eks::aws:cluster-access-policy/AmazonEKSViewPolicy",
                    "accessScope": {
                        "type": "cluster"
                    },
                    "associatedAt": "2024-03-15T10:31:15.456000-07:00",
                    "modifiedAt": "2024-03-15T10:31:15.456000-07:00"
                }
            ]
        }
        ```

## CloudTrail 可見性
<a name="cloudtrail-visibility"></a>

檢視 Kubernetes 資源時，您會在 CloudTrail 日誌中看到下列操作名稱：
+  `AccessKubernetesApi` - 讀取或檢視資源時

此 CloudTrail 事件提供對 Kubernetes 資源讀取存取權的稽核線索。

**注意**  
此操作名稱會出現在 CloudTrail 日誌中，僅供稽核之用。它不是 IAM 動作，無法在 IAM 政策陳述式中使用。若要透過 IAM 政策控制 Kubernetes 資源的讀取存取權，請使用 `eks:AccessKubernetesApi`許可，如 [所需的許可](#view-kubernetes-resources-permissions)一節所示。