목록 관리

BigQuery Sharing (이전 명칭: Analytics Hub)의 데이터 게시자는 데이터 복사 없이 조직 전반의 구독자와 데이터 세트를 안전하게 공유하기 위한 목록을 만들고 관리할 수 있습니다.

등록정보를 관리할 때 다음 작업을 수행할 수 있습니다.

  • 게시 액세스 권한이 있는 데이터 교환에서 목록을 생성, 업데이트, 공유, 삭제합니다.
  • 관리자, 구독자, 뷰어에게 BigQuery Sharing 역할을 할당하여 액세스를 관리합니다.
  • 목록에서 구독자를 확인, 모니터링, 삭제합니다.
  • 구독 사용량 측정항목 모니터링

등록정보는 게시자가 데이터 교환에 나열하는 공유 데이터 세트를 참조합니다. 목록에 설정된 Identity and Access Management (IAM) 정책과 목록을 포함하는 데이터 교환의 유형에 따라 목록은 다음 두 가지 유형 중 하나일 수 있습니다.

시작하기 전에

BigQuery Sharing(이전 명칭: Analytics Hub)을 시작하려면 Google Cloud 프로젝트 내에서 Analytics Hub API를 사용 설정해야 합니다.

Analytics Hub API를 사용 설정하려면 다음 Identity and Access Management(IAM) 권한이 필요합니다.

  • serviceUsage.services.get
  • serviceUsage.services.list
  • serviceUsage.services.enable

다음과 같은 사전 정의된 IAM 역할에는 Analytics Hub API를 사용 설정하는 데 필요한 권한이 포함되어 있습니다.

Analytics Hub API를 사용 설정하려면 다음 옵션 중 하나를 선택합니다.

콘솔

Analytics Hub API 페이지로 이동하여 Google Cloud 프로젝트에 Analytics Hub API를 사용 설정합니다.

Analytics Hub API 사용 설정

gcloud

gcloud services enable 명령어를 실행합니다.

gcloud services enable analyticshub.googleapis.com

필요한 역할

목록 및 구독을 관리하려면 다음 BigQuery Sharing Identity and Access Management (IAM) 역할 중 하나가 있어야 합니다.

자세한 내용은 BigQuery Sharing IAM 역할을 참고하세요. 다른 사용자에게 이러한 역할을 부여하는 방법을 알아보려면 목록 관리자 만들기를 참고하세요.

등록정보를 만들거나 등록정보의 복제본 리전을 업데이트하려면 소스 데이터 세트에 대한 bigquery.datasets.getbigquery.datasets.update 권한이 있어야 합니다. 다음 BigQuery 사전 정의된 역할에는 bigquery.datasets.update 권한이 포함되어 있습니다.

액세스 권한이 있는 조직의 모든 프로젝트에서 모든 데이터 교환을 보려면 resourcemanager.organizations.get 권한이 있어야 합니다. 이 권한이 포함된 BigQuery 사전 정의된 역할이 없으므로 IAM 커스텀 역할을 사용해야 합니다.

데이터 교환 보기

액세스할 수 있는 조직의 데이터 교환 목록을 보려면 데이터 교환 보기를 참고하세요. 데이터 교환이 다른 조직에 있는 경우 BigQuery Sharing 관리자로부터 데이터 교환 링크를 공유받아야 합니다.

등록정보 만들기

목록은 BigQuery 공유 게시자가 데이터 교환에 나열하는 공유 데이터 세트를 참조합니다.

목록을 만들려면 다음 단계를 따르세요.

콘솔

  1. Sharing(Analytics Hub) 페이지로 이동합니다.

    Sharing(Analytics Hub)으로 이동

    액세스할 수 있는 모든 데이터 교환이 나열된 페이지가 표시됩니다.

  2. 목록을 만들려는 데이터 교환 이름을 클릭합니다.

  3. 목록 만들기를 클릭합니다.

  4. 데이터 구성 섹션의 리소스 유형 메뉴에서 BigQuery 데이터 세트 또는 Pub/Sub 주제를 선택합니다.

    • BigQuery 데이터 세트를 선택하는 경우 다음 단계를 따르세요.

      1. 공유 데이터 세트 메뉴에서 기존 데이터 세트를 선택하거나 데이터 세트 만들기를 클릭하여 데이터 세트를 만듭니다. 데이터 세트는 데이터 교환과 동일한 리전에 있어야 합니다. 등록정보를 만든 후에는 공유 데이터 세트를 변경할 수 없습니다. 구독자가 연결된 데이터 세트의 메타데이터를 확인하면 BigQuery Sharing에서 소스 데이터 세트 이름과 데이터 세트가 포함된 프로젝트의 ID를 반환합니다.
      2. 선택사항: 구독자가 여러 등록정보에서 SQL 저장 프로시저를 공유할 수 있도록 하려면 저장 프로시저 공유 허용(미리보기)을 선택합니다.
      3. 추가 리전에서 공유 데이터 세트를 사용할 수 있도록 하려면 리전 데이터 사용 가능 여부 메뉴를 펼칩니다. 이 메뉴에는 기존 데이터 세트 복제본이 있는 리전이 사용 가능으로 표시됩니다. 여러 리전에 대한 등록정보를 구성하기 전에 공유 데이터 세트에서 리전 간 데이터 세트 복제를 사용 설정했는지 확인하세요. 리전 간 데이터 세트 복제가 사용 설정된 리전만 선택할 수 있습니다. 다른 모든 리전은 사용 불가로 표시됩니다. 추가 리전을 선택하지 않으면 목록이 공유 데이터 세트의 기본 리전으로 기본 설정되며, 이 리전은 제공업체 기본값으로 표시됩니다.
      4. 데이터 이그레스 제어에서 적절한 데이터 이그레스 옵션을 선택합니다.

        • 쿼리 결과 내보내기를 허용하면서 공유 데이터 세트의 데이터 복사 및 내보내기를 제한하려면 공유 데이터 복사 및 내보내기 사용 중지를 선택합니다.
        • 공유 데이터 세트와 쿼리 결과 모두에서 데이터 복사 및 내보내기를 제한하려면 쿼리 결과 복사 및 내보내기 사용 중지를 선택합니다. 이 옵션을 선택하면 공유 데이터 복사 및 내보내기 사용 중지도 선택됩니다.
        • 공유 데이터 세트에서 API를 통한 테이블 복사 및 내보내기를 제한하려면 API를 통한 테이블 복사 및 내보내기 사용 중지를 선택합니다. 이 옵션을 선택하면 공유 데이터 복사 및 내보내기 사용 중지도 선택됩니다.

        제한사항을 비롯한 데이터 이그레스 제어에 대한 자세한 내용은 데이터 이그레스 옵션 (BigQuery 공유 데이터 세트만 해당)을 참고하세요.

    • Pub/Sub 주제를 선택한 경우 공유 주제 메뉴에서 기존 Pub/Sub 주제를 선택하거나 주제 만들기를 클릭하여 주제를 만듭니다.

  5. 등록정보 세부정보 섹션의 표시 이름에 등록정보 이름을 입력합니다.

  6. 다음 선택적 세부정보를 입력합니다.

    • 카테고리: 목록을 가장 잘 나타내는 최대 2개의 카테고리를 선택하세요. 구독자는 선택한 카테고리를 사용하여 목록을 필터링할 수 있습니다.
    • 데이터 어피니티: 데이터를 게시하는 데 사용하는 리전을 지정합니다. 이 위치 설정은 구독자가 동일한 리전에서 데이터를 읽어 Pub/Sub 네트워크 이그레스 비용을 최소화하거나 방지하는 데 도움이 됩니다. 이그레스 비용에 대한 자세한 내용은 데이터 전송 비용을 참고하세요.
    • 아이콘: 등록정보의 아이콘을 업로드합니다. PNG 및 JPEG 파일 형식이 지원됩니다. 아이콘은 512KiB 미만이고 최대 크기는 512x512픽셀이어야 합니다.
    • 설명: 등록정보에 대한 간단한 설명을 입력합니다. 구독자는 설명 텍스트로 등록정보를 검색할 수 있습니다.
    • 공개 검색 가능 여부: BigQuery 공유 카탈로그에서 목록을 공개적으로 검색할 수 있도록 이 설정을 사용 설정합니다. 이 옵션을 사용 설정하는 경우 allUsers 또는 allAuthenticatedUsersAnalytics Hub 뷰어 역할 (roles/analyticshub.viewer)을 부여합니다. 자세한 내용은 목록에 역할 부여를 참고하세요. 거래소가 이미 공개 상태인 경우 목록이 해당 권한을 상속하므로 추가 조치를 취할 필요가 없습니다.

      공개적으로 검색 가능한 교환은 권한 상속으로 인해 비공개 목록을 가질 수 없지만 비공개 교환은 공개 목록을 가질 수 있습니다. 공개 등록정보를 만들려면 등록정보가 포함된 프로젝트에 연결된 조직 및 결제 계정이 있어야 합니다. Cloud Marketplace 통합 상용 등록정보를 만드는 경우 공개 검색 가능성을 사용 설정하는 것이 좋습니다.

    • 구독자 이메일 로깅: 연결된 데이터 세트에서 작업 및 쿼리를 실행하는 모든 사용자의 주 구성원 식별자를 로깅하려면 이 설정을 사용 설정합니다. 이 옵션을 사용 설정하면 이 등록정보에서 생성되는 모든 향후 정기 결제에서 구독자 이메일 로깅이 사용 설정됩니다. 로깅된 데이터는 INFORMATION_SCHEMA.SHARED_DATASET_USAGE 보기job_principal_subject 열에서 확인할 수 있습니다.

    • 문서 > 마크다운: 구독자가 데이터 세트를 사용하는 데 도움이 되는 지원 문서, 링크 또는 안내를 마크다운 형식으로 입력합니다.

  7. 등록정보 연락처 정보 섹션에서 다음 선택적인 세부정보를 입력합니다.

    • 담당자: 등록정보의 담당자 이메일 주소 또는 URL을 입력합니다.
    • 액세스 연락처 요청: 구독자가 액세스를 요청할 수 있도록 접수 양식의 이메일 주소 또는 URL을 입력합니다.
    • 프로바이더: 프로바이더 섹션을 펼치고 다음 필드에 세부정보를 입력합니다.

      • 공급업체 이름: 데이터 제공업체의 이름입니다.
      • 제공업체 기본 연락처: 데이터 제공업체의 기본 연락처의 이메일 주소 또는 URL입니다.

      구독자는 데이터 제공업체별로 목록을 필터링할 수 있습니다.

    • 게시자: 게시자 섹션을 펼치고 다음 필드에 세부정보를 입력합니다.

      • 게시자 이름: 등록정보를 만드는 게시자의 이름입니다.
      • 게시자 담당자: 게시자 담당자의 이메일 주소 또는 URL입니다.
  8. 등록정보 미리보기 섹션을 검토합니다.

  9. 등록정보를 게시하려면 게시를 클릭합니다.

API

projects.locations.dataExchanges.listings.create 메서드를 사용합니다.

POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings?listingId=LISTING_ID

다음을 바꿉니다.

  • PROJECT_ID: 목록을 만들려는 데이터 교환이 포함된 프로젝트의 ID
  • LOCATION: 데이터 교환의 위치입니다. BigQuery Sharing을 지원하는 위치에 대한 자세한 내용은 지원되는 리전을 참고하세요.
  • DATAEXCHANGE_ID: 데이터 교환 ID
  • LISTING_ID: 목록 ID

요청 본문에 목록 세부정보를 제공합니다.

여러 지역에 등록정보를 만들려면 요청 본문의 bigqueryDataset.replicaLocations 필드에 해당 지역을 지정합니다. 여러 리전에 대한 등록정보를 구성하기 전에 공유 데이터 세트에서 리전 간 데이터 세트 복제를 사용 설정했는지 확인하세요. 리전 간 데이터 세트 복제가 사용 설정된 리전만 선택할 수 있습니다. 이 선택사항 필드를 생략하면 등록정보에서 공유 데이터 세트의 기본 지역을 사용합니다.

요청이 성공하면 응답 본문에 등록정보 세부정보가 반환됩니다. logLinkedDatasetQueryUserEmail 필드를 true로 설정하여 구독자 이메일 로깅을 사용 설정하면 등록정보 응답에 log_linked_dataset_query_user_email: true가 반환됩니다. 로깅된 데이터는 INFORMATION_SCHEMA.SHARED_DATASET_USAGE 보기job_principal_subject 열에서 확인할 수 있습니다.

API를 사용하여 목록에 수행할 수 있는 작업에 대한 상세 설명은 projects.locations.dataExchanges.listings 메서드를 참조하세요.

데이터 세트에서 목록 만들기

기존 데이터 세트에서 직접 등록정보를 만들려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.

    BigQuery로 이동

  2. 데이터 세트 세부정보를 보려면 데이터 세트 이름을 클릭합니다.

  3. 공유 > 목록으로 게시를 클릭합니다.

    목록 만들기 대화상자가 열립니다.

  4. 목록을 게시할 데이터 교환을 선택합니다. 데이터 교환은 데이터 세트와 동일한 리전에 있어야 합니다. 데이터 교환을 만드는 방법에 관한 자세한 내용은 교환 만들기 및 권한 설정을 참고하세요.

  5. 공유 데이터 세트 메뉴에서 기존 데이터 세트를 선택하거나 데이터 세트 만들기를 클릭하여 데이터 세트를 만듭니다. 데이터 세트는 데이터 교환과 동일한 리전에 있어야 합니다. 등록정보를 만든 후에는 이 선택사항을 변경할 수 없습니다.

    구독자가 연결된 데이터 세트의 메타데이터를 확인하면 BigQuery Sharing에서 소스 데이터 세트 이름과 데이터 세트가 포함된 프로젝트의 ID를 반환합니다.

  6. 선택사항: 구독자가 여러 등록정보에서 SQL 저장 프로시저를 공유할 수 있도록 하려면 저장 프로시저 공유 허용(미리보기)을 선택합니다.

  7. 추가 리전에서 공유 데이터 세트를 사용할 수 있도록 하려면 리전 데이터 사용 가능 여부 메뉴를 펼칩니다. 메뉴에는 데이터 세트 복제본이 있는 리전이 사용 가능으로 표시됩니다. 여러 리전에 대한 등록정보를 구성하기 전에 공유 데이터 세트에서 리전 간 데이터 세트 복제를 사용 설정했는지 확인하세요. 리전 간 데이터 세트 복제가 사용 설정된 리전만 선택할 수 있으며, 다른 모든 리전은 사용 불가로 표시됩니다. 추가 리전을 선택하지 않으면 목록은 공유 데이터 세트의 기본 리전으로 기본 설정되며, 이 리전은 제공업체 기본값으로 표시됩니다.

  8. 데이터 이그레스 제어에서 적절한 데이터 이그레스 옵션을 선택합니다.

    • 쿼리 결과 내보내기를 허용하면서 공유 데이터 세트의 복사 및 내보내기를 제한하려면 공유 데이터 복사 및 내보내기 사용 중지를 선택합니다.
    • 공유 데이터 세트와 쿼리 결과 모두에서 복사 및 내보내기를 제한하려면 쿼리 결과 복사 및 내보내기 사용 중지를 선택합니다. 이 옵션을 선택하면 공유 데이터 복사 및 내보내기 사용 중지도 선택됩니다.
    • 공유 데이터 세트에서 API를 통한 테이블 복사 및 내보내기를 제한하려면 API를 통한 테이블 복사 및 내보내기 사용 중지를 선택합니다. 이 옵션을 선택하면 공유 데이터 복사 및 내보내기 사용 중지도 선택됩니다.

    데이터 이그레스 제어 및 제한사항에 대한 자세한 내용은 데이터 이그레스 옵션 (BigQuery 공유 데이터 세트만 해당)을 참고하세요.

  9. 등록정보 세부정보 섹션의 표시 이름에 등록정보 이름을 입력합니다.

  10. 다음 선택적 세부정보를 입력합니다.

    • 카테고리: 목록을 가장 잘 나타내는 최대 2개의 카테고리를 선택하세요. 구독자는 선택한 카테고리를 사용하여 목록을 필터링할 수 있습니다.

    • 데이터 어피니티: 데이터를 게시하는 데 사용하는 리전을 지정합니다. 이 위치 설정은 구독자가 동일한 리전에서 데이터를 읽어 Pub/Sub 네트워크 이그레스 비용을 최소화하거나 방지하는 데 도움이 됩니다. 이그레스 비용에 대한 자세한 내용은 데이터 전송 비용을 참고하세요.

    • 아이콘: 등록정보의 아이콘을 업로드합니다. PNG 및 JPEG 파일 형식이 지원됩니다. 아이콘은 512KiB 미만이고 최대 크기는 512 x 512픽셀이어야 합니다.

    • 설명: 등록정보에 대한 간단한 설명을 입력합니다. 구독자는 설명 텍스트로 목록을 검색할 수 있습니다.

    • 공개 검색 가능 여부: BigQuery 공유 카탈로그에서 목록을 공개적으로 검색할 수 있도록 이 설정을 사용 설정합니다. 이 옵션을 사용 설정하는 경우 allUsers 또는 allAuthenticatedUsers에 Analytics Hub 뷰어 역할(roles/analyticshub.viewer)을 부여합니다. 자세한 내용은 목록에 역할 부여를 참고하세요. 거래소가 이미 공개 상태인 경우 목록이 해당 권한을 상속하므로 추가 조치를 취할 필요가 없습니다.

      공개적으로 검색 가능한 교환은 권한 상속으로 인해 비공개 목록을 가질 수 없지만 비공개 교환은 공개 목록을 가질 수 있습니다. 공개 등록정보를 만들려면 등록정보가 포함된 프로젝트에 연결된 조직 및 결제 계정이 있어야 합니다. Cloud Marketplace 통합 상용 등록정보를 만드는 경우 공개 검색 가능성을 사용 설정하는 것이 좋습니다.

    • 구독자 이메일 로깅: 이 등록정보의 연결된 데이터 세트에서 작업 및 쿼리를 실행하는 구독자의 주 구성원 식별자를 향후 모든 구독에 대해 로깅하려면 사용 설정합니다. 이 옵션을 사용 설정하면 새로 생성된 정기 결제만 보안 주체 식별자를 기록합니다. 로깅된 데이터는 INFORMATION_SCHEMA.SHARED_DATASET_USAGEjob_principal_subject 열에서 확인할 수 있습니다.

    • 문서 > 마크다운: 구독자가 데이터 세트를 사용하는 데 도움이 되는 지원 문서, 링크 또는 안내를 입력합니다.

  11. 등록정보 연락처 정보 섹션에서 다음 선택적인 세부정보를 입력합니다.

    • 담당자: 등록정보의 담당자 이메일 주소 또는 URL을 입력합니다.

    • 액세스 연락처 요청: 구독자가 액세스를 요청할 수 있도록 접수 양식의 이메일 주소 또는 URL을 입력합니다.

    • 프로바이더: 프로바이더 섹션을 펼치고 다음 필드에 세부정보를 입력합니다.

      • 공급업체 이름: 데이터 제공업체의 이름입니다.
      • 제공업체 기본 연락처: 데이터 제공업체의 기본 연락처의 이메일 주소 또는 URL입니다.

      구독자는 데이터 제공업체별로 목록을 필터링할 수 있습니다.

    • 게시자: 게시자 섹션을 펼치고 다음 필드에 세부정보를 입력합니다.

      • 게시자 이름: 등록정보를 만드는 게시자의 이름입니다.
      • 게시자 담당자: 게시자 담당자의 이메일 주소 또는 URL입니다.
  12. 등록정보 미리보기 섹션을 검토합니다.

  13. 등록정보를 게시하려면 게시를 클릭합니다.

여러 등록정보에서 SQL 저장 프로시저 공유

BigQuery 데이터 세트로 목록을 만들 때 SQL 저장 프로시저를 공유할 수 있습니다. 저장 프로시저는 테이블을 만들고, 삭제하고, 조작할 수 있으며 다른 저장 프로시저를 호출할 수 있으므로 저장 프로시저를 공유하려면 추가 승인이 필요합니다.

구독자 승인

구독자가 등록정보를 구독한 후 연결된 저장 프로시저가 즉시 실행되지 않을 수 있습니다. 연결된 저장 프로시저가 실행될 수 있도록 구독자는 연결된 데이터 세트 이름을 제공자에게 전송하여 제공자가 제공자의 리소스에 연결된 저장 프로시저를 승인해야 합니다. 또한 구독자는 이러한 리소스에서 읽고 쓸 수 있도록 연결된 공유 저장 프로시저를 승인하고 IAM 역할을 연결하여 구독자의 리소스에 연결해야 합니다.

제공업체 승인

제공업체가 저장 프로시저를 사용하여 등록정보를 만드는 경우 연결된 저장 프로시저를 통해 구독자가 제공업체의 테이블에서 읽고 쓸 수 있도록 해야 합니다. 액세스를 보장하려면 제공업체는 다음을 수행해야 합니다.

  • 읽기 작업이 아닌 경우 연결된 공유 저장 프로시저를 승인하고 연결된 저장 프로시저가 액세스하는 모든 제공업체 리소스에 IAM 역할을 연결합니다.

  • 읽기 작업의 경우 연결된 공유 저장 프로시저 (구독자의 연결된 데이터 세트) 또는 원래 공유 저장 프로시저(제공자의 데이터 세트)를 승인하고 프로시저에서 액세스하는 제공자 리소스에 IAM 역할을 연결합니다.

사용자에게 목록에 대한 액세스 권한 부여

비공개 등록정보에 대한 액세스 권한을 제공하려면 특정 개인 또는 그룹이 포함되도록 해당 등록정보에 대한 IAM 정책을 설정해야 합니다. 상업용 등록정보의 경우 데이터 교환이 공개 상태여야 합니다. 공개 데이터 교환의 목록은 모든 Google Cloud 사용자 (allAuthenticatedUsers)의 BigQuery 공유에 표시됩니다. 사용자가 상용 목록을 탐색하고 액세스를 요청할 수 있도록 하려면 해당 사용자에게 Analytics Hub 뷰어 역할(roles/analyticshub.viewer)을 부여합니다. 사용자가 상용 목록을 구독할 수 있도록 하려면 해당 사용자에게 Analytics Hub 구독자 역할(roles/analyticshub.subscriber)을 부여합니다. Cloud Marketplace 통합 상용 목록의 경우 BigQuery 공유는 Cloud Marketplace 주문에 따라 Analytics Hub 구독자 역할을 자동으로 부여합니다.

Google Cloud 계정이 없는 사용자를 포함하여 모든 사용자가 목록에 액세스할 수 있도록 하려면 allUsers에 Analytics Hub 뷰어 역할 (roles/analyticshub.viewer)을 부여하세요.

사용자에게 목록을 보거나 구독할 수 있는 액세스 권한을 부여하려면 다음 단계를 따르세요.

콘솔

  1. Sharing(Analytics Hub) 페이지로 이동합니다.

    Sharing(Analytics Hub)으로 이동

  2. 목록이 포함된 데이터 교환 이름을 클릭합니다.

  3. 공유하려는 등록정보를 클릭합니다.

  4. 권한 설정을 클릭합니다.

  5. 주 구성원을 추가하려면 주 구성원 추가를 클릭합니다.

  6. 새 주 구성원 필드에 등록정보 유형에 따라 주 구성원을 입력합니다.

    • 비공개 목록의 경우 액세스 권한을 부여할 ID의 이메일 주소를 입력합니다.

    • 공개 목록의 경우 allAuthenticatedUsers를 입력합니다.

    • Google Cloud를 사용하지 않는 사용자를 포함하여 모든 사용자가 검색할 수 있는 공개 등록정보의 경우 allUsers를 입력합니다.

  7. 역할 선택 메뉴에서 Analytics Hub를 가리킨 다음 등록정보 유형에 따라 역할을 선택합니다.

    • 상업용 등록정보 (Cloud Marketplace 통합 등록정보 포함)의 경우 Analytics Hub 뷰어를 선택합니다. 이 역할을 통해 사용자는 등록정보를 보고 액세스를 요청할 수 있습니다.

    • 비공개 또는 비상업적 공개 목록의 경우 Analytics Hub 구독자를 선택합니다. 이 역할을 통해 사용자는 목록을 구독할 수 있습니다.

    • Cloud Marketplace 통합 등록정보의 경우 Analytics Hub 구독자 역할 (roles/analyticshub.subscriber)을 부여할 필요가 없습니다. 구독은 Cloud Marketplace 주문에 따라 자동으로 관리됩니다.

    자세한 내용은 Analytics Hub 구독자 및 뷰어 역할을 참고하세요.

  8. 권한을 저장하려면 저장을 클릭합니다.

API

  1. projects.locations.dataExchanges.listings.getIamPolicy 메서드를 호출하여 기존 정책을 읽습니다.

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:getIamPolicy
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다(예: my-project-1).
    • LOCATION: 등록정보가 포함된 데이터 교환 위치
    • DATAEXCHANGE_ID: 데이터 교환 ID
    • LISTING_ID: 목록 ID

    Sharing은 응답에 현재 정책을 반환합니다.

  2. 구성원과 연결된 역할을 추가하거나 삭제하려면 텍스트 편집기를 사용하여 정책 JSON을 수정합니다. 다음 형식을 사용하여 구성원을 지정합니다.

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    예를 들어 group:subscribers@example.comroles/analyticshub.subscriber 역할을 부여하려면 다음 바인딩을 정책에 추가합니다.

    {
    "members": [
     "group:subscribers@example.com"
    ],
    "role":"roles/analyticshub.subscriber"
    }
    
  3. projects.locations.dataExchanges.listings.setIamPolicy 메서드를 호출하여 정책을 업데이트합니다. 요청 본문에서 이전 단계의 업데이트된 IAM 정책을 전달합니다.

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:setIamPolicy
    

    요청 본문에 목록 세부정보를 전달합니다. 요청이 성공하면 응답 본문에서 업데이트된 정책과 함께 등록정보 세부정보를 반환합니다.

API를 사용하여 목록에 수행할 수 있는 작업에 대한 상세 설명은 projects.locations.dataExchanges.listings 메서드를 참조하세요.

공개 등록정보의 인증되지 않은 URL 만들기

Google Cloud 계정이 없는 사용자가 볼 수 있는 인증되지 않은 BigQuery 공유 목록 URL을 만들려면 다음 단계를 따르세요.

  1. Sharing(Analytics Hub) 페이지로 이동합니다.

    Sharing(Analytics Hub)으로 이동

    액세스할 수 있는 모든 데이터 교환이 나열된 페이지가 표시됩니다.

  2. 목록이 포함된 데이터 교환 이름을 클릭합니다.

  3. 등록정보 세부정보를 보려면 등록정보 표시 이름을 클릭합니다. 목록에 공개 검색 가능 여부가 사용 설정되어 있어야 합니다.

  4. 공개 링크 복사를 클릭합니다. 외부 사용자가 등록정보를 볼 수 있도록 하려면 등록정보에서 allUsers에게 Analytics Hub 뷰어 역할 (roles/analyticshub.viewer)을 부여하는지 확인합니다.

목록 관리자 만들기

사용자가 등록정보를 관리할 수 있도록 하려면 등록정보에 대한 Analytics Hub 게시자 또는 Analytics Hub 등록정보 관리자 역할을 사용자에게 부여하여 등록정보 관리자를 만들면 됩니다. 목록에 역할을 부여하는 방법에 대한 안내는 목록에 역할 부여를 참고하세요.

정기 결제 모두 보기

등록정보에 대한 모든 현재 구독을 보려면 다음 옵션 중 하나를 선택합니다.

콘솔

  1. Sharing(Analytics Hub) 페이지로 이동합니다.

    Sharing(Analytics Hub)으로 이동

  2. 구독을 관리하려는 등록정보가 포함된 데이터 교환 이름을 클릭합니다.

  3. 모든 구독자를 나열할 목록을 클릭합니다.

  4. 등록정보의 모든 구독자를 보려면 구독 관리를 클릭하세요.

    Analytics Hub 목록의 강조 표시된 구독 관리 옵션

  5. (선택사항) 구독자 세부정보에 따라 결과를 필터링할 수 있습니다.

또는 공유 데이터 세트에 액세스할 수 있는 경우 다음 단계에 따라 구독자를 나열할 수 있습니다.

  1. BigQuery 페이지로 이동합니다.

    BigQuery로 이동

  2. 왼쪽 창에서 탐색기를 클릭합니다.

    강조 표시된 탐색기 창 버튼

    왼쪽 창이 표시되지 않으면 왼쪽 창 펼치기를 클릭하여 창을 엽니다.

  3. 탐색기 창에서 프로젝트 이름을 펼치고 데이터 세트를 클릭한 후 공유 데이터 세트 이름을 클릭합니다.

  4. 공유 목록에서 구독 관리를 선택합니다.

SQL

다음 예에서는 INFORMATION_SCHEMA.SCHEMATA_LINKS를 사용하여 us 리전에 있는 myproject의 공유 데이터 세트에 연결된 모든 연결된 데이터 세트를 나열합니다.

SELECT * FROM `myproject`.`region-us`.INFORMATION_SCHEMA.SCHEMATA_LINKS;

출력은 다음과 비슷합니다. 출력이 간소화되도록 일부 열을 생략합니다.

+----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+
|  catalog_name  | schema_name | linked_schema_catalog_name | linked_schema_catalog_number | linked_schema_name | linked_schema_org_display_name |
+----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+
| myproject      | myschema1   | subscriptionproject1       |                 974999999291 | subscriptionld1    | subscriptionorg                |
| myproject      | myschema2   | subscriptionproject2       |                 974999999292 | subscriptionld2    | subscriptionorg                |
| myproject      | myschema3   | subscriptionproject3       |                 974999999293 | subscriptionld3    | subscriptionorg                |
+----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+

여러 리전이 있는 등록정보의 경우 us 리전을 원하는 복제본 위치로 바꿔 여러 리전의 구독을 볼 수 있습니다. 예를 들어 eu 리전에 있는 myproject의 공유 데이터 세트에 연결된 연결된 데이터 세트를 보려면 다음 쿼리를 사용합니다.

SELECT * FROM `myproject`.`region-eu`.INFORMATION_SCHEMA.SCHEMATA_LINKS;

API

projects.locations.dataExchanges.listings.listSubscriptions 메서드를 사용합니다.

GET https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:listSubscriptions

다음을 바꿉니다.

  • PROJECT_ID: 구독하려는 목록의 프로젝트 ID
  • LOCATION: 구독하려는 목록의 위치
  • DATAEXCHANGE_ID: 구독하려는 등록정보가 포함된 거래소 ID
  • LISTING_ID: 구독하려는 목록의 ID

구독 삭제

2023년 7월 25일 이전에 생성된 구독을 등록정보에서 삭제하면 연결된 데이터 세트공유 데이터 세트에서 연결 해제됩니다. 구독자는 여전히 프로젝트에서 데이터 세트를 볼 수 있지만 데이터 세트가 더 이상 공유 데이터 세트에 연결되지 않습니다.

2023년 7월 25일 이전에 생성된 구독을 등록정보에서 삭제하려면 다음 단계를 따르세요.

  1. 목록의 구독자를 나열하려면 Google Cloud 콘솔의 모든 구독 보기 안내를 따르세요.

  2. 목록에서 구독자를 삭제하려면 삭제를 클릭합니다. 모든 구독을 삭제하려면 모든 구독 삭제를 클릭합니다.

  3. 구독을 삭제하시겠어요? 대화상자에서 remove를 입력하여 삭제를 확인합니다.

  4. 삭제를 클릭합니다.

2023년 7월 25일 이후에 생성된 구독을 삭제하려면 다음 단계를 따르세요.

콘솔

  1. 목록의 구독자를 나열하려면 Google Cloud 콘솔의 모든 구독 보기 안내를 따르세요.

  2. 구독을 클릭합니다.

  3. 삭제할 구독을 선택하려면 해당 구독 옆의 체크박스를 선택한 다음 구독 삭제를 클릭합니다.

  4. 구독을 삭제하시겠어요? 대화상자에서 remove를 입력하여 삭제를 확인합니다.

  5. 삭제를 클릭합니다.

API

projects.locations.subscriptions.revoke 메서드를 호출합니다.

POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/subscriptions/SUBSCRIPTION_ID:revoke

다음을 바꿉니다.

  • PROJECT_ID: 삭제하려는 구독의 프로젝트 ID
  • LOCATION: 삭제할 구독의 위치
  • SUBSCRIPTION: 삭제하려는 구독의 ID

목록 업데이트

데이터 교환 요구사항이 변경되면 기본 공유 데이터 세트를 수정하지 않고도 등록정보의 메타데이터, 카테고리, 검색 가능 여부 설정, 리전 가용성을 업데이트할 수 있습니다.

목록을 업데이트하려면 다음 단계를 따르세요.

콘솔

  1. Sharing(Analytics Hub) 페이지로 이동합니다.

    Sharing(Analytics Hub)으로 이동

  2. 목록이 포함된 데이터 교환 이름을 클릭합니다.

  3. 업데이트할 목록을 클릭합니다.

  4. 목록 수정을 클릭합니다.

  5. 필드의 값을 수정합니다. 목록의 공유 데이터 세트를 제외한 모든 값을 수정할 수 있습니다.

  6. 선택사항: 등록정보 설정 및 재고를 업데이트합니다.

    • 공개 검색 가능 여부를 사용 설정하려면 allUsers 또는 allAuthenticatedUsersAnalytics Hub 뷰어 역할(roles/analyticshub.viewer)을 부여합니다. 목록에 역할을 부여하는 방법에 대한 안내는 목록에 역할 부여를 참고하세요.
    • 비공개 거래소의 목록에 대해 공개 검색 가능 여부를 사용 중지하려면 allUsersallAuthenticatedUsers에서 Analytics Hub 뷰어 역할 (roles/analyticshub.viewer)을 삭제합니다. 거래소가 이미 공개 상태인 경우 목록 권한이 이미 상속되므로 추가 조치를 취할 필요가 없습니다.
    • 구독자 이메일 로깅을 사용 설정하고 저장한 후에는 이 설정을 수정할 수 없습니다. 이메일 로깅을 사용 중지하려면 목록을 삭제한 후 구독자 이메일 로깅을 선택하지 않고 목록을 다시 만드세요.
    • 리전을 추가하거나 삭제하려면 리전 선택을 업데이트하세요. 여러 리전을 추가하기 전에 공유 데이터 세트에서 리전 간 데이터 세트 복제를 사용 설정했는지 확인하세요. 리전을 삭제하기 전에 해당 리전의 공유 데이터 세트 복제본을 삭제하세요.
  7. 등록정보 미리보기를 검토합니다.

  8. 저장을 클릭하여 변경사항을 저장합니다. Cloud Marketplace 통합 등록정보를 업데이트하면 Cloud Marketplace 데이터 제품 등록정보도 업데이트하라는 알림이 표시됩니다.

API

projects.locations.dataExchanges.listings.patch 메서드를 호출합니다.

PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID?updateMask=UPDATEMASK

다음을 바꿉니다.

  • PROJECT_ID: 목록을 만들려는 데이터 교환이 포함된 프로젝트의 ID
  • LOCATION: 데이터 교환의 위치
  • DATAEXCHANGE_ID: 데이터 교환의 ID
  • LISTING_ID: 업데이트할 등록정보의 ID입니다.
  • UPDATEMASK: 업데이트할 필드의 목록입니다. 여러 값을 업데이트하려면 쉼표로 구분된 목록을 사용합니다. 예를 들어 데이터 교환의 표시 이름과 기본 연락처를 업데이트하려면 displayName,primaryContact를 입력합니다.

요청 본문에서 업데이트 마스크의 필드에 업데이트된 값을 지정합니다.

  • displayName
  • description
  • primaryContact
  • documentation
  • icon
  • categories[]
  • discoveryType
  • logLinkedDatasetQueryUserEmail
  • bigqueryDataset.replicaLocations

이러한 필드에 대한 자세한 내용은 리소스: 등록정보를 참고하세요.

등록정보의 복제본 리전을 업데이트할 때는 적용 가능한 모든 리전을 지정하세요. 등록정보를 업데이트하기 전에 공유 데이터 세트에서 교차 리전 데이터 세트 복제를 사용 설정했는지 확인하세요. 공유 데이터 세트에 복제본이 있는 리전만 추가할 수 있습니다. 목록에서 리전을 삭제하기 전에 해당 리전의 공유 데이터 세트 복제본을 삭제하세요. 단일 리전 등록정보를 멀티 리전 등록정보로 변환할 수도 있습니다.

API를 사용하여 목록에 수행할 수 있는 작업에 대한 상세 설명은 projects.locations.dataExchanges.listings 메서드를 참조하세요.

BigQuery Sharing 카탈로그에서 등록정보의 노출을 늘리려면 추천 섹션에 등록정보를 표시하면 됩니다. 추천 목록은 Google Cloud 파트너 프로그램 계약에 따라 관리됩니다.

추천 섹션에 등록정보를 표시하도록 요청하려면 다음 기준을 충족해야 합니다.

추천 섹션에 목록을 추가하거나 섹션에서 목록을 삭제하도록 요청하려면 추천 목록 접수 양식을 제출하세요.

목록 삭제

목록을 삭제하면 구독자는 더 이상 등록정보를 볼 수 없습니다. 목록을 삭제하면 연결된 모든 데이터 세트도 삭제되고 구독자 프로젝트에서 모든 구독이 삭제됩니다. 데이터 세트가 연결된 상태로 유지되는 경우 공유 > 구독 관리를 클릭하여 데이터 세트를 수동으로 삭제합니다. 구독 페이지에서 특정 구독자 데이터 세트 또는 모든 구독자 데이터 세트를 한 번에 삭제합니다.

활성 상업용 구독이 있는 Cloud Marketplace 통합 등록정보는 삭제할 수 없습니다. 등록정보를 삭제하려면 먼저 모든 상업용 구독을 취소해야 합니다.

멀티 리전 등록정보를 삭제해도 공유 데이터 세트 복제본은 삭제되지 않습니다. 다지역 등록정보를 삭제하면 구독자는 더 이상 등록정보를 보거나 연결된 데이터 세트를 쿼리할 수 없습니다. 다른 등록정보가 공유 데이터 세트 복제본을 참조하지 않는 경우 해당 복제본을 삭제할 수 있습니다.

멀티 리전 등록정보를 삭제하기 전에 등록정보에 활성 구독이 없는지 확인하세요. 활성 구독이 있으면 projects.locations.subscriptions.revoke 메서드를 호출하여 취소합니다. 활성 상태인 모든 구독을 삭제한 후 다중 지역 등록정보를 삭제합니다.

목록을 삭제하려면 다음 단계를 따르세요.

콘솔

  1. Sharing(Analytics Hub) 페이지로 이동합니다.

    Sharing(Analytics Hub)으로 이동

  2. 목록이 포함된 데이터 교환 이름을 클릭합니다.

  3. 삭제할 목록을 클릭합니다.

  4. 삭제를 클릭합니다.

  5. 목록을 삭제하시겠습니까? 대화상자에서 delete를 입력하여 삭제를 확인합니다.

  6. 삭제를 클릭합니다.

API

projects.locations.dataExchanges.listings.delete 메서드를 호출합니다.

DELETE https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID

다음을 바꿉니다.

  • PROJECT_ID: 데이터 교환이 포함된 프로젝트의 ID입니다.
  • LOCATION: 데이터 교환의 위치
  • DATAEXCHANGE_ID: 데이터 교환의 ID
  • LISTING_ID: 삭제할 등록정보의 ID입니다.

API를 사용하여 목록에 수행할 수 있는 작업에 대한 상세 설명은 projects.locations.dataExchanges.listings 메서드를 참조하세요.

다음 단계