Cloud Healthcare API와 다른 Google Cloud 제품 사이의 권한 관리

Cloud Healthcare API는 프로젝트의 다른 Google Cloud 리소스 (예: Cloud Storage 버킷 및 BigQuery 데이터 세트)에 자동으로 액세스할 수 없습니다. 이러한 리소스에 액세스할 때 Cloud Healthcare API는 Cloud Healthcare 서비스 에이전트라는 서비스 에이전트를 사용합니다.

Pub/Sub 주제에 변경사항 알림, Cloud Storage 버킷에서 데이터 가져오기, BigQuery 데이터 세트로 데이터 내보내기 등의 작업을 수행하려면 먼저 서비스 계정에 Cloud Healthcare API 외부의 리소스에 액세스하기 위한 ID 및 액세스 관리(IAM) 권한을 부여해야 합니다. 이 페이지에서는 여러 작업에 필요한 권한 및 이를 부여하는 방법을 설명합니다.

IAM을 사용하여 Cloud Healthcare API 내에서 권한을 구성하는 방법을 자세히 알아보려면 액세스 제어를 참조하세요.

Cloud Healthcare 서비스 에이전트

Cloud Healthcare 서비스 에이전트 서비스 계정은 Cloud Healthcare API를 사용 설정한 후에 자동으로 생성됩니다. 구성원 이름은 service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com입니다. Google Cloud 프로젝트의 PROJECT_NUMBER를 찾으려면 프로젝트 식별을 참조하세요.

Google Cloud 콘솔의 ID 및 액세스 관리 페이지에서 부여된 역할과 같이 Cloud Healthcare 서비스 에이전트 서비스 계정에 대한 자세한 정보를 볼 수 있습니다.

Cloud Healthcare 서비스 에이전트 및 ID 및 액세스 관리(IAM) 역할 및 권한과의 상호작용에 대한 자세한 내용은 액세스 제어를 참조하세요.

데이터 세트 CMEK 권한

Cloud Healthcare API 데이터 세트를 만들 때 고객 관리 암호화 키(CMEK)를 사용할 수 있습니다. Cloud Healthcare 서비스 에이전트 서비스 계정에서 CMEK 키를 사용하여 객체를 암호화 및 복호화할 수 있도록 하려면 서비스 계정에 CryptoKey 암호화/복호화(roles/cloudkms.cryptoKeyEncrypterDecrypter) 역할을 부여합니다.

콘솔

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

    IAM으로 이동

  2. Google 제공 역할 부여 포함 체크박스를 선택합니다.

  3. 주 구성원별로 보기 탭이 선택되었는지 확인합니다. Cloud Healthcare 서비스 에이전트 서비스 계정이 포함된 행을 찾아 해당 행에서 주 구성원 수정을 클릭합니다. 권한 수정 창이 표시됩니다.

  4. 다른 역할 추가를 클릭합니다.

  5. 역할 선택 드롭다운 메뉴에서 CryptoKey 암호화/복호화를 검색한 후 클릭합니다.

  6. 저장을 클릭합니다.

DICOM, FHIR, HL7v2 저장소 Pub/Sub 권한

DICOM, FHIR, HL7v2 저장소 내의 변경사항은 Pub/Sub 주제로 전송될 수 있습니다. 자세한 내용은 알림에 Cloud Pub/Sub 사용을 참조하세요.

이러한 저장소 내 메서드는 Pub/Sub 주제에 변경사항을 게시하기 위해 Cloud Healthcare 서비스 에이전트 서비스 계정에 대한 추가 권한이 필요합니다.

Google Cloud 콘솔 또는 gcloud CLI를 사용하여 pubsub.publisher 역할을 프로젝트의 서비스 계정에 추가합니다.

콘솔

  1. Cloud Healthcare API가 사용 설정되었는지 확인합니다.
  2. Google Cloud 콘솔의 IAM 페이지에서 Healthcare 서비스 에이전트 역할이 Cloud Healthcare 서비스 에이전트 서비스 계정의 역할 열에 표시되는지 확인합니다. 서비스 계정 식별자는 service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com입니다.
  3. 역할과 일치하는 상속 열에서 연필 아이콘을 클릭합니다. 권한 수정 창이 열립니다.
  4. 다른 역할 추가를 클릭한 다음 Pub/Sub 게시자 역할을 검색합니다.
  5. 역할을 선택하고 저장을 클릭합니다. pubsub.publisher 역할이 서비스 계정에 추가됩니다.

gcloud

서비스 계정 권한을 추가하려면 gcloud projects add-iam-policy-binding 명령어를 실행합니다. PROJECT_IDPROJECT_NUMBER를 찾으려면 프로젝트 식별을 참조하세요.

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/pubsub.publisher

프로젝트 간 Pub/Sub 권한 구성

다른 프로젝트의 주제에 Pub/Sub 알림을 게시하려면 Cloud Healthcare 서비스 에이전트 서비스 계정에 주제에 대한 pubsub.publisher 역할을 부여합니다. 자세한 내용은 Google Cloud 콘솔을 통해 액세스 제어IAM API를 통해 액세스 제어를 참조하세요.

프로젝트 간에 Pub/Sub 알림 게시에 대한 예시는 샘플 사용 사례: 프로젝트 간 통신을 참조하세요.

DICOM 저장소 Cloud Storage 권한

projects.locations.datasets.dicomStores.importprojects.locations.datasets.dicomStores.export 메서드는 cloud Storage로 데이터를 가져오고 내보내려면 Cloud Healthcare 서비스 에이전트 서비스 계정에 대한 추가 권한이 필요합니다.

Cloud Storage에서 데이터 가져오기

Google Cloud Console 또는 gcloud CLI를 사용하여 필요한 storage.objectViewer 역할을 프로젝트의 서비스 계정에 추가할 수 있습니다.

콘솔

  1. Cloud Healthcare API가 사용 설정되었는지 확인합니다.
  2. Google Cloud Console의 IAM 페이지에서 Healthcare 서비스 에이전트 역할이 Cloud Healthcare 서비스 에이전트 서비스 계정의 역할 열에 표시되는지 확인합니다. 서비스 계정 식별자는 service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com입니다.
  3. 역할과 일치하는 상속 열에서 연필 아이콘을 클릭합니다. 권한 수정 창이 열립니다.
  4. 다른 역할 추가를 클릭한 다음 저장소 객체 뷰어 역할을 검색합니다.
  5. 역할을 선택하고 저장을 클릭합니다. 그러면 storage.objectViewer 역할이 서비스 계정에 추가됩니다.

gcloud

서비스 계정 권한을 추가하려면 gcloud projects add-iam-policy-binding 명령어를 실행합니다. PROJECT_IDPROJECT_NUMBER를 찾으려면 프로젝트 식별을 참조하세요.
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/storage.objectViewer 

Cloud Storage로 데이터 내보내기

Google Cloud Console 또는 gcloud CLI를 사용하여 필요한 storage.objectAdmin 역할을 프로젝트의 서비스 계정에 추가할 수 있습니다.

콘솔

  1. Cloud Healthcare API가 사용 설정되었는지 확인합니다.
  2. Google Cloud 콘솔의 IAM 페이지에서 Healthcare 서비스 에이전트 역할이 Cloud Healthcare 서비스 에이전트 서비스 계정의 역할 열에 표시되는지 확인합니다. 서비스 계정 식별자는 service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com입니다.
  3. 역할과 일치하는 상속 열에서 연필 아이콘을 클릭합니다. 권한 수정 창이 열립니다.
  4. 다른 역할 추가를 클릭한 다음 저장소 객체 관리자 역할을 검색합니다.
  5. 역할을 선택하고 저장을 클릭합니다. 그러면 storage.objectAdmin 역할이 서비스 계정에 추가됩니다.

gcloud

서비스 계정 권한을 추가하려면 gcloud projects add-iam-policy-binding 명령어를 실행합니다. PROJECT_IDPROJECT_NUMBER를 찾으려면 프로젝트 식별을 참조하세요.

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/storage.objectAdmin

DICOM 저장소 BigQuery 권한

DICOM 메타데이터를 BigQuery로 내보내려면 projects.locations.datasets.dicomStores.export 메서드에 Cloud Healthcare 서비스 에이전트 서비스 계정에 대한 추가 권한이 필요합니다. 또한 BigQuery 데이터 세트에 대한 WRITER 액세스 권한을 Cloud Healthcare 서비스 에이전트의 서비스 계정에 부여해야 합니다.

Cloud Healthcare 서비스 에이전트 서비스 계정에 권한 부여하기

Google Cloud 콘솔 또는 gcloud CLI를 사용하여 필요한 bigquery.dataEditorbigquery.jobUser 역할을 프로젝트의 서비스 계정에 추가할 수 있습니다.

콘솔

  1. Cloud Healthcare API가 사용 설정되었는지 확인합니다.
  2. Google Cloud Console의 IAM 페이지에서 Healthcare 서비스 에이전트 역할이 Cloud Healthcare 서비스 에이전트 서비스 계정의 역할 열에 표시되는지 확인합니다. 서비스 계정 식별자는 service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com입니다.
  3. 역할과 일치하는 상속 열에서 연필 아이콘을 클릭합니다. 권한 수정 창이 열립니다.
  4. 다른 역할 추가를 클릭한 다음 BigQuery 데이터 편집기BigQuery 작업 사용자 역할을 검색합니다.
  5. 각 역할을 선택하고 저장을 클릭합니다. 그러면 bigquery.dataEditorbigquery.jobUser 역할이 서비스 계정에 추가됩니다.

gcloud

서비스 계정 권한을 추가하려면 gcloud projects add-iam-policy-binding 명령어를 실행합니다. PROJECT_IDPROJECT_NUMBER를 찾으려면 프로젝트 식별을 참조하세요.

  1. roles/bigquery.dataEditor 역할을 부여합니다.

    아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: Google Cloud 프로젝트의 ID
    • PROJECT_NUMBER: Google Cloud 프로젝트의 수

    다음 명령어를 실행합니다.

    Linux, macOS 또는 Cloud Shell

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
        --role=roles/bigquery.dataEditor

    Windows(PowerShell)

    gcloud projects add-iam-policy-binding PROJECT_ID `
        --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com `
        --role=roles/bigquery.dataEditor

    Windows(cmd.exe)

    gcloud projects add-iam-policy-binding PROJECT_ID ^
        --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com ^
        --role=roles/bigquery.dataEditor

    다음과 비슷한 응답이 표시됩니다.

    Updated IAM policy for project [PROJECT_ID].
    bindings:
    ...
    - members:
      - serviceAccount:service-NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
      role: roles/bigquery.dataEditor
    ...
    etag: ETAG
    version: VERSION
    

  2. roles/bigquery.jobUser 역할을 부여합니다.

    아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: Google Cloud 프로젝트의 ID
    • PROJECT_NUMBER: Google Cloud 프로젝트의 수

    다음 명령어를 실행합니다.

    Linux, macOS 또는 Cloud Shell

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
        --role=roles/bigquery.jobUser

    Windows(PowerShell)

    gcloud projects add-iam-policy-binding PROJECT_ID `
        --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com `
        --role=roles/bigquery.jobUser

    Windows(cmd.exe)

    gcloud projects add-iam-policy-binding PROJECT_ID ^
        --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com ^
        --role=roles/bigquery.jobUser

    다음과 비슷한 응답이 표시됩니다.

    Updated IAM policy for project [PROJECT_ID].
    bindings:
    ...
    - members:
      - serviceAccount:service-NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
      role: roles/bigquery.jobUser
    ...
    etag: ETAG
    version: VERSION
    

BigQuery 데이터 세트에 대한 WRITER 액세스 권한 부여

프로젝트의 서비스 계정에 bigquery.dataEditorbigquery.jobUser 역할을 추가한 경우 모든 BigQuery 데이터 세트에 대해 WRITER 액세스 권한을 갖습니다. 하지만 이러한 역할을 추가하지 않았고 단일 BigQuery 데이터 세트에 대해 WRITER 액세스 권한이 필요하면 해당 데이터 세트에 대해서만 WRITER 액세스 권한을 부여할 수 있습니다. BigQuery 데이터 세트에 대한 WRITER 액세스 권한을 부여하려면 다음 단계를 완료하세요.
  1. 데이터 세트에 대한 액세스 제어로 이동합니다.
  2. 사용 가능한 방법 중 하나를 사용하여 Cloud Healthcare 서비스 에이전트의 이메일 주소 WRITER에 BigQuery 데이터 세트 액세스 권한을 부여합니다. (@gcp-sa-healthcare.iam.gserviceaccount.com로 끝나는 이메일 주소를 찾습니다.)

예를 들어 Cloud Healthcare 서비스 에이전트의 이메일 주소가 service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com이고, BigQuery 웹 UI를 사용하는 경우 다음을 수행합니다.

  1. Console 안내를 따릅니다.
  2. 주 구성원 추가 필드에 service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com을 입력하고 bigquery.dataEditor 역할을 선택합니다.

Google Cloud 프로젝트에서 DICOM 메타데이터 내보내기

한 프로젝트의 DICOM 저장소에서 다른 프로젝트의 BigQuery 테이블로 DICOM 메타데이터를 내보내려면 소스 프로젝트의 Cloud Healthcare 서비스 에이전트 서비스 계정을 대상 프로젝트에 추가하고 서비스 계정에 대상 프로젝트의 bigquery.dataEditorbigquery.jobUser 역할을 지정합니다.

소스 프로젝트의 Cloud Healthcare 서비스 에이전트 서비스 계정을 찾으려면 다음 단계를 완료하세요.

  1. Cloud Healthcare API가 사용 설정되었는지 확인합니다.
  2. Google Cloud Console의 IAM 페이지에서 Healthcare 서비스 에이전트 역할이 Cloud Healthcare 서비스 에이전트 서비스 계정의 역할 열에 표시되는지 확인합니다. 서비스 계정 식별자는 service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com입니다. 다음 단계에서 사용되므로, 소스 프로젝트 이 주소를 기록해 둡니다.

다음 단계를 완료하여 소스 프로젝트에서 Cloud Healthcare 서비스 에이전트 서비스 계정을 대상 프로젝트에 추가하고 서비스 계정에 필요한 BigQuery 권한을 부여합니다.

콘솔

  1. Google Cloud Console에서 대상 프로젝트의 IAM 페이지를 엽니다.
  2. 추가를 클릭합니다.
  3. 새 구성원 필드에 소스 프로젝트의 Cloud Healthcare 서비스 에이전트 서비스 계정의 주소를 입력합니다.
  4. 다른 역할 추가를 클릭한 다음 BigQuery 데이터 편집기BigQuery 작업 사용자 역할을 검색합니다.
  5. 역할을 선택하고 저장을 클릭합니다. 소스 프로젝트의 Cloud Healthcare 서비스 에이전트 서비스 계정은 이제 대상 프로젝트에 대한 bigquery.dataEditorbigquery.jobUser 역할을 가지고 있습니다.

gcloud

소스 프로젝트에서 대상 프로젝트로 Cloud Healthcare 서비스 에이전트 서비스 계정을 추가하고 서비스 계정에 필요한 BigQuery 권한을 부여하려면 gcloud projects add-iam-policy-binding 명령어를 실행합니다. 소스 및 대상 프로젝트에 대해 프로젝트 ID와 프로젝트 번호를 찾으려면 프로젝트 식별을 참조하세요.

gcloud projects add-iam-policy-binding DESTINATION_PROJECT_ID \
    --member=serviceAccount:service-SOURCE_PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/bigquery.dataEditor
gcloud projects add-iam-policy-binding DESTINATION_PROJECT_ID \
    --member=serviceAccount:service-SOURCE_PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/bigquery.jobUser

소스 프로젝트가 대상 데이터 세트에 쓸 수 있도록 BigQuery 데이터 세트에 대한 WRITER 액세스 권한 부여 단계를 완료합니다.

FHIR 저장소 Cloud Storage 권한

다음 섹션에서는 Cloud Storage에서 읽거나 쓰기 위해 Cloud Healthcare 서비스 에이전트에 추가 권한이 필요한 FHIR 메서드에 대해 설명합니다.

Cloud Storage에서 FHIR 리소스 가져오기

projects.locations.datasets.fhirStores.import 메서드에는 Cloud Healthcare 서비스 에이전트 서비스 계정에 대해 다음 권한이 필요합니다.

  • storage.objects.get
  • storage.objects.list

이러한 권한은 사전 정의된 storage.objectViewer 역할에 포함되어 있습니다.

커스텀 역할에 권한을 추가하거나 다른 기본 역할에 포함될 수도 있습니다.

Google Cloud 콘솔 또는 gcloud CLI를 사용하여 필요한 storage.objectViewer 역할을 프로젝트의 서비스 계정에 추가할 수 있습니다.

콘솔

  1. Cloud Healthcare API가 사용 설정되었는지 확인합니다.
  2. Google Cloud Console의 IAM 페이지에서 Healthcare 서비스 에이전트 역할이 Cloud Healthcare 서비스 에이전트 서비스 계정의 역할 열에 표시되는지 확인합니다. 서비스 계정 식별자는 service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com입니다.
  3. 역할과 일치하는 상속 열에서 연필 아이콘을 클릭합니다. 권한 수정 창이 열립니다.
  4. 다른 역할 추가를 클릭한 다음 저장소 객체 뷰어 역할을 검색합니다.
  5. 역할을 선택하고 저장을 클릭합니다. 그러면 storage.objectViewer 역할이 서비스 계정에 추가됩니다.

gcloud

서비스 계정 권한을 추가하려면 gcloud projects add-iam-policy-binding 명령어를 실행합니다. PROJECT_IDPROJECT_NUMBER를 찾으려면 프로젝트 식별을 참조하세요.
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/storage.objectViewer 

Cloud Storage로 FHIR 리소스 내보내기

projects.locations.datasets.fhirStores.export 메서드를 사용하려면 Cloud Healthcare 서비스 에이전트 서비스 계정에 대해 다음 권한이 필요합니다.

  • storage.objects.create
  • storage.objects.delete
  • storage.objects.list

이러한 권한은 사전 정의된 storage.objectAdmin 역할에 포함되어 있습니다.

커스텀 역할에 권한을 추가하거나 다른 기본 역할에 포함될 수도 있습니다.

서비스 계정에 storage.objectAdmin 역할을 부여하려면 다음 단계를 수행합니다.

콘솔

  1. Cloud Healthcare API를 사용 설정했는지 확인합니다.
  2. Google Cloud 콘솔의 IAM 페이지에서 Healthcare 서비스 에이전트 역할이 Cloud Healthcare 서비스 에이전트 서비스 계정의 역할 열에 표시되는지 확인합니다. 서비스 계정 식별자는 service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com입니다.
  3. 역할과 일치하는 상속 열에서 연필 아이콘을 클릭합니다. 권한 수정 창이 열립니다.
  4. 다른 역할 추가를 클릭 한 다음 저장소 객체 생성자 역할을 검색합니다.
  5. 역할을 선택하고 저장을 클릭합니다. 그러면 storage.objectAdmin 역할이 서비스 계정에 추가됩니다.

gcloud

서비스 계정 권한을 추가하려면 gcloud projects add-iam-policy-binding 명령어를 실행합니다. PROJECT_IDPROJECT_NUMBER를 찾으려면 프로젝트 식별을 참조하세요.

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/storage.objectAdmin

Cloud Storage에서 필터 파일 읽기

Cloud Storage에서 필터 파일을 읽으려면 projects.locations.datasets.fhirStores.rollback 메서드에 Cloud Healthcare 서비스 에이전트 서비스 계정에 대한 다음 권한이 필요합니다.

  • storage.objects.get
  • storage.objects.list

이러한 권한은 사전 정의된 storage.objectViewer 역할에 포함되어 있습니다.

커스텀 역할에 권한을 추가하거나 다른 기본 역할에 포함될 수도 있습니다.

서비스 계정에 storage.objectViewer 역할을 부여하려면 다음 단계를 수행합니다.

Cloud Storage에 출력 파일 쓰기

Cloud Storage에 출력 파일을 작성하려면 projects.locations.datasets.fhirStores.rollback 메서드에 Cloud Healthcare 서비스 에이전트 서비스 계정에 대한 다음 권한이 필요합니다.

  • storage.objects.create
  • storage.objects.delete
  • storage.objects.get
  • storage.objects.list

이러한 권한은 사전 정의된 storage.objectAdmin 역할에 포함되어 있습니다.

커스텀 역할에 권한을 추가하거나 다른 기본 역할에 포함될 수도 있습니다.

서비스 계정에 storage.objectAdmin 역할을 부여하려면 다음 단계를 수행합니다.

FHIR 저장소 BigQuery 권한

FHIR 리소스를 BigQuery로 내보내려면 projects.locations.datasets.fhirStores.export 메서드에 Cloud Healthcare 서비스 에이전트 서비스 계정에 대한 추가 권한이 필요합니다. 또한 BigQuery 데이터 세트에 대한 WRITER 액세스 권한을 Cloud Healthcare 서비스 에이전트의 서비스 계정에 부여해야 합니다.

Cloud Healthcare 서비스 에이전트 서비스 계정에 권한 부여하기

콘솔

  1. Cloud Healthcare API가 사용 설정되었는지 확인합니다.
  2. Google Cloud Console의 IAM 페이지에서 Healthcare 서비스 에이전트 역할이 Cloud Healthcare 서비스 에이전트 서비스 계정의 역할 열에 표시되는지 확인합니다. 서비스 계정 식별자는 service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com입니다.
  3. 역할과 일치하는 상속 열에서 연필 아이콘을 클릭합니다. 권한 수정 창이 열립니다.
  4. 다른 역할 추가를 클릭한 다음 BigQuery 데이터 편집기BigQuery 작업 사용자 역할을 검색합니다.
  5. 각 역할을 선택하고 저장을 클릭합니다. 그러면 bigquery.dataEditorbigquery.jobUser 역할이 서비스 계정에 추가됩니다.

gcloud

서비스 계정 권한을 추가하려면 gcloud projects add-iam-policy-binding 명령어를 실행합니다. PROJECT_IDPROJECT_NUMBER를 찾으려면 프로젝트 식별을 참조하세요.

  1. roles/bigquery.dataEditor 역할을 부여합니다.

    아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: Google Cloud 프로젝트의 ID
    • PROJECT_NUMBER: Google Cloud 프로젝트의 수

    다음 명령어를 실행합니다.

    Linux, macOS 또는 Cloud Shell

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
        --role=roles/bigquery.dataEditor

    Windows(PowerShell)

    gcloud projects add-iam-policy-binding PROJECT_ID `
        --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com `
        --role=roles/bigquery.dataEditor

    Windows(cmd.exe)

    gcloud projects add-iam-policy-binding PROJECT_ID ^
        --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com ^
        --role=roles/bigquery.dataEditor

    다음과 비슷한 응답이 표시됩니다.

    Updated IAM policy for project [PROJECT_ID].
    bindings:
    ...
    - members:
      - serviceAccount:service-NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
      role: roles/bigquery.dataEditor
    ...
    etag: ETAG
    version: VERSION
    

  2. roles/bigquery.jobUser 역할을 부여합니다.

    아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: Google Cloud 프로젝트의 ID
    • PROJECT_NUMBER: Google Cloud 프로젝트의 수

    다음 명령어를 실행합니다.

    Linux, macOS 또는 Cloud Shell

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
        --role=roles/bigquery.jobUser

    Windows(PowerShell)

    gcloud projects add-iam-policy-binding PROJECT_ID `
        --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com `
        --role=roles/bigquery.jobUser

    Windows(cmd.exe)

    gcloud projects add-iam-policy-binding PROJECT_ID ^
        --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com ^
        --role=roles/bigquery.jobUser

    다음과 비슷한 응답이 표시됩니다.

    Updated IAM policy for project [PROJECT_ID].
    bindings:
    ...
    - members:
      - serviceAccount:service-NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
      role: roles/bigquery.jobUser
    ...
    etag: ETAG
    version: VERSION
    

BigQuery 데이터 세트에 대한 WRITER 액세스 권한 부여

프로젝트의 서비스 계정에 bigquery.dataEditorbigquery.jobUser 역할을 추가한 경우 모든 BigQuery 데이터 세트에 대해 WRITER 액세스 권한을 갖습니다. 하지만 이러한 역할을 추가하지 않았고 단일 BigQuery 데이터 세트에 대해 WRITER 액세스 권한이 필요하면 해당 데이터 세트에 대해서만 WRITER 액세스 권한을 부여할 수 있습니다. BigQuery 데이터 세트에 대한 WRITER 액세스 권한을 부여하려면 다음 단계를 완료하세요.
  1. 데이터 세트에 대한 액세스 제어로 이동합니다.
  2. 사용 가능한 방법 중 하나를 사용하여 Cloud Healthcare 서비스 에이전트의 이메일 주소 WRITER에 BigQuery 데이터 세트 액세스 권한을 부여합니다. (@gcp-sa-healthcare.iam.gserviceaccount.com로 끝나는 이메일 주소를 찾습니다.)

예를 들어 Cloud Healthcare 서비스 에이전트의 이메일 주소가 service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com이고, BigQuery 웹 UI를 사용하는 경우 다음을 수행합니다.

  1. Console 안내를 따릅니다.
  2. 주 구성원 추가 필드에 service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com을 입력하고 bigquery.dataEditor 역할을 선택합니다.

HL7v2 저장소 Cloud Storage 권한

projects.locations.datasets.hl7V2Stores.importprojects.locations.datasets.hl7V2Stores.export 메서드는 Cloud Storage에 대해 HL7v2 메시지를 가져오고 HL7v2 메시지를 내보내기 위해 Cloud Healthcare 서비스 에이전트 서비스 계정에 대해 추가 권한이 필요합니다.

애플리케이션이 수행하는 작업을 기준으로 서비스 계정에 필요한 권한을 확인합니다.

  • 애플리케이션이 Cloud Storage에서 HL7v2 저장소로 HL7v2 메시지를 가져오는 경우, 서비스 계정에는 storage.objectViewer 역할에 포함된 storage.objects.getstorage.objects.list 권한이 필요합니다.
  • 애플리케이션이 HL7v2 저장소에서 Cloud Storage로 HL7v2 메시지를 내보내는 경우에는 서비스 계정에 storage.objectCreator 역할에 포함된 storage.objects.create, storage.objects.delete, storage.objects.list 권한이 필요합니다.

Cloud Storage에서 HL7v2 메시지 가져오기

Google Cloud Console 또는 gcloud CLI를 사용하여 필요한 storage.objectViewer 역할을 프로젝트의 서비스 계정에 추가할 수 있습니다.

콘솔

  1. Cloud Healthcare API가 사용 설정되었는지 확인합니다.
  2. Google Cloud Console의 IAM 페이지에서 Healthcare 서비스 에이전트 역할이 Cloud Healthcare 서비스 에이전트 서비스 계정의 역할 열에 표시되는지 확인합니다. 서비스 계정 식별자는 service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com입니다.
  3. 역할과 일치하는 상속 열에서 연필 아이콘을 클릭합니다. 권한 수정 창이 열립니다.
  4. 다른 역할 추가를 클릭한 다음 저장소 객체 뷰어 역할을 검색합니다.
  5. 역할을 선택하고 저장을 클릭합니다. 그러면 storage.objectViewer 역할이 서비스 계정에 추가됩니다.

gcloud

서비스 계정 권한을 추가하려면 gcloud projects add-iam-policy-binding 명령어를 실행합니다. PROJECT_IDPROJECT_NUMBER를 찾으려면 프로젝트 식별을 참조하세요.
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/storage.objectViewer 

HL7v2 메시지를 Cloud Storage로 내보내기

Google Cloud Console 또는 gcloud CLI를 사용하여 필요한 storage.objectCreator 역할을 프로젝트의 서비스 계정에 추가할 수 있습니다.

콘솔

  1. Cloud Healthcare API가 사용 설정되었는지 확인합니다.
  2. Google Cloud 콘솔의 IAM 페이지에서 Healthcare 서비스 에이전트 역할이 Cloud Healthcare 서비스 에이전트 서비스 계정의 역할 열에 표시되는지 확인합니다. 서비스 계정 식별자는 service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com입니다.
  3. 역할과 일치하는 상속 열에서 연필 아이콘을 클릭합니다. 권한 수정 창이 열립니다.
  4. 다른 역할 추가를 클릭 한 다음 저장소 객체 생성자 역할을 검색합니다.
  5. 역할을 선택하고 저장을 클릭합니다. 그러면 storage.objectCreator 역할이 서비스 계정에 추가됩니다.

gcloud

서비스 계정 권한을 추가하려면 gcloud projects add-iam-policy-binding 명령어를 실행합니다. PROJECT_IDPROJECT_NUMBER를 찾으려면 프로젝트 식별을 참조하세요.

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/storage.objectCreator