IAM によるアクセス制御

概要

Cloud Healthcare API では、アクセス制御に Identity and Access Management(IAM) が使用されます。

Healthcare API(Dictation)では、プロジェクト レベルでアクセス制御を構成できます。たとえば、プロジェクト内のすべての Healthcare API(Dictation)リソースへのアクセス権を開発者グループに付与できます。

IAM とその機能の詳細については、IAM のドキュメントをご覧ください。特に、IAM ポリシーの管理のセクションをご覧ください。

すべての Healthcare API(Dication)メソッドでは、呼び出し元が必要な権限を持っていることが求められます。詳細については、権限ロールをご覧ください。

権限

このセクションでは、IAM でサポートされる Healthcare API(Dication)の権限を簡単に説明します。Cloud Healthcare API の IAM 権限の一覧については、Cloud Healthcare API のメイン ドキュメントをご覧ください。

必要な権限

次の表に、Healthcare API(Dictation)に関連付けられている IAM 権限を示します。表ではメソッド名が短縮されています。各メソッドのフルネームは projects.locations.datasets で始まります。

Dictation ストアメソッド 必要な権限
dictationStores.create 親データセットに対する healthcare.dictationStores.create
dictationStores.delete リクエストされた Dictation ストアに対する healthcare.dictationStores.delete
dictationStores.get リクエストされた Dictation ストアに対する healthcare.dictationStores.get
dictationStores.list 親データセットに対する healthcare.dictationStores.list
dictationStores.patch リクエストされた Dictation ストアに対する healthcare.dictationStores.update
Dictation メソッド 必要な権限
dictationStores.dictations.create 親 Dictation ストアに対する healthcare.dictations.create
dictationStores.dictations.delete リクエストされた Dictation に対する healthcare.dictations.delete
dictationStores.dictations.get リクエストされた Dictation に対する healthcare.dictations.get
dictationStores.dictations.list 親 Dictation ストアに対する healthcare.dictations.list
dictationStores.dictations.patch リクエストされた Dictation に対する healthcare.dictations.update
dictationStores.dictations.recognize
  • リクエストされた Dictation に対する healthcare.dictations.recognize
  • リクエストされた Dictation に対する healthcare.dictations.update
  • リクエストされた SpeechConfig に対する healthcare.speechConfigs.get
dictationStores.dictations.streamingRecognize
  • リクエストされた Dictation に対する healthcare.dictations.streamingRecognize
  • リクエストされた Dictation に対する healthcare.dictations.update
  • リクエストされた SpeechConfig に対する healthcare.speechConfigs.get
Dictation ノートメソッド 必要な権限
dictationStores.dictations.notes.create 親 Dictation に対する healthcare.dictations.update
dictationStores.dictations.notes.delete 親 Dictation に対する healthcare.dictations.update
dictationStores.dictations.notes.get 親 Dictation に対する healthcare.dictations.get
dictationStores.dictations.notes.list 親 Dictation に対する healthcare.dictations.get
dictationStores.dictations.notes.patch 親 Dictation に対する healthcare.dictations.update
SpeechConfig メソッド 必要な権限
dictationStores.speechConfigs.create 親 Dictation ストアに対する healthcare.speechConfigs.create
dictationStores.speechConfigs.delete リクエストされた SpeechConfig に対する healthcare.speechConfigs.delete
dictationStores.speechConfigs.get リクエストされた SpeechConfig に対する healthcare.speechConfigs.get
dictationStores.speechConfigs.list 親 Dictation ストアに対する healthcare.speechConfigs.list
dictationStores.speechConfigs.patch リクエストされた SpeechConfig に対する healthcare.speechConfigs.update
オペレーション メソッド 必要な権限
projects.locations.datasets.operations.get リクエストされたオペレーションに対する healthcare.operations.get

追加の Dictation 権限

projects.locations.datasets.dictationStores.dictations.create リクエストを行い、インポートする音声コンテンツが Cloud Storage バケットにある場合は、Cloud Healthcare Service Agentサービス アカウントに追加の権限を付与する必要があります。Google Cloud Console または gcloud を使用して、必要な storage.objectViewer ロールをプロジェクトのサービス アカウントに追加できます。

Console

  1. Cloud Healthcare API が有効になっていることを確認します。
  2. Google Cloud Console の IAM ページで、関連するプロジェクトのサービス アカウントの [ロール] 列にロール Healthcare サービス エージェントと表示されていることを確認します。(末尾が @gcp-sa-healthcare.iam.gserviceaccount.com のプロジェクト サービス アカウントを探します)。
  3. ロールに一致する [継承] 列で、鉛筆アイコンをクリックします。[権限の編集] ペインが開きます。
  4. [別のロールを追加] をクリックし、[Storage Object 閲覧者] のロールを検索します。
  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

役割

次の表に、Healthcare API(Dictation)の IAM ロールと、各ロールに関連付けられた権限を示します。

役割 権限
roles/healthcare.dictationStoreViewer
  • healthcare.dictationstores.get
  • healthcare.dictationstores.list
  • healthcare.speechConfigs.get
  • healthcare.speechConfigs.list
roles/healthcare.dictationStoreAdmin すべての roles/healthcare.dictationStoreViewer 権限、および
  • healthcare.dictationStores.create
  • healthcare.dictationStores.delete
  • healthcare.dictationStores.getIamPolicy
  • healthcare.dictationStores.setIamPolicy
  • healthcare.dictationStores.update
  • healthcare.speechConfigs.create
  • healthcare.speechConfigs.delete
  • healthcare.speechConfigs.update
roles/healthcare.dictationReader すべての roles/healthcare.dictationStoreViewer 権限、および
  • healthcare.dictations.get
  • healthcare.dictations.list
roles/healthcare.dictationEditor すべての roles/healthcare.dictationReader 権限、および
  • healthcare.dictations.create
  • healthcare.dictations.delete
  • healthcare.dictations.update
  • healthcare.dictations.recognize
  • healthcare.dictations.streamingRecognize
roles/healthcare.speechConfigReader すべての healthcare.dictationStoreViewer 権限、および
  • healthcare.speechConfigs.get
  • healthcare.speechConfigs.list
roles/healthcare.speechConfigEditor すべての healthcare.speechConfigReader 権限、および
  • healthcare.speechConfigs.create
  • healthcare.speechConfigs.delete
  • healthcare.speechConfigs.update

ロール roles/ownerroles/editorroles/viewer には、他の Google Cloud Platform サービスの権限も含まれます。ロールの詳細については、ロールについてをご覧ください。