오류 메시지별 조치
| 오류 메시지 | 원인 | 조치 |
token exchange failed, HTTP 400: Invalid grant | JSON 키가 잘못되었거나 서비스 계정·키가 삭제됨 | 새 키를 만들어 접속 프로파일의 JSON 키를 수정 (3. 서비스 계정과 키) |
PERMISSION_DENIED - ... API has not been used in project ... or it is disabled | 서비스 계정이 속한 프로젝트에서 API가 사용 설정되지 않음 | 메시지의 프로젝트 번호에서 해당 API 사용 설정 (2. 구글 클라우드 준비) |
PERMISSION_DENIED - The caller does not have permission | 지정한 조회 범위에 역할이 없음, 또는 번호가 잘못됨 | scope 번호를 확인하고, 해당 범위에 역할 부여 (4. 역할 부여) |
(217002) scope 형식이 올바르지 않습니다 | scope 형식 오류 | projects/, folders/, organizations/ 다음에 ID·번호 입력. gcp-projects는 folders/, organizations/만 지원 |
(217003) limit은 양의 정수여야 합니다 | limit 값 오류 | 1 이상의 정수 입력 |
(217004) verbose는 t, f, true, false 중 하나여야 합니다 | verbose 값 오류 | t, f, true, false 중 하나 입력 |
INVALID_ARGUMENT - Please quote term ... with double quotes | 검색식(query 옵션)에 한글 등 영문·숫자가 아닌 문자가 든 검색어를 따옴표 없이 사용 | 검색어를 큰따옴표로 감싸고, 옵션 값 안에서는 역슬래시를 붙인 큰따옴표로 입력 (예시는 표 아래 참고) |
(217000) 사용 가능한 Google Cloud 프로파일이 없습니다 | 접속 프로파일 식별자가 틀렸거나 사용 권한이 없음 | profile 옵션에 접속 프로파일의 식별자 입력, 소나 계정에 프로파일 사용 권한 부여 |
한글 검색어 예시:
gcp-assets profile=gcp query="tagKeys:\"앱개발팀\""
결과가 예상과 다를 때
| 증상 | 원인 | 조치 |
gcp-projects가 0건 | 서비스 계정에 탐색자 역할이 없음 | gcp-check-permissions로 확인하고 조회할 범위에 탐색자 역할 부여 |
gcp-projects에 다른 조직의 프로젝트가 섞여 나옴 | scope 생략 시 서비스 계정이 접근할 수 있는 모든 프로젝트를 조회 | scope 옵션에 조직·폴더 번호 지정 |
gcp-projects scope=organizations/...에 일부 프로젝트가 빠짐 | gcp-projects는 지정한 조직·폴더 바로 아래 프로젝트만 조회 | 하위 폴더까지 포함하려면 gcp-assets에 scope=organizations/조직번호와 types=cloudresourcemanager.googleapis.com/Project를 지정해 조회 |
| 방금 만든 자원·프로젝트가 안 나옴 | Google Cloud의 인벤토리 반영 지연 | 몇 분 뒤 다시 실행. 자원 유형에 따라 몇 시간 걸릴 수 있음 |
| 조회 중 타임아웃 | 조회 범위가 커서 응답이 늦음 | 접속 프로파일의 읽기 타임아웃을 늘리거나 types 옵션으로 범위를 좁힘 |