1. 기능별 필요 권한
사용할 확장 명령어를 표에서 찾아 필요한 역할과 API를 확인하세요. 같은 행의 값을 정리해 두면 이후 설정 단계에서 그대로 사용합니다.
- 역할: 4. 역할 부여에서 서비스 계정에 부여
- 구글 클라우드 API: 2. 구글 클라우드 준비에서 서비스 계정이 속한 프로젝트에 사용 설정
사용하지 않을 명령어의 역할은 부여하지 않아도 됩니다. 역할이 빠진 명령어만 실패하고, gcp-check-permissions로 빠진 권한을 확인할 수 있습니다.
확장 명령어
| 확장 명령어 | 역할 | IAM 권한 | 구글 클라우드 API |
|---|---|---|---|
| gcp-assets | Cloud 애셋 뷰어 (roles/cloudasset.viewer) | cloudasset.assets.searchAllResources | Cloud Asset API |
| gcp-iam-policies | Cloud 애셋 뷰어 (roles/cloudasset.viewer) | cloudasset.assets.searchAllIamPolicies, cloudasset.assets.searchAllResources | Cloud Asset API |
| gcp-projects | 탐색자 (roles/browser) | resourcemanager.projects.get | Cloud Resource Manager API |
| gcp-check-permissions | 없음 | 없음 | Cloud Resource Manager API |
Note
두 역할 모두 읽기 전용이며 자원을 변경하지 않습니다. 탐색자 역할이 없으면 gcp-projects는 오류 없이 0건으로 끝납니다. 권한이 없는 프로젝트는 결과에서 빠지기만 하기 때문입니다.
조회 범위
역할을 부여한 범위와 그 하위 자원만 조회할 수 있습니다. 조회할 범위에 맞춰 역할 부여 위치를 정합니다.
| 조회하려는 범위 | 역할 부여 위치 | 진행할 절차 |
|---|---|---|
| 서비스 계정이 속한 프로젝트 하나 | 해당 프로젝트 | 4-1. 프로젝트에 역할 부여 |
| 여러 프로젝트 | 각 프로젝트, 또는 상위 폴더·조직 | 4-1을 프로젝트마다 반복, 또는 4-2. 조직·폴더에 역할 부여 |
| 폴더 또는 조직 전체 | 해당 폴더·조직 | 4-2. 조직·폴더에 역할 부여 |
확장 명령어에서 조회 범위를 지정하는 방법은 조회 범위 지정을 참고합니다.
조회할 수 있는 정보
| 조회 가능 | 조회 불가 |
|---|---|
| 자원의 메타데이터: 이름, 유형, 위치, 상태, 라벨, 태그, 소속 프로젝트·폴더·조직, 생성·수정 시각 | 자원 안의 데이터 (버킷 파일, 데이터베이스 내용 등) |
| 프로젝트 정보: 프로젝트 ID·번호, 표시 이름, 상위 폴더·조직, 상태 | 그룹 구성원 (그룹 단위로만 표시) |
| IAM 정책: 자원별 역할과 주 구성원, 조건 | 변경 이력, 삭제된 자원 |
반영 지연과 호출 한도
| 항목 | 내용 |
|---|---|
| 자산 반영 지연 | 구글 클라우드는 자원 유형에 따라 변경 사항을 수 분에서 몇 시간 간격으로 반영합니다. 조회 결과는 실시간 상태가 아니라 최근 시점의 인벤토리입니다. |
| 프로젝트·역할 반영 지연 | 새로 만든 프로젝트나 방금 부여한 역할은 몇 분 뒤에 결과에 나올 수 있습니다. |
| 프로젝트 검색 한도 | 초당 4회, 분당 240회 (서비스 계정이 속한 프로젝트 기준) |
| 자산 검색 한도 | 구글 클라우드 할당량을 따릅니다. 규모가 큰 범위를 짧은 간격으로 반복 조회하면 한도에 걸릴 수 있습니다. |
액세스 토큰 범위
로그프레소는 서비스 계정 키로 구글 액세스 토큰을 발급받을 때 OAuth 범위로 https://www.googleapis.com/auth/cloud-platform을 요청합니다. Cloud Asset API가 읽기 전용 범위(cloud-platform.read-only)로 발급한 토큰을 허용하지 않기 때문입니다.
토큰 범위는 호출할 수 있는 API의 종류를 정할 뿐이고, 실제로 할 수 있는 작업은 서비스 계정에 부여한 IAM 역할로 제한됩니다. 이 매뉴얼대로 Cloud 애셋 뷰어와 탐색자 역할만 부여하면 서비스 계정은 자원 정보를 조회만 할 수 있습니다.
Caution
서비스 계정에 편집자·소유자처럼 쓰기 권한이 있는 역할을 함께 부여하지 마세요. 토큰 범위가 넓기 때문에, 서비스 계정에 쓰기 권한이 있으면 JSON 키가 유출됐을 때 그 권한으로 자원을 변경할 수 있습니다.