Apigee Hybrid는 서비스 계정 키의 위치가 올바르고 GCP 프로젝트에 적절한 권한이 계정에 있는지 확인하는 유효성 검사를 제공합니다. 이 유효성 검사는 기본적으로 사용 설정되어 있습니다.
이 섹션에서는 서비스 계정 유효성 검사를 사용 설정 또는 중지하는 방법을 설명합니다. 또한 이 단계를 통해 GCP 프로젝트를 위한 적절한 API가 올바르게 사용 설정되도록 하여 유효성 검사가 작동하도록 합니다.
서비스 계정 권한 유효성 검사 사용 설정
권한 유효성 검사를 사용 설정하려면 다음 단계를 따르세요.
- GCP 프로젝트에 Cloud Resource Manager API가 사용 설정되어 있는지 확인합니다.
- Google Cloud 콘솔을 열고 1단계: Google Cloud 계정 만들기에서 만든 계정으로 로그인합니다.
- 2단계: Google Cloud 프로젝트 만들기에서 만든 프로젝트를 선택합니다.
- API 및 서비스 > 라이브러리를 선택합니다.
- 'Cloud Resource Manager'를 검색합니다.
- Cloud Resource Manager API 서비스를 찾아 클릭합니다.
- 사용 설정되어 있지 않으면 사용 설정을 클릭합니다.
gcloud를 사용하여 API를 사용 설정할 수도 있습니다.
gcloud services enable cloudresourcemanager.googleapis.com --project GCP_project_ID
- 재정의 파일에서
validateServiceAccounts
속성을 추가하고true
로 설정합니다. 예를 들면 다음과 같습니다.... # Enables strict validation of service account permissions. validateServiceAccounts: true ...
유효성 검사가 사용 설정되면 apigeectl이 Apigee Hybrid 런타임 구성요소를 클러스터에 적용할 때마다 재정의 파일에 포함된 서비스 계정 키의 유효성을 검사합니다.
유효성 검사 오류 문제 해결
유효성 검사가 실패하면 런타임 배포가 중지되고 apigeectl
이 종료됩니다.
서비스 계정 실패 문제를 해결하기 위해 유효성 검사가 다음의 순서대로 권한을 확인한다는 것을 알아두면 유용합니다.
- 프로젝트 ID의 권한
- (UDCA 및 동기화 담당자에만 해당) 프로젝트의 권한 확인에 실패하면 유효성 검사는 Apigee 환경의 IAM 정책에 대한 권한 확인을 진행합니다. 이러한 SA는 환경 범위로 지정되며 환경에서는 세분화된 권한을 지원합니다.
특정 환경의 IAM 정책을 업데이트하려면 하이브리드 UI로 이동합니다. 관리 > 환경 > 액세스로 이동합니다.
예를 들어 다음은 권한 실패의 오류 메시지입니다.
Invalid Metrics Service Account. Service Account "apigee-metrics@hybrid-project.iam.gserviceaccount.com" is missing 1 or more required permissions [monitoring.metricDescriptors.create monitoring.metricDescriptors.get monitoring.metricDescriptors.list monitoring.monitoredResourceDescriptors.get monitoring.monitoredResourceDescriptors.list monitoring.timeSeries.create]. Visit Service accounts and roles used by hybrid components for more details on setting up Apigee hybrid service account permissions.
이 오류를 해결하려면 필요한 역할을 서비스 계정에 추가합니다. 서비스 계정을 만들고 수정하는 방법에 대한 자세한 내용은 서비스 계정 만들기를 참조하세요. 각 Apigee Hybrid 구성요소의 필수 권한을 확인하려면 하이브리드 구성요소에서 사용하는 서비스 계정 및 역할을 참조하세요.
권한 유효성 검사 사용 중지
서비스 계정 권한 유효성 검사를 사용 중지하려면 다음 예시와 같이 재정의 파일의 validateServiceAccounts
속성을 false
로 설정합니다.
... # Enables strict validation of service account permissions. validateServiceAccounts: false ...