권한 및 자격 증명 오류 해결
워커 노드 또는 기타 구성 요소를 만들거나 삭제하는 등 클러스터를 변경하려고 하면 다음 예시 중 하나와 유사한 오류 메시지가 표시됩니다.
클러스터에 액세스할 때 발생하는 권한 및 인증 정보 오류를 해결합니다.
The infrastructure authentication credentials are not authorized for the request.
We were unable to connect to your Softlayer account.
Creating a standard cluster requires that you have either a
Pay-As-You-Go account that is linked to an IBM Cloud infrastructure
account term or that you have used the Kubernetes service
CLI to set your Infrastructure API keys.
'Item' must be ordered with permission.
The worker node instance '<ID>' can't be found. Review '<provider>' infrastructure user permissions.
The worker node instance can't be found. Review '<provider>' infrastructure user permissions.
The worker node instance can't be identified. Review '<provider>' infrastructure user permissions.
The IAM token exchange request failed with the message: <message>
IAM token exchange request failed: <message>
The cluster could not be configured with the registry. Make sure that you have the Administrator role for Container Registry.
지역 및 리소스 그룹에 대해 설정된 인프라 자격 증명에 적절한 인프라 권한 이 없거나 자격 증명을 인식할 수 없습니다.
이러한 문제가 발생하는 데에는 여러 가지 이유가 있습니다.
-
필요한 인프라 권한이 없습니다.
-
리소스 그룹과 지역이 일치하지 않습니다.
- 자격 증명 및 IAM API 키는 지역 및 리소스 그룹으로 설정됩니다. 지역은
ibmcloud oc credential set명령을 실행할 때 지정됩니다. 적용되는 리소스 그룹은 이 명령을 실행할 때 대상이 되는 리소스 그룹입니다. xml-ph-0000@deepl.internal를 실행하기 전에ibmcloud target명령어를 통해 명시적으로 지정하지 않으면,ibmcloud oc credential set``을 실행할 때 API 키의 리소스 그룹이 예상한 것과 다를 수 있으며, 이로 인해 인증 정보가 일치하지 않아 인식되지 않을 수 있습니다.
- 자격 증명 및 IAM API 키는 지역 및 리소스 그룹으로 설정됩니다. 지역은
-
자격 증명이 클러스터에 추가되거나 클러스터에서 제거되었습니다.
- 연결된 IBM Cloud 인프라 계정 으로 클러스터를 만든 다음 나중에
ibmcloud oc credential set또는ibmcloud oc credential unset으로 자격 증명을 추가하거나 제거한 경우, 자격 증명이 연결된 계정의 사양과 일치하지 않을 수 있습니다. 이로 인해 자격 증명이 인식되지 않을 수 있습니다.
- 연결된 IBM Cloud 인프라 계정 으로 클러스터를 만든 다음 나중에
계정 소유자는 인프라 계정 인증 정보를 올바르게 설정해야 합니다. 인증 정보는 사용 중인 인프라 계정의 유형에 따라 다릅니다.
시작하기 전에 계정에 로그인하십시오. If applicable, target the appropriate resource group. 클러스터에 대한 컨텍스트를 설정하십시오.
-
지역 및 리소스 그룹의 인프라 권한에 사용되는 사용자 인증 정보를 식별하십시오.
- 클러스터의 지역 및 리소스 그룹에 대한 API 키를 확인하십시오.
ibmcloud oc api-key info --cluster <cluster_name_or_ID> ``` 출력 예 ```sh {: screen} Getting information about the API key owner for cluster <cluster_name>... OK Name Email <user_name> <name@email.com> ``` 2. 지역 및 리소스 그룹에 대한 인프라 계정이 다른 클래식 IBM Cloud 인프라 계정을 사용하도록 수동으로 설정되었는지 확인하십시오. ```sh {: pre} ibmcloud oc credential get --region <us-south> ``` **인증 정보가 다른 클래식 계정을 사용하도록 설정된 경우의 출력 예**입니다. 이 경우, 다른 사용자의 인증 정보가 이전 단계에서 검색한 API 키에 저장되더라도 사용자의 인프라 인증 정보가 대상으로 지정한 지역 및 리소스 그룹에 사용됩니다. ```sh {: screen} OK Infrastructure credentials for user name <1234567_name@email.com> set for resource group <resource_group_name>. ``` **인증 정보가 다른 클래식 계정을 사용하도록 설정되지 않은 경우의 출력 예**입니다. 이 경우, 이전 단계에서 검색한 API 키 소유자는 지역 및 리소스 그룹에 사용된 인프라 인증 정보를 보유하고 있습니다. ```sh {: screen} FAILED No credentials set for resource group <resource_group_name>.: The user credentials could not be found. (E0051) ``` -
사용자가 보유하고 있는 인프라 권한을 유효성 검증하십시오.
- 지역 및 리소스 그룹에 대해 제안된 인프라 권한 및 필수 인프라 권한을 나열하십시오.
ibmcloud oc infra-permissions get --region <region> ``` 콘솔 및 CLI 명령으로 이러한 권한을 지정하려면 [클래식 인프라 역할](/docs/openshift?topic=openshift-iam-platform-access-roles)을 참조하십시오. {: tip} 2. [API 키에 대한 인프라 인증 정보 소유자 또는 수동으로 설정된 계정에 올바른 권한이 있는지](/docs/openshift?topic=openshift-iam-platform-access-roles) 확인하십시오. 리전 및 리소스 그룹에 대한 [API 키](/docs/openshift?topic=openshift-kubernetes-service-cli#api-key-reset-cli) 또는 [수동 설정](/docs/openshift?topic=openshift-kubernetes-service-cli#credential-set-classic-cli) 인프라 자격 증명 소유자를 변경할 수 있습니다. {: note} -
클러스터 또는 워커 노드 삭제와 같은 인프라 작업을 다시 시도해 보세요. 그래도 권한 또는 자격 증명 오류가 계속 발생하면 다음 추가 문제 해결 페이지를 검토하세요.
- 워커 노드가 제거되지 않은 경우, ‘State’ 및 ‘Status’ 필드와 워커 노드에서 흔히 발생하는 문제점을 검토하여 디버깅을 계속하십시오.
- 수동으로 인증 정보를 설정하고 계속해서 인프라 계정에 클러스터의 작업자 노드가 표시되지 않는 경우에는 클러스터가 고아 상태가 되었는지 확인해야 합니다.
-
문제가 지속되면 다음 정보를 수집하여 IBM Cloud 지원팀에 제출하세요. 각 명령의 출력을 저장합니다.
ibmcloud target -g <resource_group>명령으로 타깃팅한 리소스 그룹이 올바른지 확인하세요.- API 키 정보.
ibmcloud ks api-key info --cluster <cluster_name_or_id> ``` 1. 계정 세부 정보. ```sh {: pre} ibmcloud target ``` 1. 예상 지역 및 리소스 그룹에 대한 자격 증명 세부 정보입니다. ```sh {: pre} ibmcloud oc credential get --region <region> ``` 1. 인프라 권한 세부 정보. ```sh {: pre} ibmcloud oc infra-permissions get --region <region> ``` -
IBM Cloud 지원 관련 문제 열기. 이전 단계에서 수집한 모든 정보와 명령어 출력을 포함해야 합니다.
올바르지 않은 API 키
클래식 인프라
API 키를 지정해야 하는 작업을 완료하려고 하면 다음과 유사한 오류가 발생합니다.
Error: SoftLayer_Exception_User_Customer_Unauthorized: Invalid API key
또한 ibmcloud ks api-key reset 명령을 실행해도 문제가 해결되지 않으며 ibmcloud oc infra-permissions get 명령의 출력에는 권한 관련 문제가 표시되지 않습니다.
이 오류가 발생하는 데는 여러 가지 이유가 있습니다.
-
시도 중인 작업에는 Kubernetes API 키가 아닌 클래식 인프라 API 키를 지정해야 합니다. 클래식 인프라 API 키가 지역에 대해 설정되어 있으면 다른 모든 자격 증명보다 우선합니다.
-
지정한 클래식 인프라 API 키가 존재하지 않습니다. 삭제되었거나 API 키 소유자가 조직을 떠났을 수 있습니다.
클래식 인프라 API 키를 알고 있다면 이를 지정하세요. 인프라 API 키를 모르거나 삭제되었을 가능성이 있다고 생각되면 다음 단계를 따르세요.
-
ibmcloud oc credential set classic --infrastructure-api-key API_KEY --infrastructure-username USERNAME --region REGION [-q] -
클러스터에서 자격 증명 업데이트 으로 명령을 실행합니다.
ibmcloud oc api-key reset --region REGION [-q] -
작업을 완료하려면 다시 시도하세요.