透過自動化工具存取叢集

請使用 IBM Cloud 的 IAM API 金鑰或服務 ID,從自動化管線、CI/CD 工具或以非互動方式執行的腳本登入叢集。

使用 API 金鑰登入

對於自動化及 CI/CD 管道,建議使用 IAM API 金鑰。

  1. 建立一個 API 金鑰並儲存輸出結果——該金鑰值無法再次取得。
    ibmcloud iam api-key-create <name>
    
  2. 使用 API 金鑰登入。
    ibmcloud login --apikey API_KEY
    
  3. 設定叢集上下文。
    ibmcloud oc cluster config -c CLUSTER_NAME_OR_ID
    
  4. 登入叢集。
    oc login -u apikey -p API_KEY [--server=PRIVATE_SERVICE_ENDPOINT]
    

使用服務 ID 登入

當其他叢集或雲端中的應用程式需要存取您叢集的服務時,或是當您需要不與特定使用者綁定的憑證時,請使用服務識別碼。

  1. 建立服務 ID。
    ibmcloud iam service-id-create CLUSTER_NAME-id --description "Service ID for cluster CLUSTER_NAME"
    
  2. 將 IAM 政策指派給該服務 ID。
    ibmcloud iam service-policy-create SERVICE_ID --service-name containers-kubernetes --roles ROLE --service-instance CLUSTER_ID
    
  3. 建立服務 ID 的 API 金鑰。
    ibmcloud iam service-api-key-create CLUSTER_NAME-key SERVICE_ID
    
  4. 請依照「使用 API 金鑰登入」中的 步驟,使用 API 金鑰進行登入

使用基於上下文的限制來保護叢集

不再支援私有服務端點的白名單功能。 請儘快從私有服務端點的白名單機制,遷移至基於情境的限制機制。 有關具體的遷移步驟,請參閱 《 從私有服務端點白名單遷移至基於上下文的限制(CBR) 》。

使用基於情境的限制(CBR)規則,控制對您的公開與私有服務端點的存取權限。

在透過 IBM Cloud IAM 授予使用者對您叢集的存取權限 後,您可以透過為叢集的公開與私有服務端點建立 CBR 規則,來增加第二層安全防護。 只有源自 CBR 規則中所列子網、且針對您的叢集主節點發出的授權請求,才會被允許。

若要允許來自與您的叢集所在 VPC 不同的 VPC 的請求,您必須在 CBR 規則中包含該 VPC 的雲端服務端點 IP 位址。

例如,若要存取您叢集的私有雲服務端點,您必須透過 VPN 或 IBM Cloud Direct Link 連線至您的 IBM Cloud 傳統網路或 VPC 網路。 您可以在 CBR 規則中僅指定 VPN 或 Direct Link 隧道的子網,以便僅允許貴組織內的授權使用者從該子網存取私有雲服務端點。

公開的 CBR 規則(若您的叢集設有公開服務端點)也能協助防止使用者在授權被撤銷後存取您的叢集。 當使用者離開您的組織時,您應撤銷其用於存取該叢集的 IBM Cloud IAM 權限。 然而,使用者可能已複製某個叢集的「kubeconfig」管理檔案,從而獲得該叢集的存取權限。 如果您設定了一項僅允許從貴組織所擁有的已知公共子網段存取叢集主節點的公共 CBR 規則,那麼使用者若嘗試從其他公共 IP 位址進行存取,該存取嘗試將會被阻擋。

工作節點的子網會自動新增至後端 CBR 實作中,並從中移除(但不會影響 CBR 規則/區域),因此工作節點始終能夠存取叢集主節點,而使用者無需特別將這些子網新增至自己的 CBR 規則中。

若要進一步了解如何透過 CBR 規則保護您的叢集,請參閱《 使用基於上下文的限制來保護叢集資源 》以及《 基於上下文的限制範例情境