概要
Cloud Healthcare API では、アクセス制御に Identity and Access Management(IAM) が使用されます。
Cloud Healthcare API では、プロジェクト レベル、データセット レベル、またはデータストア レベルでアクセス制御を構成できます。たとえば、プロジェクト内のすべてのデータセットへのアクセス権をデベロッパーのグループに付与できます。Healthcare API で IAM を設定、使用する方法については、アクセス制御と他のプロダクトへのアクセス制御をご覧ください。
IAM とその機能の詳細については、IAM のドキュメントをご覧ください。特に、IAM ポリシーの管理のセクションをご覧ください。
すべての Cloud Healthcare API メソッドでは、呼び出し元に必要な権限が付与されていることが求められます。詳細については、権限とロールをご覧ください。
権限
次の表に、Cloud Healthcare API に関連付けられている IAM の権限を示します。表ではメソッド名が短縮されています。各メソッドのフルネームの先頭には projects.locations. が付されています。
Consent Store メソッド
| Consent Store メソッド | 必要な権限 |
|---|---|
datasets.consentStores.checkDataAccess |
リクエストされた Consent Store に対する healthcare.consentStores.checkDataAccess。 |
datasets.consentStores.create |
親データセットに対する healthcare.consentStores.create。 |
datasets.consentStores.delete |
リクエストされた Consent Store に対する healthcare.consentStores.delete。 |
datasets.consentStores.evaluateUserConsents |
リクエストされた Consent Store に対する healthcare.consentStores.evaluateUserConsents。 |
datasets.consentStores.get |
リクエストされた Consent Store に対する healthcare.consentStores.get。 |
datasets.consentStores.getIamPolicy |
リクエストされた Consent Store に対する healthcare.consentStores.getIamPolicy。 |
datasets.consentStores.list |
親データセットに対する healthcare.consentStores.list。 |
datasets.consentStores.patch |
リクエストされた Consent Store に対する healthcare.consentStores.update。 |
datasets.consentStores.queryAccessibleData |
リクエストされた Consent Store に対する healthcare.consentStores.queryAccessibleData。 |
datasets.consentStores.setIamPolicy |
リクエストされた Consent Store に対する healthcare.consentStores.setIamPolicy。 |
datasets.consentStores.attributeDefinitions.create |
親 Consent Store に対する healthcare.attributeDefinitions.create。 |
datasets.consentStores.attributeDefinitions.delete |
リクエストされた属性定義リソースに対する healthcare.attributeDefinitions.delete。 |
datasets.consentStores.attributeDefinitions.get |
リクエストされた属性定義リソースに対する healthcare.attributeDefinitions.get。 |
datasets.consentStores.attributeDefinitions.list |
親 Consent Store に対する healthcare.attributeDefinitions.list。 |
datasets.consentStores.attributeDefinitions.patch |
リクエストされた属性定義リソースに対する healthcare.attributeDefinitions.update。 |
datasets.consentStores.consentArtifacts.create |
親 Consent Store に対する healthcare.consentArtifacts.create。 |
datasets.consentStores.consentArtifacts.delete |
リクエストされた同意アーティファクトのリソースに対する healthcare.consentArtifacts.delete。 |
datasets.consentStores.consentArtifacts.get |
リクエストされた同意アーティファクトのリソースに対する healthcare.consentArtifacts.get。 |
datasets.consentStores.consentArtifacts.list |
親 Consent Store に対する healthcare.consentArtifacts.list。 |
datasets.consentStores.consents.create |
親 Consent Store に対する healthcare.consents.create。 |
datasets.consentStores.consents.delete |
リクエストされた同意リソースに対する healthcare.consents.delete。 |
datasets.consentStores.consents.get |
リクエストされた同意リソースに対する healthcare.consents.get。 |
datasets.consentStores.consents.list |
親 Consent Store に対する healthcare.consents.list。 |
datasets.consentStores.consents.patch |
リクエストされた同意リソースに対する healthcare.consents.update。 |
datasets.consentStores.consents.revoke |
リクエストされた同意リソースに対する healthcare.consents.revoke。 |
datasets.consentStores.userDataMappings.archive |
リクエストされたユーザーデータのマッピングのリソースに対する healthcare.userDataMappings.archive。 |
datasets.consentStores.userDataMappings.create |
親 Consent Store に対する healthcare.userDataMappings.create。 |
datasets.consentStores.userDataMappings.delete |
リクエストされたユーザーデータのマッピングのリソースに対する healthcare.userDataMappings.delete。 |
datasets.consentStores.userDataMappings.get |
リクエストされたユーザーデータのマッピングのリソースに対する healthcare.userDataMappings.get。 |
datasets.consentStores.userDataMappings.list |
親 Consent Store に対する healthcare.userDataMappings.list。 |
datasets.consentStores.userDataMappings.patch |
リクエストされたユーザーデータのマッピングのリソースに対する healthcare.userDataMappings.update。 |
データセット メソッド
| データセット メソッド | 必要な権限 |
|---|---|
datasets.create |
親 Google Cloud プロジェクトに対する healthcare.datasets.create。 |
datasets.deidentify |
|
datasets.delete |
リクエストされたデータセットに対する healthcare.datasets.delete。 |
datasets.get |
リクエストされたデータセットに対する healthcare.datasets.get。 |
datasets.getIamPolicy |
リクエストされたデータセットに対する healthcare.datasets.getIamPolicy。 |
datasets.list |
親 Google Cloud プロジェクトに対する healthcare.datasets.list。 |
datasets.patch |
リクエストされたデータセットに対する healthcare.datasets.update。 |
datasets.setIAMPolicy |
リクエストされたデータセットに対する healthcare.datasets.setIamPolicy。 |
DICOM ストアメソッド
| DICOM ストアメソッド | 必要な権限 |
|---|---|
datasets.dicomStores.create |
親データセットに対する healthcare.dicomStores.create。 |
datasets.dicomStores.deidentify |
|
datasets.dicomStores.delete |
リクエストされた DICOM ストアに対する healthcare.dicomStores.delete。 |
datasets.dicomStores.export |
|
datasets.dicomStores.get |
リクエストされた DICOM ストアに対する healthcare.dicomStores.get。 |
datasets.dicomStores.getIamPolicy |
リクエストされた DICOM ストアに対する healthcare.dicomStores.getIamPolicy。 |
datasets.dicomStores.import |
|
datasets.dicomStores.list |
親データセットに対する healthcare.dicomStores.list。 |
datasets.dicomStores.patch |
リクエストされた DICOM ストアに対する healthcare.dicomStores.update。 |
datasets.dicomStores.searchForInstances |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebRead。 |
datasets.dicomStores.searchForSeries |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebRead。 |
datasets.dicomStores.searchForStudies |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebRead。 |
datasets.dicomStores.setIamPolicy |
リクエストされた DICOM ストアに対する healthcare.dicomStores.setIamPolicy。 |
datasets.dicomStores.storeInstances |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebWrite。 |
datasets.dicomStores.studies.delete |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebDelete。 |
datasets.dicomStores.studies.retrieveMetadata |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebRead。 |
datasets.dicomStores.studies.retrieveStudy |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebRead。 |
datasets.dicomStores.studies.searchForInstances |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebRead。 |
datasets.dicomStores.studies.searchForSeries |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebRead。 |
datasets.dicomStores.studies.storeInstances |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebWrite。 |
datasets.dicomStores.studies.updateInstances |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebUpdate。 |
datasets.dicomStores.studies.updateMetadata |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebUpdate。 |
datasets.dicomStores.studies.series.delete |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebDelete。 |
datasets.dicomStores.studies.series.retrieveMetadata |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebRead。 |
datasets.dicomStores.studies.series.retrieveSeries |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebRead。 |
datasets.dicomStores.studies.series.searchForInstances |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebRead。 |
datasets.dicomStores.studies.series.updateMetadata |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebUpdate。 |
datasets.dicomStores.studies.series.instances.delete |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebDelete。 |
datasets.dicomStores.studies.series.instances.retrieveInstance |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebRead。 |
datasets.dicomStores.studies.series.instances.retrieveMetadata |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebRead。 |
datasets.dicomStores.studies.series.instances.retrieveRendered |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebRead。 |
datasets.dicomStores.studies.series.instances.updateMetadata |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebUpdate。 |
datasets.dicomStores.studies.series.instances.frames.retrieveFrames |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebRead。 |
datasets.dicomStores.studies.series.instances.frames.retrieveRendered |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebRead。 |
datasets.dicomStores.studies.series.instances.bulkdata.retrieveBulkdata |
リクエストされた DICOM ストアに対する healthcare.dicomStores.dicomWebRead。 |
FHIR ストアメソッド
| FHIR ストアメソッド | 必要な権限 |
|---|---|
datasets.fhirStores.applyConsents |
リクエストされた FHIR ストアリソースに対する healthcare.fhirStores.applyConsents。 |
datasets.fhirStores.applyAdminConsents |
リクエストされた FHIR ストアリソースに対する healthcare.fhirStores.applyConsents。 |
datasets.fhirStores.configureSearch |
リクエストされた FHIR ストアに対する healthcare.fhirStores.configureSearch。 |
datasets.fhirStores.create |
親データセットに対する healthcare.fhirStores.create。 |
datasets.fhirStores.deidentify |
|
datasets.fhirStores.delete |
リクエストされた FHIR ストアに対する healthcare.fhirStores.delete。 |
datasets.fhirStores.explainDataAccess |
リクエストされた FHIR ストアリソースに対する healthcare.fhirStores.explainDataAccess。 |
datasets.fhirStores.export |
|
datasets.fhirStores.get |
リクエストされた FHIR ストアに対する healthcare.fhirStores.get。 |
datasets.fhirStores.getFHIRStoreMetrics |
リクエストされた FHIR ストアに対する healthcare.fhirStores.get。 |
datasets.fhirStores.getIamPolicy |
リクエストされた FHIR ストアに対する healthcare.fhirStores.getIamPolicy。 |
datasets.fhirStores.import |
|
datasets.fhirStores.list |
親データセットに対する healthcare.fhirStores.list。 |
datasets.fhirStores.patch |
リクエストされた FHIR ストアに対する healthcare.fhirStores.update。 |
datasets.fhirStores.rollback |
リクエストされた FHIR ストアに対する healthcare.fhirStores.rollback。 |
datasets.fhirStores.setIamPolicy |
リクエストされた FHIR ストアに対する healthcare.fhirStores.setIamPolicy。 |
datasets.fhirStores.fhir.Encounter-everything |
返された各リソースに対する healthcare.fhirResources.get。 |
datasets.fhirStores.fhir.Observation-lastn |
親 FHIR ストアに対する healthcare.fhirStores.searchResources。 |
datasets.fhirStores.fhir.Patient-everything |
返された各リソースに対する healthcare.fhirResources.get。 |
datasets.fhirStores.fhir.Resource-purge |
リクエストされた FHIR ストアリソースに対する healthcare.fhirResources.purge。 |
datasets.fhirStores.fhir.capabilities |
リクエストされた FHIR ストアに対する healthcare.fhirStores.get。 |
datasets.fhirStores.fhir.conditionalDelete |
|
datasets.fhirStores.fhir.conditionalPatch |
|
datasets.fhirStores.fhir.conditionalUpdate |
|
datasets.fhirStores.fhir.create |
|
datasets.fhirStores.fhir.delete |
リクエストされた FHIR ストアリソースに対する healthcare.fhirResources.delete。 |
datasets.fhirStores.fhir.executeBundle |
リクエストされた FHIR ストアに対する healthcare.fhirResources.executeBundle、およびバンドル内の個別のオペレーションに対応する追加の権限(healthcare.fhirResources.create や healthcare.fhirResources.update など)。API 呼び出し元に healthcare.fhirResources.create 権限があり、healthcare.fhirResources.update 権限がない場合、呼び出し元は healthcare.fhirResources.create オペレーションを含むバンドルのみを実行できます。 |
datasets.fhirStores.fhir.history |
リクエストされた FHIR ストアリソースとその各バージョンに対する healthcare.fhirResources.get。 |
datasets.fhirStores.fhir.patch |
リクエストされた FHIR ストアリソースに対する healthcare.fhirResources.patch。 |
datasets.fhirStores.fhir.read |
リクエストされた FHIR ストアリソースに対する healthcare.fhirResources.get。 |
datasets.fhirStores.fhir.search |
親 FHIR ストアに対する healthcare.fhirStores.searchResources。 |
datasets.fhirStores.fhir.update |
リクエストされた FHIR ストアリソースに対する healthcare.fhirResources.update。 |
datasets.fhirStores.fhir.vread |
リクエストされた FHIR ストアリソースのバージョンに対する healthcare.fhirResources.get。 |
datasets.fhirStores.fhir.Patient-consent-enforcement-status |
リクエストされた FHIR ストアの患者リソースに対する healthcare.fhirResources.get。 |
datasets.fhirStores.fhir.Consent-enforcement-status |
リクエストされた FHIR ストアの同意リソースに対する healthcare.fhirResources.get。 |
HL7v2 ストアメソッド
| HL7v2 ストアメソッド | 必要な権限 |
|---|---|
datasets.hl7V2Stores.create |
親データセットに対する healthcare.hl7V2Stores.create。 |
datasets.hl7V2Stores.delete |
リクエストされた HL7v2 ストアに対する healthcare.hl7V2Stores.delete。 |
datasets.hl7V2Stores.export |
リクエストされた HL7v2 ストアに対する healthcare.hl7V2Stores.export。 |
datasets.hl7V2Stores.get |
リクエストされた HL7v2 ストアに対する healthcare.hl7V2Stores.get。 |
datasets.hl7V2Stores.import |
リクエストされた HL7v2 ストアに対する healthcare.hl7V2Stores.import。 |
datasets.hl7V2Stores.list |
親データセットに対する healthcare.hl7V2Stores.list。 |
datasets.hl7V2Stores.patch |
リクエストされた HL7v2 ストアに対する healthcare.hl7V2Stores.update。 |
datasets.hl7V2Stores.getIamPolicy |
リクエストされた HL7v2 ストアに対する healthcare.hl7V2Stores.getIamPolicy。 |
datasets.hl7V2Stores.setIamPolicy |
リクエストされた HL7v2 ストアに対する healthcare.hl7V2Stores.setIamPolicy。 |
datasets.hl7V2Stores.messages.create |
親 HL7v2 ストアに対する healthcare.hl7V2Messages.create。 |
datasets.hl7V2Stores.messages.delete |
リクエストされた HL7v2 ストア メッセージに対する healthcare.hl7V2Messages.delete。 |
datasets.hl7V2Stores.messages.get |
リクエストされた HL7v2 ストア メッセージに対する healthcare.hl7V2Messages.get。 |
datasets.hl7V2Stores.messages.ingest |
リクエストされた HL7v2 ストア メッセージに対する healthcare.hl7V2Messages.ingest。 |
datasets.hl7V2Stores.messages.list |
親 HL7v2 ストアに対する healthcare.hl7V2Messages.list。 |
datasets.hl7V2Stores.messages.patch |
リクエストされた HL7v2 ストア メッセージに対する healthcare.hl7V2Messages.update。 |
ロケーション メソッド
| ロケーション メソッド | 必要な権限 |
|---|---|
locations.get |
リクエストされたロケーションに対する healthcare.locations.get。 |
locations.list |
親 Google Cloud プロジェクトに対する healthcare.locations.list。 |
Healthcare Natural Language API メソッド
| Healthcare Natural Language API メソッド | 必要な権限 |
|---|---|
nlp.analyzeEntities |
healthcare.nlpservice.analyzeEntities |
操作メソッド
| オペレーション メソッド | 必要な権限 |
|---|---|
datasets.operations.get |
リクエストされたデータセットに対する healthcare.operations.get。 |
datasets.operations.list |
リクエストされたデータセットに対する healthcare.operations.list。 |
datasets.operations.cancel |
リクエストされたデータセットに対する healthcare.operations.cancel。 |
匿名化メソッド
| 匿名化メソッド | 必要な権限 |
|---|---|
services.deidentify.deidentifyDicomInstance |
healthcare.deidentify.run |
services.deidentify.deidentifyFhirResource |
healthcare.deidentify.run |
役割
次の表に、Cloud Healthcare API IAM ロールと、各ロールに関連付けられた権限を示します。roles/owner、roles/editor、roles/viewer の各ロールには、他の Google Cloud サービスに対する権限が含まれています。ロールの詳細については、ロールについてをご覧ください。
Consent Store のロール
| Consent Store のロール | 権限 |
|---|---|
Healthcare Consent Store 閲覧者( データセット内の Consent Store の一覧表示。 |
|
Healthcare Consent Store 管理者( Consent Store の管理。 |
|
同意のロール
| 同意のロール | 権限 |
|---|---|
Healthcare Attribute Definition 読み取り( Consent Store 内の AttributeDefinition オブジェクトの読み取り。 |
|
Healthcare Attribute Definition 編集者( AttributeDefinition オブジェクトの編集。 |
|
Healthcare Consent Artifact 読み取り( Consent Store 内の ConsentArtifact オブジェクトの読み取り。 |
|
Healthcare Consent Artifact 編集者( ConsentArtifact オブジェクトの編集。 |
|
Healthcare Consent Artifact 管理者( ConsentArtifact オブジェクトの管理。 |
|
Healthcare Consent 読み取り( Consent Store 内の Consent オブジェクトの読み取り。 |
|
Healthcare Consent 編集者( Consent オブジェクトの編集。 |
|
Healthcare User Data Mapping 読み取り( Consent Store 内の UserDataMapping オブジェクトの読み取り。 |
|
Healthcare User Data Mapping 編集者( UserDataMapping オブジェクトを編集します。 |
|
データセットのロール
| データセットの役割 | 権限 |
|---|---|
Healthcare Dataset 閲覧者( プロジェクト内の Healthcare Datasets の一覧表示。 |
|
Healthcare Dataset 管理者( Healthcare Dataset の管理。 |
|
DICOM ストアのロール
| DICOM ストアの役割 | 権限 |
|---|---|
Healthcare DICOM ストア閲覧者( データセット内の DICOM ストアの一覧表示。 |
|
Healthcare DICOM ストア管理者( DICOM ストアの管理。 |
|
Healthcare DICOM 閲覧者( DICOM ストアからの DICOM イメージの取得。 |
|
Healthcare DICOM 編集者( DICOM イメージの個別編集または一括編集。 |
|
FHIR ストアのロール
| FHIR ストアの役割 | 権限 |
|---|---|
Healthcare FHIR ストア閲覧者( データセット内の FHIR ストアの一覧表示。 |
|
Healthcare FHIR ストア管理者( FHIR リソースストアの管理権限。 |
|
Healthcare FHIR リソース読み取り( FHIR リソースの読み取りと検索。 |
|
Healthcare FHIR リソース編集者( FHIR リソースの作成、削除、更新、読み取り、検索。 |
|
HL7v2 ストアのロール
| HL7v2 ストアの役割 | 権限 |
|---|---|
Healthcare HL7v2 ストア閲覧者( データセット内の HL7v2 ストアの表示。 |
|
Healthcare HL7v2 ストア管理者( HL7v2 ストアの管理。 |
|
Healthcare HL7v2 メッセージ取り込み( ソース ネットワークから受信した HL7v2 メッセージの取り込み。 |
|
Healthcare HL7v2 メッセージ コンシューマ( HL7v2 メッセージの一覧表示と読み取り、メッセージ ラベルの更新、新しいメッセージの公開。 |
|
Healthcare HL7v2 メッセージ編集者( HL7v2 メッセージの読み取り、書き込み、削除。 |
|
Healthcare Natural Language API ロール
| Healthcare Natural Language API ロール | 権限 |
|---|---|
Healthcare NLP サービス閲覧者 ベータ版( 指定されたテキストから医療エンティティを抽出し、分析します。 |
|
Cloud Healthcare サービス エージェント
Cloud Healthcare サービス エージェントは、Cloud Healthcare API がGoogle Cloudの他のリソースとやり取りするために使用するプロジェクト内の共有サービス アカウントです。
たとえば、このサービス エージェントは、Cloud Storage バケットに対する読み取りと書き込み、BigQuery への書き込み、Cloud Healthcare API からの Pub/Sub へのメッセージの公開に使用されます。
上記のアクションを実行するには、関連する Cloud Storage バケット、BigQuery データセット、または Pub/Sub トピックに Cloud Healthcare サービス エージェントへのアクセス権を付与する必要があります。
プロジェクトの権限モデルを作成する際、以下のロールのいずれかを付与すると、ユーザーは、Cloud Healthcare Service Agent として実行され、このエージェントがアクセス権を持つデータに対しアクセスできるオペレーションを呼び出すことができます。
roles/healthcare.consentStoreAdminroles/healthcare.consentStoreViewerroles/healthcare.dicomStoreEditorroles/healthcare.dicomStoreViewerroles/healthcare.fhirStoreAdminroles/healthcare.hl7V2StoreAdmin
同様に、カスタムのロールに次の権限を割り当てた場合も、ユーザーは Cloud Healthcare サービス エージェントとして実行されるオペレーションを呼び出すことができます。
healthcare.consentStores.queryAccessibleDatahealthcare.dicomStores.createhealthcare.dicomStores.updatehealthcare.dicomStores.importhealthcare.dicomStores.exporthealthcare.fhirStores.createhealthcare.fhirStores.updatehealthcare.fhirStores.importhealthcare.fhirStores.exporthealthcare.hl7V2Stores.createhealthcare.hl7V2Stores.update
次に例を示します。
- ユーザーにインポート権限がある場合、Cloud Healthcare サービス エージェントが読み取りアクセス権を持つ Cloud Storage バケットにオペレーションがアクセスすると、Cloud Healthcare サービス エージェントとして機能するオペレーションを実行できます。
- ユーザーにエクスポート権限がある場合、サービス エージェントが書き込みアクセス権を持つバケットにオペレーションがアクセスすると、Cloud Healthcare サービス エージェントとして機能するオペレーションを実行できます。
- データストアの作成権限または更新権限を持つユーザーは、データストアの変更時に Cloud Healthcare サービス エージェントから送信される Pub/Sub 通知ターゲットまたは BigQuery ストリーミングの宛先を構成できます。
複数のプロジェクトを活用して、Cloud Healthcare サービス エージェントに付与された権限をさらに分離することをおすすめします。