Zugriffssteuerung

Überblick

Die Cloud Healthcare API verwendet Cloud Identity und Access Management (Cloud IAM) für die Zugriffssteuerung.

In der Cloud Healthcare API kann die Zugriffssteuerung auf Projekt-, Dataset- oder Datenspeicherebene konfiguriert werden. Sie können z. B. einer Gruppe von Entwicklern Zugriff auf alle Datasets in einem Projekt erteilen. Informationen zum Einrichten und Verwenden von Cloud IAM mit der Healthcare API finden Sie unter Zugriff auf Datasets und Datenspeicher steuern und Zugriff auf andere Produkte steuern.

Eine ausführliche Beschreibung von IAM und den entsprechenden Funktionen finden Sie in der Cloud IAM-Dokumentation. Interessant ist insbesondere der Abschnitt zum Verwalten von Cloud IAM-Richtlinien.

Der Aufrufer muss für jede Cloud Healthcare API-Methode die erforderlichen Berechtigungen haben. Weitere Informationen finden Sie unter Berechtigungen und Rollen.

Permissions

In diesem Abschnitt werden die von Cloud IAM unterstützten Healthcare API-Berechtigungen zusammengefasst.

Erforderliche Berechtigung

In den folgenden Tabellen sind die IAM-Berechtigungen aufgeführt, die mit der Cloud Healthcare API verknüpft sind. Methodennamen werden in der Tabelle gekürzt. Der vollständige Name jeder Methode beginnt mit projects.locations.

Datasets-Methode Erforderliche Berechtigung
datasets.create healthcare.datasets.create für das übergeordnete Google Cloud-Projekt.
datasets.deidentify
  • healthcare.datasets.deidentify für das Quell-Dataset:
  • healthcare.datasets.create für das Google Cloud-Projekt, das das Ziel-Dataset enthält.
datasets.delete healthcare.datasets.delete für das angefragte Dataset.
datasets.get healthcare.datasets.get für das angefragte Dataset.
datasets.getIamPolicy healthcare.datasets.getIamPolicy für das angefragte Dataset.
datasets.list healthcare.datasets.list für das übergeordnete Google Cloud-Projekt.
datasets.patch healthcare.datasets.update für das angefragte Dataset.
datasets.setIAMPolicy healthcare.datasets.setIamPolicy für das angefragte Dataset.
DICOM-Speicher-Methode Erforderliche Berechtigung
datasets.dicomStores.create healthcare.dicomStores.create für das übergeordnete Dataset.
datasets.dicomStores.deidentify
  • healthcare.dicomStores.deidentify für den Quell-DICOM-Speicher
  • healthcare.dicomStores.dicomWebWrite für den DICOM-Zielspeicher
datasets.dicomStores.delete healthcare.dicomStores.delete für den angeforderten DICOM-Speicher
datasets.dicomStores.export
  • healthcare.dicomStores.export für den angeforderten DICOM-Speicher
  • Beim Exportieren in Cloud Storage: roles/storage.objectAdmin für das Dienstkonto Cloud Healthcare Service Agent des Projekts. Eine Anleitung dazu finden Sie unter Daten in Cloud Storage exportieren.
  • Beim Exportieren in BigQuery: roles/bigquery.dataEditor und roles/bigquery.jobUser werden dem Dienstkonto Cloud Healthcare-Dienst-Agent des Projekts zugewiesen. Eine Anleitung finden Sie unter BigQuery-Berechtigungen für DICOM-Speicher.
datasets.dicomStores.get healthcare.dicomStores.get für den angeforderten DICOM-Speicher
datasets.dicomStores.getIamPolicy healthcare.dicomStores.getIamPolicy für den angeforderten DICOM-Speicher
datasets.dicomStores.import
  • healthcare.dicomStores.import für den angeforderten DICOM-Speicher
  • roles/storage.objectViewer wurde dem Dienstkonto Cloud Healthcare-Dienst-Agent des Projekts zugewiesen. Eine Anleitung dazu finden Sie unter Daten aus Cloud Storage importieren.
datasets.dicomStores.list healthcare.dicomStores.list für das übergeordnete Dataset.
datasets.dicomStores.patch healthcare.dicomStores.update für den angeforderten DICOM-Speicher
datasets.dicomStores.searchForInstances healthcare.dicomStores.dicomWebRead für den angeforderten DICOM-Speicher
datasets.dicomStores.searchForSeries healthcare.dicomStores.dicomWebRead für den angeforderten DICOM-Speicher
datasets.dicomStores.searchForStudies healthcare.dicomStores.dicomWebRead für den angeforderten DICOM-Speicher
datasets.dicomStores.setIamPolicy healthcare.dicomStores.setIamPolicy für den angeforderten DICOM-Speicher
datasets.dicomStores.storeInstances healthcare.dicomStores.dicomWebWrite für den angeforderten DICOM-Speicher
datasets.dicomStores.studies.delete healthcare.dicomStores.dicomWebDelete für den angeforderten DICOM-Speicher
datasets.dicomStores.studies.retrieveMetadata healthcare.dicomStores.dicomWebRead für den angeforderten DICOM-Speicher
datasets.dicomStores.studies.retrieveStudy healthcare.dicomStores.dicomWebRead für den angeforderten DICOM-Speicher
datasets.dicomStores.studies.searchForInstances healthcare.dicomStores.dicomWebRead für den angeforderten DICOM-Speicher
datasets.dicomStores.studies.searchForSeries healthcare.dicomStores.dicomWebRead für den angeforderten DICOM-Speicher
datasets.dicomStores.studies.storeInstances healthcare.dicomStores.dicomWebWrite für den angeforderten DICOM-Speicher
datasets.dicomStores.studies.series.delete healthcare.dicomStores.dicomWebDelete für den angeforderten DICOM-Speicher
datasets.dicomStores.studies.series.retrieveMetadata healthcare.dicomStores.dicomWebRead für den angeforderten DICOM-Speicher
datasets.dicomStores.studies.series.retrieveSeries healthcare.dicomStores.dicomWebRead für den angeforderten DICOM-Speicher
datasets.dicomStores.studies.series.searchForInstances healthcare.dicomStores.dicomWebRead für den angeforderten DICOM-Speicher
datasets.dicomStores.studies.series.instances.delete healthcare.dicomStores.dicomWebDelete für den angeforderten DICOM-Speicher
datasets.dicomStores.studies.series.instances.retrieveInstance healthcare.dicomStores.dicomWebRead für den angeforderten DICOM-Speicher
datasets.dicomStores.studies.series.instances.retrieveMetadata healthcare.dicomStores.dicomWebRead für den angeforderten DICOM-Speicher
datasets.dicomStores.studies.series.instances.retrieveRendered healthcare.dicomStores.dicomWebRead für den angeforderten DICOM-Speicher
datasets.dicomStores.studies.series.instances.frames.retrieveFrames healthcare.dicomStores.dicomWebRead für den angeforderten DICOM-Speicher
datasets.dicomStores.studies.series.instances.frames.retrieveRendered healthcare.dicomStores.dicomWebRead für den angeforderten DICOM-Speicher
FHIR-Speicher-Methode Erforderliche Berechtigung
datasets.fhirStores.create healthcare.fhirStores.create für das übergeordnete Dataset.
datasets.fhirStores.deidentify
  • healthcare.fhirStores.deidentify für den FHIR-Quellspeicher
  • healthcare.fhirResources.update im Ziel-FHIR-Speicher
datasets.fhirStores.delete healthcare.fhirStores.delete für den angeforderten FHIR-Speicher
datasets.fhirStores.export
  • healthcare.fhirStores.export für den angeforderten FHIR-Speicher
  • Beim Exportieren in Cloud Storage: storage.objects.create, storage.objects.delete und storage.objects.list, die dem Dienstkonto Cloud Healthcare-Dienst-Agent des Projekts zugewiesen sind. Eine Anleitung finden Sie unter FHIR-Ressourcen in Cloud Storage exportieren.
  • Beim Exportieren in BigQuery: roles/bigquery.dataEditor und roles/bigquery.jobUser werden dem Dienstkonto Cloud Healthcare-Dienst-Agent des Projekts zugewiesen. Eine Anleitung finden Sie unter BigQuery-Berechtigungen für FHIR-Speicher.
datasets.fhirStores.get healthcare.fhirStores.get für den angeforderten FHIR-Speicher
datasets.fhirStores.getIamPolicy healthcare.fhirStores.getIamPolicy für den angeforderten FHIR-Speicher
datasets.fhirStores.import
  • healthcare.fhirStores.import für den angeforderten FHIR-Speicher
  • storage.objects.get und storage.objects.list wurden dem Dienstkonto Cloud Healthcare-Dienst-Agent des Projekts zugewiesen. Eine Anleitung finden Sie unter FHIR-Ressourcen aus Cloud Storage importieren.
datasets.fhirStores.list healthcare.fhirStores.list für das übergeordnete Dataset.
datasets.fhirStores.patch healthcare.fhirStores.update für den angeforderten FHIR-Speicher
datasets.fhirStores.setIamPolicy healthcare.fhirStores.setIamPolicy für den angeforderten FHIR-Speicher
datasets.fhirStores.fhir.Observation-lastn healthcare.fhirStores.searchResources im übergeordneten FHIR-Speicher
datasets.fhirStores.fhir.Patient-everything healthcare.fhirResources.get für jede zurückgegebene Ressource
datasets.fhirStores.fhir.Resource-purge healthcare.fhirResources.purge für die angeforderte FHIR-Speicherressource
datasets.fhirStores.fhir.capabilities healthcare.fhirStores.get für den angeforderten FHIR-Speicher
datasets.fhirStores.fhir.conditionalDelete
  • healthcare.fhirStores.searchResources im übergeordneten FHIR-Speicher
  • healthcare.fhirResources.delete für die angeforderte FHIR-Speicherressource
datasets.fhirStores.fhir.conditionalPatch
  • healthcare.fhirStores.searchResources im übergeordneten FHIR-Speicher
  • healthcare.fhirResources.patch für die angeforderte FHIR-Speicherressource
datasets.fhirStores.fhir.conditionalUpdate
  • healthcare.fhirStores.searchResources im übergeordneten FHIR-Speicher
  • healthcare.fhirResources.update für die angeforderte FHIR-Speicherressource
datasets.fhirStores.fhir.create
  • Für bedingte Erstellungsinteraktionen: healthcare.fhirResources.create und healthcare.fhirStores.searchResources im übergeordneten FHIR-Speicher.
  • Zum Erstellen von Interaktionen: healthcare.fhirResources.create im übergeordneten FHIR-Speicher
datasets.fhirStores.fhir.delete healthcare.fhirResources.delete für die angeforderte FHIR-Speicherressource
datasets.fhirStores.fhir.executeBundle healthcare.fhirResources.executeBundle für den angeforderten FHIR-Speicher und zusätzliche Berechtigungen (z. B. healthcare.fhirResources.create und healthcare.fhirResources.update) für einzelne Vorgänge im Bundle. Wenn der API-Aufrufer die Berechtigungen healthcare.fhirResources.create, aber nicht die Berechtigungen healthcare.fhirResources.update hat, kann er nur Bundles ausführen, die healthcare.fhirResources.create-Vorgänge enthalten.
datasets.fhirStores.fhir.history healthcare.fhirResources.get für die angeforderte FHIR-Speicherressource und jede ihrer Versionen.
datasets.fhirStores.fhir.patch healthcare.fhirResources.patch für die angeforderte FHIR-Speicherressource
datasets.fhirStores.fhir.read healthcare.fhirResources.get für die angeforderte FHIR-Speicherressource
datasets.fhirStores.fhir.search healthcare.fhirStores.searchResources im übergeordneten FHIR-Speicher
datasets.fhirStores.fhir.update healthcare.fhirResources.update für die angeforderte FHIR-Speicherressource
datasets.fhirStores.fhir.vread healthcare.fhirResources.get für die angeforderte Version der FHIR-Speicherressource.
HL7v2-Speicher-Methode Erforderliche Berechtigung
datasets.hl7V2Stores.create healthcare.hl7V2Stores.create für das übergeordnete Dataset.
datasets.hl7V2Stores.delete healthcare.hl7V2Stores.delete für den angeforderten HL7v2-Speicher
datasets.hl7V2Stores.get healthcare.hl7V2Stores.get für den angeforderten HL7v2-Speicher
datasets.hl7V2Stores.list healthcare.hl7V2Stores.list für das übergeordnete Dataset.
datasets.hl7V2Stores.patch healthcare.hl7V2Stores.update für den angeforderten HL7v2-Speicher
datasets.hl7V2Stores.getIamPolicy healthcare.hl7V2Stores.getIamPolicy für den angeforderten HL7v2-Speicher
datasets.hl7V2Stores.setIamPolicy healthcare.hl7V2Stores.setIamPolicy für den angeforderten HL7v2-Speicher
datasets.hl7V2Stores.messages.create healthcare.hl7V2Messages.create für den übergeordneten HL7v2-Speicher
datasets.hl7V2Stores.messages.delete healthcare.hl7V2Messages.delete für die angeforderte HL7v2-Speicher-Nachricht.
datasets.hl7V2Stores.messages.get healthcare.hl7V2Messages.get für die angeforderte HL7v2-Speicher-Nachricht.
datasets.hl7V2Stores.messages.ingest healthcare.hl7V2Messages.ingest für die angeforderte HL7v2-Speicher-Nachricht.
datasets.hl7V2Stores.messages.list healthcare.hl7V2Messages.list für den übergeordneten HL7v2-Speicher
datasets.hl7V2Stores.messages.patch healthcare.hl7V2Messages.update für die angeforderte HL7v2-Speicher-Nachricht.
Vorgangsmethode Erforderliche Berechtigung
datasets.operations.get healthcare.operations.get für den angefragten Vorgang.
datasets.operations.list healthcare.operations.list für den angefragten Vorgang.
datasets.operations.cancel healthcare.operations.cancel für den angefragten Vorgang.

Roles

In der folgenden Tabelle sind die Cloud IAM-Rollen der Cloud Healthcare API einschließlich der mit jeder Rolle verknüpften Berechtigungen aufgeführt:

Datasets-Rolle Permissions
roles/healthcare.datasetViewer
  • healthcare.datasets.get
  • healthcare.datasets.list
  • healthcare.operations.get
roles/healthcare.datasetAdmin Alle roles/healthcare.datasetViewer-Berechtigungen und:
  • healthcare.datasets.create
  • healthcare.datasets.delete
  • healthcare.datasets.update
  • healthcare.datasets.getIamPolicy
  • healthcare.datasets.setIamPolicy
  • healthcare.datasets.deidentify
  • healthcare.operations.cancel
  • healthcare.operations.list
DICOM-Speicher-Rolle Permissions
roles/healthcare.dicomStoreViewer Alle roles/healthcare.datasetViewer-Berechtigungen und:
  • healthcare.dicomStores.get
  • healthcare.dicomStores.list
roles/healthcare.dicomStoreAdmin Alle roles/healthcare.dicomStoreViewer-Berechtigungen und:
  • healthcare.dicomStores.create
  • healthcare.dicomStores.deidentify
  • healthcare.dicomStores.delete
  • healthcare.dicomStores.dicomWebDelete
  • healthcare.dicomStores.getIamPolicy
  • healthcare.dicomStores.setIamPolicy
  • healthcare.dicomStores.update
  • healthcare.operations.cancel
roles/healthcare.dicomViewer Alle roles/healthcare.dicomStoreViewer-Berechtigungen und:
  • healthcare.dicomStores.export
  • healthcare.dicomStores.dicomWebRead
roles/healthcare.dicomEditor Alle roles/healthcare.dicomViewer-Berechtigungen und:
  • healthcare.dicomStores.import
  • healthcare.dicomStores.dicomWebDelete
  • healthcare.dicomStores.dicomWebWrite
  • healthcare.operations.cancel
FHIR-Speicher-Rolle Permissions
roles/healthcare.fhirStoreViewer Alle roles/healthcare.datasetViewer-Berechtigungen und:
  • healthcare.fhirStores.get
  • healthcare.fhirStores.list
roles/healthcare.fhirStoreAdmin Alle roles/healthcare.fhirStoreViewer-Berechtigungen und:
  • healthcare.fhirStores.create
  • healthcare.fhirStores.deidentify
  • healthcare.fhirStores.delete
  • healthcare.fhirStores.update
  • healthcare.fhirStores.import
  • healthcare.fhirStores.export
  • healthcare.fhirResources.purge
  • healthcare.fhirStores.getIamPolicy
  • healthcare.fhirStores.setIamPolicy
  • healthcare.operations.cancel
roles/healthcare.fhirResourceReader Alle roles/healthcare.fhirStoreViewer-Berechtigungen und:
  • healthcare.fhirResources.get
  • healthcare.fhirStores.searchResources
  • healthcare.fhirStores.executeBundle
roles/healthcare.fhirResourceEditor Alle roles/healthcare.fhirResourceReader-Berechtigungen und:
  • healthcare.fhirResources.create
  • healthcare.fhirResources.delete
  • healthcare.fhirResources.patch
  • healthcare.fhirResources.update
  • healthcare.operations.cancel
HL7v2-Speicher-Rolle Permissions
roles/healthcare.hl7V2StoreViewer Alle roles/healthcare.datasetViewer-Berechtigungen und:
  • healthcare.hl7V2Stores.get
  • healthcare.hl7V2Stores.list
roles/healthcare.hl7V2StoreAdmin Alle roles/healthcare.hl7V2StoreViewer-Berechtigungen und:
  • healthcare.hl7V2Stores.create
  • healthcare.hl7V2Stores.update
  • healthcare.hl7V2Stores.delete
  • healthcare.hl7V2Stores.getIamPolicy
  • healthcare.hl7V2Stores.setIamPolicy
  • healthcare.operations.cancel
roles/healthcare.hl7V2Ingest Alle roles/healthcare.hl7V2StoreViewer-Berechtigungen und:
  • healthcare.hl7V2messages.ingest
roles/healthcare.hl7V2Consumer Alle roles/healthcare.hl7V2StoreViewer-Berechtigungen und:
  • healthcare.hl7V2messages.get
  • healthcare.hl7V2messages.list
  • healthcare.hl7V2messages.create
  • healthcare.hl7V2messages.update
roles/healthcare.hl7V2Editor Alle roles/healthcare.hl7V2StoreViewer-Berechtigungen und:
  • healthcare.hl7V2messages.get
  • healthcare.hl7V2messages.list
  • healthcare.hl7V2messages.delete
  • healthcare.hl7V2messages.update
  • healthcare.hl7V2messages.create
  • healthcare.hl7V2Messages.ingest
  • healthcare.operations.cancel

Beachten Sie, dass die Rollen roles/owner, roles/editor und roles/viewer auch Berechtigungen für andere Google Cloud Platform-Dienste enthalten. Weitere Informationen zu Rollen finden Sie hier.

Cloud Healthcare-Dienst-Agent

Der Cloud Healthcare-Dienst-Agent ist ein freigegebenes Dienstkonto in Ihrem Projekt, das die Cloud Healthcare API für die Interaktion mit anderen Ressourcen in Google Cloud verwendet.

Dieser Dienst-Agent wird beispielsweise verwendet, um Cloud Storage-Buckets zu lesen und zu schreiben, in BigQuery zu schreiben oder Nachrichten über die Cloud Healthcare API in Pub/Sub zu veröffentlichen.

Wenn Sie eine der vorherigen Aktionen ausführen möchten, müssen Sie dem Cloud Healthcare-Dienst-Agent Zugriff auf den relevanten Cloud Storage-Bucket, das BigQuery-Dataset oder das Pub/Sub-Thema gewähren.

Beachten Sie beim Erstellen des Berechtigungsmodells für Ihr Projekt, dass der Nutzer durch das Zuweisen einer der unten aufgeführten Rollen Vorgänge aufrufen kann, die als Cloud Healthcare-Dienst-Agent ausgeführt werden und Zugriff auf alle Daten haben. Der Agent hat Zugriff auf:

  • roles/healthcare.hl7V2StoreAdmin
  • roles/healthcare.fhirStoreAdmin
  • roles/healthcare.dicomStoreEditor
  • roles/healthcare.dicomStoreViewer

In ähnlicher Weise würde das Zuweisen der folgenden Berechtigungen zu benutzerdefinierten Rollen dem Nutzer ermöglichen, Vorgänge aufzurufen, die als Cloud Healthcare-Dienst-Agent ausgeführt werden:

  • healthcare.dicomStores.create
  • healthcare.dicomStores.update
  • healthcare.dicomStores.import
  • healthcare.dicomStores.export
  • healthcare.fhirStores.create
  • healthcare.fhirStores.update
  • healthcare.fhirStores.import
  • healthcare.fhirStores.export
  • healthcare.hl7V2Stores.create
  • healthcare.hl7V2Stores.update

Beispielsweise kann eine Person mit Importberechtigungen Vorgänge ausführen, die als Cloud Healthcare-Dienst-Agent fungieren und auf jeden Cloud Storage-Bucket zugreifen, auf den der Cloud Healthcare-Dienst-Agent bereits Lesezugriff hat. Ebenso kann jeder, der über Exportberechtigungen verfügt, Vorgänge ausführen, die als Cloud Healthcare-Dienst-Agent fungieren und auf jeden Bucket zugreifen, auf den der Dienst-Agent bereits Schreibzugriff hat.

Ebenso kann eine Person, die Berechtigungen zum Erstellen oder Aktualisieren von Datenspeichern hat, Pub/Sub-Benachrichtigungsziele oder BigQuery-Streamingziele konfigurieren, die vom Cloud Healthcare-Dienst-Agent gesendet werden, wenn Änderungen am Datenspeicher vorgenommen werden.

Es hat sich bewährt, mehrere Projekte zu verwenden, um die Berechtigungen für den Cloud Healthcare-Dienst-Agent weiter zu isolieren.