설명
BigQuery 데이터셋의 access에서 allAuthenticatedUsers를 허용하면 특정 조직에 한정되지 않은 모든 인증된 BigQuery 사용자에게 지정한 역할을 부여합니다. 익명 접근과는 다르지만, 필요한 범위보다 넓은 외부 접근을 허용할 수 있습니다.
실제 작업 범위는 역할에 달려 있습니다. 특히 OWNER는 조회만 허용하는 역할이 아니므로 데이터셋 관리 권한까지 검토해야 합니다.
잠재적 영향
- 민감한 분석 데이터, 고객 정보나 내부 지표가 외부에 노출될 수 있습니다.
- 과도한 역할은 데이터 변경이나 접근 권한 관리까지 허용할 수 있습니다.
해결 방법
- 공개가 목적이 아니라면 공용 그룹 권한을 제거하고 필요한 사용자·그룹·서비스 계정만 허용하세요.
- 조회만 필요한 주체에는 그에 맞는 최소 권한을 부여하세요.
- 접근 목록을 변경할 때 필요한 기존 항목을 보존하고, 필요한 접근은 유지되며 불필요한 접근은 차단되는지 확인하세요.
예시
Deployment Manager는 지원이 종료된 기존 도구입니다. 지원되는 관리 도구로의 이전을 계획하세요. 예제의 데이터셋 ID와 그룹 주소는 실제 값으로 바꾸세요.
변경 전
yaml
resources:
- name: bigquery
type: bigquery.v2.dataset
properties:
datasetReference:
datasetId: analytics
access:
- role: OWNER
specialGroup: allAuthenticatedUsers
- role: READER
groupByEmail: analytics-readers@example.com
모든 인증된 BigQuery 사용자에게 OWNER를 부여합니다.
변경 후
yaml
resources:
- name: bigquery
type: bigquery.v2.dataset
properties:
datasetReference:
datasetId: analytics
access:
- role: READER
groupByEmail: analytics-readers@example.com
공용 그룹 항목을 제거하고 지정한 Google 그룹에 READER만 부여합니다. 필요한 관리 주체의 별도 권한도 유지해야 합니다.