準備混合節點的登入資料 - Amazon EKS

協助改善此頁面

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

想要為此使用者指南做出貢獻? 捲動至此頁面底部,然後選取編輯此頁面 GitHub。您的貢獻將幫助我們的使用者指南更適合每個人。

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

準備混合節點的登入資料

Amazon EKS Hybrid Nodes 使用混合 AWS SSM式啟用或 AWS IAM Roles Anywhere 佈建的臨時IAM登入資料來驗證 Amazon EKS叢集。您必須搭配 Amazon 混合節點 CLI() 使用 AWS SSMEKS混合式啟用或 AWS IAM Roles Anywherenodeadm。您不應該同時使用 AWS SSM混合啟用和 AWS IAM Roles Anywhere。如果您沒有具有憑證授權單位 (CAPKI) 的現有公有金鑰基礎設施 () 和內部部署環境的憑證,建議您使用 AWS SSM混合式啟用。如果您確實有現有的 PKI和 現場部署憑證,請使用 AWS IAM Roles Anywhere。

混合節點IAM角色

在將混合節點連接到 Amazon EKS叢集之前,您必須建立 IAM角色,以用於 AWS SSM混合節點登入資料中的混合啟用或 AWS IAM Roles Anywhere。建立叢集後,您將使用此角色搭配 Amazon EKS存取項目,aws-auth ConfigMap 將IAM角色映射至 Kubernetes 角色型存取控制 (RBAC)。如需將混合節點IAM角色與 Kubernetes 建立關聯的詳細資訊RBAC,請參閱 準備混合節點的叢集存取

混合節點IAM角色必須具有下列許可。

  • nodeadm 使用 eks:DescribeCluster動作來收集用於將混合節點連接到叢集之叢集相關資訊的許可。如果您未啟用 eks:DescribeCluster動作,則必須在執行nodeadm初始化nodeadm時所傳遞的節點組態IPv4CIDR中,傳遞 Kubernetes API端點、叢集 CA 套件和服務。

  • kubelet 使用 Amazon Elastic Container Registry (Amazon ECR) 中容器映像的許可,如 AmazonEC2ContainerRegistryPullOnly 政策所定義。

  • 如果使用 AWS SSM,則nodeadm初始化使用 AWS SSM混合啟用的許可,如 aws-managed-policy/.latest/reference/AmazonSSMManagedInstanceCorehtml 政策所定義。

  • 如果使用 AWS SSM,則使用 ssm:DeregisterManagedInstance動作和 ssm:DescribeInstanceInformation動作nodeadm uninstall取消註冊執行個體的許可。

  • (選用) Amazon EKS Pod Identity Agent 使用 eks-auth:AssumeRoleForPodIdentity動作擷取 Pod 登入資料的許可。

設定 AWS SSM混合啟用

在設定 AWS SSM混合啟用之前,您必須建立並設定混合節點IAM角色。如需詳細資訊,請參閱建立混合節點IAM角色。遵循 Systems Manager 使用者指南中的建立混合啟用中的指示,向 Systems Manager 註冊節點,為您的混合節點建立 AWS SSM混合啟用。 AWS 當您向 Amazon EKS叢集將主機註冊為混合節點nodeadm時,您接收的啟用碼和 ID 會與 搭配使用。您可以在建立並準備混合節點的 Amazon EKS叢集之後,稍後再返回此步驟。

重要

Systems Manager 會立即將啟用代碼和 ID 傳回主控台或命令視窗,視您如何建立啟用而定。複製此資訊,並將其存放在安全的地方。如果您離開主控台或關閉命令視窗,您可能會遺失此資訊。如果您遺失此資訊,您必須建立新的啟用。

根據預設, AWS SSM混合啟用會處於作用中狀態 24 小時。您也可以在建立時間戳記格式的混合啟用--expiration-date時指定 ,例如 2024-08-01T00:00:00。當您使用 AWS SSM 做為登入資料提供者時,混合節點的節點名稱無法設定,且由 自動產生 AWS SSM。您可以在 AWS Systems Manager 主控台的 AWS SSM Fleet Manager 下檢視和管理受管執行個體。每個 AWS 區域每個帳戶最多可註冊 1,000 個標準混合啟用節點,無需額外費用。不過,登錄超過 1,000 個混合節點需要啟用進階執行個體層。使用 Amazon EKS Hybrid Nodes 定價中未包含的進階執行個體方案需要付費。如需詳細資訊,請參閱 AWS Systems Manager 定價

請參閱以下範例,了解如何使用混合節點IAM角色建立 AWS SSM混合啟用。當您針對混合節點登入資料使用 AWS SSM混合啟用時,混合節點的名稱將具有 格式,mi-012345678abcdefgh而 AWS SSM佈建的臨時登入資料有效期為 1 小時。使用 AWS SSM 做為登入資料提供者時,您無法變更節點名稱或登入資料持續時間。臨時登入資料會自動由 AWS SSM 輪換,輪換不會影響節點或應用程式的狀態。

建議每個EKS叢集使用一個 AWS SSM混合啟用,以限制 AWS SSM混合節點IAM角色的ssm:DeregisterManagedInstance許可,使其只能取消註冊與您的 AWS SSM混合啟用相關聯的執行個體。在此頁面上的範例中,ARN會使用具有 EKS 叢集的標籤,可用來將 AWS SSM混合式啟用對應至EKS叢集。或者,您可以根據您的許可界限和要求, AWS SSM使用您偏好的標籤和方法來定義許可範圍。以下命令中的 REGISTRATION_LIMIT選項是用來限制可使用混合啟用之機器數量的 AWS SSM整數 (例如 10)

aws ssm create-activation \ --region AWS_REGION \ --default-instance-name eks-hybrid-nodes \ --description "Activation for EKS hybrid nodes" \ --iam-role AmazonEKSHybridNodesRole \ --tags Key=EKSClusterARN,Value=arn:aws:eks:AWS_REGION:AWS_ACCOUNT_ID:cluster/CLUSTER_NAME \ --registration-limit REGISTRATION_LIMIT

如需混合啟用可用組態設定的詳細資訊,請參閱建立混合啟用以向 Systems Manager 註冊節點的說明。 AWS SSM

隨處設定 AWS IAM角色

遵循 IAM Roles Anywhere 使用者指南中的 Roles Anywhere 入門中的指示,設定您要用於混合節點IAM角色臨時IAM登入資料的信任錨點和設定檔。 IAM建立設定檔時,您可以建立設定檔,而無需新增任何角色。您可以建立此設定檔,返回這些步驟來建立混合節點IAM角色,然後在建立角色之後將角色新增至您的設定檔。或者,您可以使用此頁面稍後 AWS CloudFormation 的步驟來完成混合節點的 IAM Roles Anywhere 設定。

當您將混合節點IAM角色新增至設定檔時,請在 Roles Anywhere 主控台的編輯設定檔頁面底部的自訂角色工作階段名稱面板中選取 AWS IAM接受自訂角色工作階段名稱。這相當於 CreateProfile acceptRoleSession的名稱欄位API。這可讓您在引導程序nodeadm期間傳遞至 的組態中,為混合節點提供自訂節點名稱。在nodeadm init程序期間傳遞自訂節點名稱是必要的。您可以在建立設定檔之後,更新您的設定檔以接受自訂角色工作階段名稱。

您可以透過 Roles Anywhere 設定檔durationSeconds的 AWS IAM 欄位,使用 AWS IAM Roles Anywhere 設定登入資料有效性持續時間。預設持續時間為 1 小時,最多 12 小時。混合節點IAM角色上的MaxSessionDuration設定必須大於 Roles Anywhere 設定檔上的durationSeconds AWS IAM設定。如需 的詳細資訊MaxSessionDuration,請參閱 UpdateRole API 文件

您從憑證授權機構 (CA) 產生的每個機器憑證和金鑰,必須放置在每個混合節點的/etc/iam/pki目錄中,並具有憑證和server.key金鑰server.pem的檔案名稱。

建立混合節點IAM角色

若要執行本節中的步驟,IAM主體必須使用 AWS 主控台或 AWS CLI 必須具有下列許可。

  • iam:CreatePolicy

  • iam:CreateRole

  • iam:AttachRolePolicy

  • 如果使用 AWS IAM Roles Anywhere

    • rolesanywhere:CreateTrustAnchor

    • rolesanywhere:CreateProfile

    • iam:PassRole

AWS CloudFormation

如果您尚未安裝並設定 AWS CLI。請參閱安裝或更新至最新版本的 AWS CLI

混合啟用的步驟 AWS SSM

CloudFormation 堆疊會建立具有上述許可的混合節點IAM角色。 CloudFormation 範本不會建立 AWS SSM混合啟用。

  1. 下載混合節點的 AWS SSM CloudFormation 範本:

    curl -OL 'https://raw.githubusercontent.com/aws/eks-hybrid/refs/heads/main/example/hybrid-ssm-cfn.yaml'
  2. cfn-ssm-parameters.json 使用下列選項建立 :

    1. ROLE_NAME 將 取代為混合節點IAM角色的名稱。根據預設,如果您未指定名稱, CloudFormation 範本會使用 AmazonEKSHybridNodesRole 做為其建立的角色名稱。

    2. TAG_KEY 將 AWS SSM 取代為您建立 AWS SSM混合啟用時使用的資源標籤金鑰。標籤索引鍵和標籤值的組合用於 的條件ssm:DeregisterManagedInstance,只允許混合節點IAM角色取消註冊 AWS SSM與您 AWS SSM混合啟用相關聯的受管執行個體。在 CloudFormation 範本中, TAG_KEY預設為 EKSClusterARN

    3. TAG_VALUE 將 AWS SSM取代為您建立 AWS SSM混合啟用時使用的資源標籤值。標籤索引鍵和標籤值的組合用於 的條件ssm:DeregisterManagedInstance,只允許混合節點IAM角色取消註冊 AWS SSM與您 AWS SSM混合啟用相關聯的受管執行個體。如果您使用的是預設TAG_KEYEKSClusterARN,請將叢集ARN做為 傳遞TAG_VALUE。 EKS EKS叢集的格式ARNs為 arn:aws:eks:AWS_REGION:AWS_ACCOUNT_ID:cluster/CLUSTER_NAME

      { "Parameters": { "RoleName": "ROLE_NAME", "SSMDeregisterConditionTagKey": "TAG_KEY", "SSMDeregisterConditionTagValue": "TAG_VALUE" } }
  3. 部署 CloudFormation 堆疊。STACK_NAME 將 取代為 CloudFormation 堆疊的名稱。

    aws cloudformation deploy \ --stack-name STACK_NAME \ --template-file hybrid-ssm-cfn.yaml \ --parameter-overrides file://cfn-ssm-parameters.json \ --capabilities CAPABILITY_NAMED_IAM

Roles Anywhere AWS IAM的步驟

CloudFormation 堆疊會使用您設定的憑證授權機構 (CA) 建立 AWS IAM Roles Anywhere 信任錨點、建立 AWS IAM Roles Anywhere 設定檔,以及使用先前概述的許可建立混合節點IAM角色。

  1. 設定憑證授權機構 (CA)

    1. 若要使用 AWS 私有 CA 資源,請開啟AWS 私有憑證授權單位主控台。請遵循 AWS Private CA 使用者指南中的指示。

    2. 若要使用外部 CA,請遵循 CA 提供的指示。您將在後續步驟中提供憑證內文。

    3. 從公有發行的憑證CAs不能用作信任錨點。

  2. 下載 AWS IAM混合節點的 Roles Anywhere CloudFormation 範本

    curl -OL 'https://raw.githubusercontent.com/aws/eks-hybrid/refs/heads/main/example/hybrid-ira-cfn.yaml'
  3. cfn-iamra-parameters.json 使用下列選項建立 :

    1. ROLE_NAME 將 取代為混合節點IAM角色的名稱。根據預設,如果您未指定名稱, CloudFormation 範本會使用 AmazonEKSHybridNodesRole 做為其建立的角色名稱。

    2. CERT_ATTRIBUTE 以唯一識別您主機的每部機器憑證屬性取代 。當您將混合節點連接到叢集時 nodeName ,您使用的憑證屬性必須符合您用於nodeadm組態的 。如需詳細資訊,請參閱 混合節點節點廣告參考。根據預設, CloudFormation 範本會使用 ${aws:PrincipalTag/x509Subject/CN}做為 CERT_ATTRIBUTE,其對應至每個機器憑證的 CN 欄位。或者,您可以將 $(aws:PrincipalTag/x509SAN/Name/CN} 做為 傳遞CERT_ATTRIBUTE

    3. CA_CERT_BODY 將 取代為您 CA 的憑證內文,無需換行。CA_CERT_BODY 必須是隱私權增強郵件 (PEM) 格式。如果您有PEM格式的 CA 憑證,請先移除換行和ENDCERTIFICATE換行BEGINCERTIFICATE,再將 CA 憑證內文放入 cfn-iamra-parameters.json 檔案。

      { "Parameters": { "RoleName": "ROLE_NAME", "CertAttributeTrustPolicy": "CERT_ATTRIBUTE", "CABundleCert": "CA_CERT_BODY" } }
  4. 部署 CloudFormation 範本。STACK_NAME 將 取代為 CloudFormation 堆疊的名稱。

    aws cloudformation deploy \ --stack-name STACK_NAME \ --template-file hybrid-ira-cfn.yaml \ --parameter-overrides file://cfn-iamra-parameters.json --capabilities CAPABILITY_NAMED_IAM

AWS CLI

如果您尚未安裝並設定 AWS CLI。請參閱安裝或更新至最新版本的 AWS CLI

建立EKS描述叢集政策

  1. 使用下列內容建立名為 eks-describe-cluster-policy.json 的檔案:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:DescribeCluster" ], "Resource": "*" } ] }
  2. 使用下列命令建立政策:

    aws iam create-policy \ --policy-name EKSDescribeClusterPolicy \ --policy-document file://eks-describe-cluster-policy.json

混合啟用的步驟 AWS SSM

  1. 使用下列內容建立名為 eks-hybrid-ssm-policy.json 的檔案。政策會授予兩個動作 ssm:DescribeInstanceInformation和 的許可ssm:DeregisterManagedInstance。此政策會根據您在 AWS SSM信任政策中指定的資源標籤,將ssm:DeregisterManagedInstance許可限制為 AWS SSM與混合啟用相關聯的受管執行個體。

    1. AWS_REGION 將 取代為 AWS AWS SSM區域以進行混合啟用。

    2. 將 取代AWS_ACCOUNT_ID為 AWS 您的帳戶 ID。

    3. TAG_KEY 以 AWS SSM您在建立 AWS SSM混合啟用時使用的資源標籤金鑰取代 。標籤索引鍵和標籤值的組合用於 的條件ssm:DeregisterManagedInstance,只允許混合節點IAM角色取消註冊 AWS SSM與您的 AWS SSM混合啟用相關聯的受管執行個體。在 CloudFormation 範本中, TAG_KEY預設為 EKSClusterARN

    4. TAG_VALUE 將 AWS SSM 取代為您建立 AWS SSM混合啟用時使用的資源標籤值。標籤索引鍵和標籤值的組合用於 的條件ssm:DeregisterManagedInstance,只允許混合節點IAM角色取消註冊 AWS SSM與您的 AWS SSM混合啟用相關聯的受管執行個體。如果您使用的是預設TAG_KEYEKSClusterARN,請將叢集ARN做為 傳遞TAG_VALUE。 EKS EKS叢集的格式ARNs為 arn:aws:eks:AWS_REGION:AWS_ACCOUNT_ID:cluster/CLUSTER_NAME

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:DescribeInstanceInformation", "Resource": "" }, { "Effect": "Allow", "Action": "ssm:DeregisterManagedInstance", "Resource": "arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:managed-instance/", "Condition": { "StringEquals": { "ssm:resourceTag/TAG_KEY": "TAG_VALUE" } } } ] }
  2. 使用下列命令建立政策

    aws iam create-policy \ --policy-name EKSHybridSSMPolicy \ --policy-document file://eks-hybrid-ssm-policy.json
  3. 建立名為 eks-hybrid-ssm-trust.json 的檔案。AWS_REGION 將 取代為 AWS SSM混合啟用 AWS 的區域,並將 AWS_ACCOUNT_ID取代為 AWS 您的帳戶 ID。

    { "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"AWS_ACCOUNT_ID" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:*" } } } ] }
  4. 使用下列命令建立角色。

    aws iam create-role \ --role-name AmazonEKSHybridNodesRole \ --assume-role-policy-document file://eks-hybrid-ssm-trust.json
  5. 連接EKSHybridSSMPolicy您在先前步驟中建立的 EKSDescribeClusterPolicy和 。將 取代AWS_ACCOUNT_ID為 AWS 您的帳戶 ID。

    aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::AWS_ACCOUNT_ID:policy/EKSDescribeClusterPolicy
    aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::AWS_ACCOUNT_ID:policy/EKSHybridSSMPolicy
  6. 連接 AmazonEC2ContainerRegistryPullOnlyAmazonSSMManagedInstanceCore AWS 受管政策。

    aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly
    aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore

AWS IAMRoles Anywhere 的步驟

若要使用 AWS IAM Roles Anywhere,您必須先設定 AWS IAM Roles Anywhere 信任錨點,才能建立混合節點IAM角色。如需說明,請參閱 隨處設定 AWS IAM角色

  1. 建立名為 eks-hybrid-iamra-trust.json 的檔案。TRUST_ANCHOR ARN 將 取代為您在隨處設定 AWS IAM角色步驟中建立ARN的信任錨的 。此信任政策中的條件限制 Roles Anywhere 擔任混合節點IAM角色的能力 AWS IAM,只有在角色工作階段名稱符合安裝在混合節點上的 x509 憑證中的 CN 時,才能交換臨時IAM憑證。或者,您可以使用其他憑證屬性來唯一識別節點。您在信任政策中使用的憑證屬性必須對應nodeName至您在nodeadm組態中設定的 。如需詳細資訊,請參閱 混合節點節點廣告參考

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": [ "sts:TagSession", "sts:SetSourceIdentity" ], "Condition": { "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } }, { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}" }, "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } } ] }
  2. 使用下列命令建立角色。

    aws iam create-role \ --role-name AmazonEKSHybridNodesRole \ --assume-role-policy-document file://eks-hybrid-iamra-trust.json
  3. 連接EKSDescribeClusterPolicy您在先前步驟中建立的 。將 取代AWS_ACCOUNT_ID為 AWS 您的帳戶 ID。

    aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::AWS_ACCOUNT_ID:policy/EKSDescribeClusterPolicy
  4. 連接 AmazonEC2ContainerRegistryPullOnly AWS 受管政策

    aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly

AWS 管理主控台

建立EKS描述叢集政策

  1. 開啟 Amazon IAM主控台

  2. 在左側導覽窗格中選擇 Policies (政策)。

  3. 政策頁面上,選擇建立政策

  4. 在指定許可頁面的選取服務面板中,選擇 EKS。

    1. 篩選 的動作DescribeCluster,然後選取DescribeCluster讀取動作。

    2. 選擇 Next (下一步)

  5. 檢閱和建立頁面上

    1. 輸入政策的政策名稱,例如 EKSDescribeClusterPolicy

    2. 選擇 建立政策

混合啟用的步驟 AWS SSM

  1. 開啟 Amazon IAM主控台

  2. 在左側導覽窗格中選擇 Policies (政策)。

  3. 政策頁面上,選擇建立政策

  4. 指定許可頁面上,於右上角的政策編輯器導覽中,選擇 JSON。貼上下列程式碼片段。AWS_REGION 將 取代為混合啟用 AWS 的區域 AWS SSM,並將 取代AWS_ACCOUNT_ID為 AWS 您的帳戶 ID。TAG_VALUETAG_KEY AWS SSM和 取代為您建立 AWS SSM混合啟用時使用的資源標籤金鑰。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:DescribeInstanceInformation", "Resource": "" }, { "Effect": "Allow", "Action": "ssm:DeregisterManagedInstance", "Resource": "arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:managed-instance/", "Condition": { "StringEquals": { "ssm:resourceTag/TAG_KEY": "TAG_VALUE" } } } ] }
    1. 選擇 Next (下一步)

  5. 檢閱和建立頁面上。

    1. 輸入政策的政策名稱,例如 EKSHybridSSMPolicy

    2. 選擇 Create Policy (建立政策)。

  6. 在左側導覽窗格中,選擇 Roles (角色)。

  7. Roles (角色) 頁面上,選擇 Create role (建立角色)。

  8. Select trusted entity (選取信任的實體) 頁面上,執行以下作業:

    1. 信任的實體類型區段中,選擇自訂信任政策。將下列項目貼到自訂信任政策編輯器。AWS_REGION 將 取代為 AWS SSM混合啟用 AWS 的區域,並將 AWS_ACCOUNT_ID取代為 AWS 您的帳戶 ID。

      { "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"AWS_ACCOUNT_ID" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:*" } } } ] }
    2. 選擇 Next (下一步)

  9. 新增許可頁面上,連接自訂政策或執行下列動作:

    1. 篩選政策方塊中,輸入 EKSDescribeClusterPolicy或您在上方建立的政策名稱。選取搜尋結果中政策名稱左側的核取方塊。

    2. 篩選政策方塊中,輸入 EKSHybridSSMPolicy或您在上方建立的政策名稱。選取搜尋結果中政策名稱左側的核取方塊。

    3. Filter policies (篩選政策) 方塊中,輸入 AmazonEC2ContainerRegistryPullOnly。選取搜尋結果AmazonEC2ContainerRegistryPullOnly中左側的核取方塊。

    4. Filter policies (篩選政策) 方塊中,輸入 AmazonSSMManagedInstanceCore。在搜尋結果AmazonSSMManagedInstanceCore中選取 左側的核取方塊。

    5. 選擇 Next (下一步)

  10. Name, review, and create (命名、檢閱和建立) 頁面上,執行以下作業:

    1. 針對 Role name (角色名稱),為您的角色輸入唯一名稱 (例如 AmazonEKSHybridNodesRole)。

    2. 針對 Description (描述),請以描述性文字 (例如 Amazon EKS - Hybrid Nodes role) 取代目前的文字。

    3. 選擇建立角色

Roles Anywhere AWS IAM的步驟

若要使用 AWS IAM Roles Anywhere,您必須先設定 AWS IAM Roles Anywhere 信任錨點,才能建立混合節點IAM角色。如需說明,請參閱 隨處設定 AWS IAM角色

  1. 開啟 Amazon IAM主控台

  2. 在左側導覽窗格中,選擇 Roles (角色)。

  3. Roles (角色) 頁面上,選擇 Create role (建立角色)。

  4. Select trusted entity (選取信任的實體) 頁面上,執行以下作業:

    1. 信任的實體類型區段中,選擇自訂信任政策。將下列項目貼到自訂信任政策編輯器。TRUST_ANCHOR ARN 將 取代為您在隨處設定 AWS IAM角色步驟中建立ARN的信任錨的 。此信任政策中的條件限制 Roles Anywhere 擔任混合節點IAM角色的能力 AWS IAM,只有在角色工作階段名稱符合安裝在混合節點上的 x509 憑證中的 CN 時,才能交換臨時IAM憑證。或者,您可以使用其他憑證屬性來唯一識別節點。您在信任政策中使用的憑證屬性必須對應 nodeName 至您在節點廣告組態中設定的 。如需詳細資訊,請參閱 混合節點節點廣告參考

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": [ "sts:TagSession", "sts:SetSourceIdentity" ], "Condition": { "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } }, { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}" }, "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } } ] }
    2. 選擇 Next (下一步)

  5. 新增許可頁面上,連接自訂政策或執行下列動作:

    1. 篩選政策方塊中,輸入 EKSDescribeClusterPolicy或您在上方建立的政策名稱。選取搜尋結果中政策名稱左側的核取方塊。

    2. Filter policies (篩選政策) 方塊中,輸入 AmazonEC2ContainerRegistryPullOnly。選取搜尋結果AmazonEC2ContainerRegistryPullOnly中左側的核取方塊。

    3. 選擇 Next (下一步)

  6. Name, review, and create (命名、檢閱和建立) 頁面上,執行以下作業:

    1. 針對 Role name (角色名稱),為您的角色輸入唯一名稱 (例如 AmazonEKSHybridNodesRole)。

    2. 針對 Description (描述),請以描述性文字 (例如 Amazon EKS - Hybrid Nodes role) 取代目前的文字。

    3. 選擇建立角色

📝 在 上編輯此頁面 GitHub