예상한 위반 사항으로 오류가 발생하지 않는 이유는 무엇인가요?
검사 논리를 테스트할 때 오류가 발생해야 하지만 제약조건으로 오류가 발생하지 않는 경우에는 다음 중 하나 이상의 결과 때문일 수 있습니다.
- 정책 라이브러리가 올바르게 설정되었나요? 정책 라이브러리에
policies/constraints
디렉터리가 있는지 확인합니다. 여기에는 위반을 일으키려는 제약조건이 포함됩니다. - 위반을 포함하는 Terraform 리소스가 지원되는 리소스인가요?
gcloud beta terraform vet
은 해당 버전에서 지원되는 리소스에 대해서만 위반 사항을 확인할 수 있습니다.--verbosity=debug
로 명령어를 다시 실행하고unsupported resource: google_resource_name
과 같은 메시지가 표시되는지 확인합니다. 또는 리소스가 지원되는 리소스 목록에 있는지 확인해도 됩니다. 제약조건이 올바른 Terraform 리소스를 대상으로 하나요?
정의된 프로젝트가 없다는 오류가 표시되는 이유는 무엇인가요?
리소스 상위 항목은 정확한 CAI 애셋 이름을 빌드하기 위해 사용됩니다. gcloud beta terraform vet
이 CAI 애셋의 상위 항목을 자동으로 확인할 수 없는 경우 project: required field is not set
이라는 오류를 반환합니다. --project
플래그를 사용하여 기본 프로젝트를 제공하거나 gcloud config
를 사용해서 프로젝트를 설정할 수 있습니다.
getting resource ancestry for project PROJECT_ID: googleapi: Error 403: The caller does not have permission, forbidden
오류가 표시되는 이유는 무엇인가요?
--verbosity=debug
와 함께 명령어를 실행하고 Terraform
is using this identity:
와 같은 메시지를 찾습니다. 그 뒤에 API 요청에 사용되는 계정인 이메일 주소가 와야 합니다.
- 이메일 주소가 없으면 인증이 올바르게 작동하는지 확인합니다.
- 이메일 주소가 있지만 명의를 도용하려는 서비스 계정이 아니면 서비스 계정 명의 도용이 올바르게 설정되었는지 확인합니다.
- 올바른 이메일 주소가 표시되면 프로젝트에 다음 권한이 있는지 확인합니다.
getIamPolicy
resourcemanager.projects.get