목록 관리

Analytics Hub 게시자는 다음 작업을 수행할 수 있습니다.

  • 게시 액세스 권한이 있는 데이터 교환에 목록 만들기
  • 목록의 사용량 측정항목을 업데이트, 삭제, 공유, 열람하기
  • 관리자, 구독자, 뷰어 나열과 같이 Analytics Hub 목록에 대한 다양한 역할 관리하기
  • 목록을 구독한 모든 구독자 열람하기
  • 목록의 사용량 모니터링
  • 목록에서 구독자 삭제하기

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

  • 공개 목록. Google Cloud 사용자(allAuthenticatedUsers)검색하고 구독할 수 있습니다. 공개 데이터 교환의 목록은 공개 목록입니다. 이 목록은 무료 공개 데이터 세트 또는 상용 데이터 세트가 참조할 수 있습니다. 목록이 상용 데이터 세트인 경우 구독자가 목록에 대한 액세스를 요청할 수 있고 데이터 제공업체가 해당 구독자에게 연락합니다.

  • 비공개 목록. 개인 또는 그룹과 직접 공유됩니다. 예를 들어 비공개 목록은 조직의 다른 내부 팀과 공유하는 마케팅 측정항목 데이터 세트를 참조할 수 있습니다. allAuthenticatedUsers가 목록을 구독하도록 허용할 수 있지만 목록은 비공개로 유지되며 Analytics Hub 페이지에 공개 목록으로 표시되지 않습니다. 이러한 목록을 사용자와 공유하려면 등록정보의 URL을 공유하세요. 비공개 목록을 검색 가능하게 설정하려면 교환을 공개로 설정해야 합니다.

시작하기 전에

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를 사용 설정하는 데 필요한 권한이 포함되어 있습니다.

  • roles/serviceusage.serviceUsageAdmin

BigQuery에서 IAM 역할에 대한 상세 설명은 사전 정의된 역할 및 권한을 참조하세요.

Analytics Hub API 사용 설정

Analytics Hub API를 사용 설정하려면 다음 단계를 따르세요.

콘솔

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

Analytics Hub API 사용 설정

gcloud

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

gcloud services enable analyticshub.googleapis.com

필수 권한

목록 및 구독을 관리하려면 다음 Analytics Hub 역할 중 하나가 있어야 합니다.

  • Analytics Hub 게시자 역할(roles/analyticshub.publisher) - 목록에 IAM 정책을 생성, 업데이트, 삭제, 설정할 수 있습니다.

  • Analytics Hub 목록 관리자 역할(roles/analyticshub.listingAdmin) - 목록에 IAM 정책을 업데이트, 삭제, 설정할 수 있습니다.

  • Analytics Hub 관리자 역할(roles/analyticshub.Admin) - 데이터 교환의 모든 목록에서 IAM 정책을 생성, 업데이트, 삭제, 설정할 수 있습니다.

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

또한 목록을 만들려면 목록을 만들 데이터 세트에 대한 bigquery.datasets.getbigquery.datasets.update 권한도 있어야 합니다. 다음 BigQuery 사전 정의된 역할bigquery.datasets.update 권한이 포함되어 있습니다.

  • BigQuery 데이터 소유자 역할(roles/bigquery.dataOwner)
  • BigQuery 관리자 역할(roles/bigquery.admin)

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

데이터 교환 보기

액세스 권한이 있는 조직의 데이터 교환 목록을 보려면 데이터 교환 보기를 참조하세요. 데이터 교환이 다른 조직에 있는 경우 Analytics Hub 관리자로부터 해당 데이터 교환에 대한 링크를 공유받아야 합니다.

목록 만들기

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

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

콘솔

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

    Analytics Hub로 이동

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

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

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

  4. 목록 만들기 페이지의 표시 이름에 목록 이름을 입력합니다.

  5. 상용 데이터 세트를 만드는 경우 액세스 연락처 요청 필드를 입력해야 합니다. 구독자가 연락하려면 접수 양식의 이메일 또는 URL을 입력해야 합니다.

  6. 선택사항: 다음 세부정보를 입력합니다.

    • 기본 연락처: 목록에 대한 기본 연락처의 이메일 또는 URL을 입력합니다.

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

    • 제공업체: 제공업체 섹션을 펼치고 다음 필드에 세부정보를 지정합니다.

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

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

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

      • 게시자 이름: 목록을 만들려는 게시자의 이름입니다.
      • 게시자 기본 연락처: 데이터 세트 게시자 기본 연락처의 이메일 또는 URL입니다.
    • 아이콘: 목록의 아이콘입니다. PNG 및 JPEG 파일 형식이 지원됩니다. 아이콘의 파일 크기는 512KiB 미만이어야 하고 크기는 512x512픽셀 이하여야 합니다.

    • 설명: 목록에 대한 간단한 설명입니다. 구독자는 설명을 기반으로 목록을 검색할 수 있습니다.

  7. 소스 데이터 세트에서 데이터 교환에 나열할 데이터 세트를 선택합니다. 소스 데이터 세트는 데이터 교환과 동일한 리전에 있어야 합니다. 목록이 생성된 후에는 이 필드를 업데이트할 수 없습니다.

  8. 데이터 이그레스(미리보기)에서 적절한 데이터 이그레스 옵션을 선택합니다. 버전에 무관한 오퍼링 또는 Enterprise Plus 버전을 사용하는 구독자만 데이터 이그레스 제한이 적용되는 데이터를 쿼리할 수 있습니다.

    • 공유 데이터 세트에 데이터 이그레스 제한사항을 적용하지만 공유 데이터 세트의 쿼리 결과에는 적용하지 않으려면 공유 데이터 복사 및 내보내기 사용 중지를 선택합니다.
    • 공유 데이터 세트와 공유 데이터 세트의 쿼리 결과에 데이터 이그레스 제한사항을 적용하려면 쿼리 결과 복사 및 내보내기 사용 중지를 선택합니다. 그러면 자동으로 공유 데이터 복사 및 내보내기 사용 중지도 설정됩니다.
  9. (선택사항) 문서 > 마크다운 섹션에서 데이터 세트에서 실행할 수 있는 샘플 쿼리, 관련 문서 링크, 구독자가 데이터 세트를 사용하는 데 도움이 되는 정보와 같은 추가 정보를 입력할 수 있습니다.

  10. 저장을 클릭합니다.

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: 데이터 교환 위치. Analytics Hub를 지원하는 위치에 대한 자세한 내용은 지원되는 리전을 참조하세요.
  • DATAEXCHANGE_ID: 데이터 교환 ID
  • LISTING_ID: 목록 ID

요청 본문에 목록 세부정보를 제공합니다. 요청이 성공하면 응답 본문에 목록 세부정보가 포함됩니다.

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

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

사용자에게 비공개 목록에 대한 액세스 권한을 부여하려면 해당 목록의 개인 또는 그룹에 IAM 정책을 설정해야 합니다. 상업용 목록의 경우 데이터 교환이 공개 상태여야 합니다. 공개 데이터 교환의 목록은 Analytics Hub에서 모든 Google Cloud 사용자(allAuthenticatedUsers)에게 표시됩니다. 사용자가 상용 목록에 대한 액세스를 요청할 수 있도록 하려면 Analytics Hub 뷰어 역할을 사용자에게 부여해야 합니다.

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

콘솔

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

    Analytics Hub로 이동

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

  3. 구독자를 추가할 목록을 클릭합니다.

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

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

  6. 새 주 구성원 필드에 목록 유형에 따라 다음 세부정보를 추가합니다.

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

    • 공개 목록의 경우 allAuthenticatedUsers를 추가합니다.

  7. 역할 선택에서 Analytics Hub 위에 마우스 포인터를 올려놓고 목록 유형에 따라 다음 역할 중 하나를 선택합니다.

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

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

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

  8. 저장을 클릭합니다.

API

  1. projects.locations.dataExchanges.listings.getIamPolicy 메서드를 사용하여 목록 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

    Analytics Hub는 응답에 현재 정책을 반환합니다.

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

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

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

    {
     "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 메서드를 참조하세요.

목록 관리자 만들기

사용자가 목록을 관리할 수 있도록 하려면 Analytics Hub 목록 관리자를 만들어야 합니다. 목록 관리자를 만들려면 목록 수준에서 Analytics Hub 게시자 또는 Analytics Hub 목록 관리자 역할을 사용자에게 부여해야 합니다. 목록에 이러한 역할을 부여하는 방법에 대한 상세 설명은 목록에 역할 부여를 참조하세요.

정기 결제 모두 보기

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

콘솔

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

    Analytics Hub로 이동

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

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

  4. 목록의 모든 구독자를 보려면 구독 관리를 클릭합니다.

    구독자 관리

  5. 선택사항: 구독자 세부정보로 결과를 필터링할 수 있습니다.

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

  1. BigQuery 페이지로 이동

    BigQuery로 이동

  2. 탐색기 창에서 프로젝트를 확장하고 공유 데이터 세트를 선택합니다.

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

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                |
+----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+

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. Analytics Hub 페이지로 이동합니다.

    Analytics Hub로 이동

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

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

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

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

  6. 변경사항을 미리 보려면 미리보기를 클릭합니다.

  7. 저장을 클릭하여 변경사항을 저장합니다.

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

UPDATEMASK를 업데이트할 필드 목록으로 바꿉니다. 여러 값을 업데이트하려면 쉼표로 구분된 목록을 사용합니다. 요청 본문에서 업데이트된 값을 지정합니다.

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

목록 삭제

목록을 삭제하면 구독자는 더 이상 목록을 볼 수 없습니다. 목록을 삭제하면 구독자 프로젝트에서 연결된 모든 데이터 세트도 삭제(모든 구독 삭제)됩니다.

목록을 삭제한 후에는 실행취소할 수 없습니다. 목록을 삭제하려면 다음 단계를 따르세요.

콘솔

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

    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

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

다음 단계