승인된 뷰 만들기 및 관리
이 문서에서는 Google Cloud CLI 또는Google Cloud 콘솔을 사용하여 승인된 뷰에서 다른 관리 작업을 정의, 생성, 실행하는 방법을 설명합니다. 이 문서를 읽기 전에 승인된 뷰 개요를 숙지해야 합니다.
필요한 역할
승인된 뷰에서 관리 작업을 수행하는 데 필요한 권한을 얻으려면 관리자에게 기본 테이블에 대한 Bigtable 관리자(roles/bigtable.admin
) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이 사전 정의된 역할에는 승인된 뷰에서 관리 작업을 수행하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
승인된 뷰에서 관리 작업을 수행하려면 다음 권한이 필요합니다.
-
bigtable.authorizedViews.get
-
bigtable.authorizedViews.list
-
bigtable.authorizedViews.create
-
bigtable.authorizedViews.update
-
bigtable.authorizedViews.delete
-
bigtable.authorizedViews.getIamPolicy
-
bigtable.authorizedViews.setIamPolicy
-
bigtable.authorizedViews.readRows
-
bigtable.authorizedViews.sampleRowKeys
-
bigtable.authorizedViews.mutateRows
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
승인된 뷰 수준에서 Bigtable IAM 역할을 관리하는 방법은 승인된 뷰 수준 IAM 관리를 참조하세요.
승인된 뷰 만들기
승인된 뷰를 만들 때는 승인된 뷰를 대상으로 실행할 쿼리를 고려해야 합니다. 승인된 뷰로 전송되는 읽기, 쓰기, 삭제 요청은 승인된 뷰에 있는 데이터만 참조해야 합니다. 예를 들어 테이블에서 승인된 뷰에 없는 열의 행을 읽거나 쓰거나 삭제하려고 하면 요청이 실패합니다.
승인된 뷰에 없는 테이블에 열이 추가되어 승인된 뷰에 대한 데이터 요청이 실패하는 상황을 방지하려면 column family에 빈 column qualifier 프리픽스("")를 지정하면 됩니다.
승인된 뷰당 최대 100개의 정의 매개변수를 지정할 수 있습니다.
콘솔
Google Cloud 콘솔에서 Bigtable 인스턴스 목록을 엽니다.
승인된 보기를 보려는 테이블이 포함된 인스턴스를 클릭합니다.
탐색창에서 Bigtable 스튜디오를 클릭합니다.
빌더를 클릭하여 쿼리 빌더를 엽니다.
승인된 뷰를 보려는 테이블을 선택합니다.
승인된 뷰 사용자가 액세스할 수 있는 데이터만 반환하는 쿼리를 빌드하는 절을 추가합니다.
- 승인된 뷰에 허용되는 절은 row key 접두사 및 columns (column qualifier)입니다.
- 열 한정자 접두사를 지정하려면 접두사 뒤에 별표를 추가합니다. 예를 들어 'data'로 시작하는 모든 열을 포함하려면 열 그룹 이름 뒤의 Columns 필드에
data*
를 입력합니다. - 승인된 뷰가 저장될 때 Limit 절은 무시됩니다.
- 쿼리 빌더 사용에 관한 자세한 내용은 콘솔에서 쿼리 빌드를 참고하세요.
실행을 클릭합니다.
결과 창에 승인된 뷰에 포함되어야 하는 데이터가 표시되는지 확인한 후 뷰로 저장을 클릭합니다.
테이블에 아직 사용되지 않는 승인된 뷰의 영구 식별자를 입력합니다.
선택사항: 액세스 권한을 부여하지 않고 저장하려면 저장을 클릭합니다.
선택사항: 승인된 보기를 저장한 후 액세스 권한을 구성하려면 저장 및 액세스 권한 부여를 클릭합니다. 액세스 제어에 대한 자세한 내용은 IAM을 사용한 Bigtable 액세스 제어를 참고하세요.
- 주 구성원을 하나 이상 추가하고 해당 주 구성원 또는 주 구성원 그룹에 할당할 역할을 선택합니다.
- 선택사항: 추가 역할에 대한 액세스 권한을 부여하려면 다른 역할 추가를 클릭한 후 추가할 각 역할의 주 구성원 및 역할을 입력합니다.
- 저장을 클릭합니다.
gcloud
bigtable authorized-views create
명령어를 실행합니다. 자세한 내용은 gcloud bigtable authorized-views create의 참조 문서를 참고하세요.
gcloud bigtable authorized-views create AUTHORIZED_VIEW_ID \
--instance=INSTANCE_ID \
--table=TABLE_ID \
--definition-file=DEFINITION_FILE_PATH
다음을 바꿉니다.
AUTHORIZED_VIEW_ID
: 테이블에 아직 사용되지 않는 승인된 뷰의 영구 식별자INSTANCE_ID
: 테이블을 포함하는 인스턴스의 영구 식별자TABLE_ID
: 승인된 뷰를 만드는 테이블의 영구 식별자DEFINITION_FILE_PATH
: 승인된 뷰의 유효한 JSON 형식 표현의 경로 올바른 형식의 정의 파일 예시는 정의 파일 예시를 참조하세요.
정의 파일을 제공하지 않고 명령어를 실행할 수도 있습니다. 이 경우 gcloud CLI가 편집기를 열고 값을 입력하라는 메시지를 표시합니다.
승인된 뷰가 생성되었는지 확인하려면 테이블에서 승인된 뷰 목록을 가져옵니다.
자바
Bigtable용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Bigtable 클라이언트 라이브러리를 참조하세요.
Bigtable에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
승인된 뷰 수정
콘솔
Google Cloud 콘솔에서 Bigtable 인스턴스 목록을 엽니다.
승인된 뷰가 포함된 인스턴스를 클릭합니다.
탐색창에서 Bigtable 스튜디오를 클릭합니다.
탐색기에서 테이블과 승인된 뷰를 펼칩니다.
수정하려는 승인된 뷰 옆에 있는 more_vert 작업 메뉴를 클릭한 다음 열기를 클릭합니다.
승인된 뷰 사용자가 액세스할 수 있는 데이터만 반환하는 쿼리를 빌드하도록 절을 수정하거나 추가합니다.
- 승인된 뷰에 허용되는 절은 row key 접두사 및 columns (column qualifier)입니다.
- 열 한정자 접두사를 지정하려면 접두사 뒤에 별표를 추가합니다. 예를 들어 'data'로 시작하는 모든 열을 포함하려면 열 그룹 이름 뒤의 Columns 필드에
data*
를 입력합니다. - 승인된 뷰가 저장될 때 Limit 절은 무시됩니다.
- 쿼리 빌더 사용에 관한 자세한 내용은 콘솔에서 쿼리 빌드를 참고하세요.
실행을 클릭합니다.
결과 창에 승인된 뷰에 포함되어야 하는 데이터가 표시되는지 확인한 후 뷰로 저장을 클릭합니다.
대화상자에 수정한 승인된 뷰의 ID를 입력합니다.
기존의 승인된 뷰를 덮어쓰겠다는 경고 메시지가 대화상자에 표시됩니다.
선택사항: 액세스 권한을 부여하지 않고 저장하려면 저장을 클릭합니다.
선택사항: 승인된 보기를 저장한 후 액세스 권한을 구성하려면 저장 및 액세스 권한 부여를 클릭합니다. 액세스 제어에 대한 자세한 내용은 IAM을 사용한 Bigtable 액세스 제어를 참고하세요.
- 주 구성원을 하나 이상 추가하고 해당 주 구성원 또는 주 구성원 그룹에 할당할 역할을 선택합니다.
- 선택사항: 추가 역할에 대한 액세스 권한을 부여하려면 다른 역할 추가를 클릭한 후 추가할 각 역할의 주 구성원 및 역할을 입력합니다.
- 저장을 클릭합니다.
gcloud
bigtable authorized-views
update
명령어를 사용하여 승인된 뷰를 수정합니다. 자세한 내용은 gcloud bigtable authorized-views update의 참조 문서를 참고하세요.
gcloud bigtable authorized-views update AUTHORIZED_VIEW_ID \
--instance=INSTANCE_ID \
--table=TABLE_ID \
--definition-file=DEFINITION_FILE_PATH
다음을 바꿉니다.
AUTHORIZED_VIEW_ID
: 승인된 뷰의 영구 식별자INSTANCE_ID
: 인스턴스의 영구 식별자TABLE_ID
: 소스 테이블의 영구 식별자DEFINITION_FILE_PATH
: 승인된 뷰의 유효한 JSON 형식 표현의 경로 올바른 형식의 정의 파일 예시는 정의 파일 예시를 참조하세요.
정의 파일을 제공하지 않고 명령어를 실행할 수도 있습니다. 이 경우 gcloud CLI가 편집기를 열고 값을 입력하라는 메시지를 표시합니다.
선택사항: gcloud CLI가 현재 승인된 뷰 구조와 업데이트가 커밋된 후 차이를 보여주는 확인 메시지를 표시하지 않도록 하려면 명령어에 --no-interactive
플래그를 추가합니다.
자바
Bigtable용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Bigtable 클라이언트 라이브러리를 참조하세요.
Bigtable에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
삭제 보호 사용 설정 또는 사용 중지
승인된 뷰에 대해 삭제 보호를 사용 설정하려면 업데이트 명령어에 --deletion-protection
을 추가합니다.
삭제 보호를 사용 중지하려면 업데이트 명령어에 no-deletion-protection
을 추가합니다.
승인된 뷰 삭제
테이블을 삭제하면 테이블의 모든 승인된 뷰도 삭제됩니다.
승인된 뷰를 삭제하면 이를 삭제 취소할 수 없습니다. 그러나 테이블을 삭제한 다음 테이블을 삭제 취소하면 테이블의 모든 승인된 뷰가 테이블과 함께 복원됩니다. 그런 다음 승인된 뷰와 테이블에 대해 IAM을 다시 구성해야 합니다. 자세한 내용은 테이블 삭제 취소를 참조하세요.
콘솔
Google Cloud 콘솔에서 Bigtable 인스턴스 목록을 엽니다.
승인된 뷰가 포함된 인스턴스를 클릭합니다.
탐색창에서 Bigtable 스튜디오를 클릭합니다.
탐색기에서 테이블과 승인된 뷰를 펼칩니다.
삭제하려는 승인된 뷰 옆에 있는 more_vert 작업 메뉴를 클릭한 다음 삭제를 클릭합니다.
gcloud
bigtable instances tables
authorized-views delete
명령어를 사용하여 승인된 뷰를 삭제합니다. 자세한 내용은 gcloud bigtable authorized-views delete의 참조 문서를 참고하세요.
gcloud bigtable authorized-views delete AUTHORIZED_VIEW_ID \
--instance=INSTANCE_ID \
--table=TABLE_ID
다음을 바꿉니다.
AUTHORIZED_VIEW_ID
: 승인된 뷰의 영구 식별자INSTANCE_ID
: 인스턴스의 영구 식별자TABLE_ID
: 소스 테이블의 영구 식별자
선택사항: gcloud CLI가 삭제를 확인하거나 취소하라는 확인 메시지를 표시하지 않도록 하려면 명령어에 --nointeractive
플래그를 추가합니다.
자바
Bigtable용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Bigtable 클라이언트 라이브러리를 참조하세요.
Bigtable에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
테이블의 승인된 뷰 목록 가져오기
콘솔
Google Cloud 콘솔에서 Bigtable 인스턴스 목록을 엽니다.
승인된 뷰가 포함된 인스턴스를 클릭합니다.
탐색창에서 Bigtable 스튜디오를 클릭합니다.
탐색기에서 테이블과 승인된 뷰를 펼칩니다.
gcloud
bigtable authorized-views list
명령어를 실행합니다. 자세한 내용은 gcloud bigtable authorized-views list의 참조 문서를 참고하세요.
gcloud bigtable authorized-views list \
--instance=INSTANCE_ID \
--table=TABLE_ID
다음을 바꿉니다.
INSTANCE_ID
: 인스턴스의 영구 식별자TABLE_ID
: 테이블의 영구 식별자
자바
Bigtable용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Bigtable 클라이언트 라이브러리를 참조하세요.
Bigtable에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
승인된 뷰 세부정보 보기
콘솔
Google Cloud 콘솔에서 Bigtable 인스턴스 목록을 엽니다.
승인된 뷰가 포함된 인스턴스를 클릭합니다.
탐색창에서 Bigtable 스튜디오를 클릭합니다.
탐색기에서 테이블과 승인된 뷰를 펼칩니다.
확인하려는 승인된 뷰 옆에 있는 more_vert 작업 메뉴를 클릭한 다음 열기를 클릭합니다.
gcloud
승인된 뷰에 대한 세부정보를 가져오려면 bigtable instances
tables authorized-views describe
명령어를 실행합니다. 자세한 내용은 gcloud bigtable authorized-views describe의 참조 문서를 참고하세요.
gcloud bigtable authorized-views describe \
–-instance=INSTANCE_ID \
–-table=TABLE_ID \
AUTHORIZED_VIEW_ID
다음을 바꿉니다.
INSTANCE_ID
: 인스턴스의 영구 식별자TABLE_ID
: 테이블의 영구 식별자AUTHORIZED_VIEW_ID
: 승인된 뷰의 영구 식별자
자바
Bigtable용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Bigtable 클라이언트 라이브러리를 참조하세요.
Bigtable에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
승인된 뷰에 대한 액세스 권한 부여
액세스 제어에 대한 자세한 내용은 IAM을 사용한 Bigtable 액세스 제어를 참고하세요.
콘솔
Google Cloud 콘솔에서 Bigtable 인스턴스 목록을 엽니다.
승인된 뷰가 포함된 인스턴스를 클릭합니다.
탐색창에서 Bigtable 스튜디오를 클릭합니다.
탐색기 창에서 테이블과 승인된 뷰를 펼칩니다.
승인된 보기 이름 옆에 있는 more_vert 작업 메뉴를 클릭한 다음 액세스 권한 부여를 클릭합니다.
주 구성원을 하나 이상 추가하고 해당 주 구성원 또는 주 구성원 그룹에 할당할 역할을 선택합니다.
선택사항: 추가 역할에 대한 액세스 권한을 부여하려면 다른 역할 추가를 클릭한 다음 추가할 각 역할의 주 구성원 및 역할을 입력합니다.
저장을 클릭합니다.
gcloud
승인된 뷰에 대한 액세스 권한을 부여하려면 bigtable
authorized-views add-iam-policy-binding
명령어를 사용합니다. 자세한 내용은 gcloud bigtable authorized-views add-iam-policy-binding의 참조 문서를 참고하세요.
gcloud bigtable authorized-views add-iam-policy-binding AUTH_VIEW_ID \
--instance=INSTANCE_ID --table=TABLE_ID \
--member=PRINCIPAL --role=ROLE
다음을 바꿉니다.
AUTH_VIEW_ID
: 승인된 뷰의 IDTABLE_ID
: 승인된 뷰가 속한 테이블의 ID입니다.INSTANCE_ID
: 테이블이 포함된 인스턴스PRINCIPAL
: 액세스 권한을 부여하려는 주 구성원(사용자)(예:user:222larabrown@gmail.com
)ROLE
: 부여할 역할입니다(예:roles/bigtable.viewer
).