このページでは、Identity and Access Management(IAM)権限を使用して Cloud Healthcare API データセットとデータストアへのアクセスを制御する方法について説明します。IAM を使用すると、データセットとデータストアにアクセスできるユーザーを制御できます。Cloud Healthcare API 用 IAM の詳細については、アクセス制御をご覧ください。
IAM ポリシーの概要
リソースへのアクセスは、IAM ポリシーによって管理されます。ポリシーには bindings
という配列が含まれています。この配列には、ユーザー アカウントやサービス アカウントなどのプリンシパルとロール間での関連付けであるバインディングのコレクションが含まれます。ポリシーは JSON または YAML を使用して表現されます。
次のサンプル ポリシーは、user-1@example.com
に roles/healthcare.datasetAdmin
ロールが付与され、user-2@example.com
と service-account-13@appspot.gserviceaccount.com
に roles/healthcare.datasetViewer
ロールが付与されていることを示しています。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.datasetAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.datasetViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com" ] } ] }
リソースのポリシーを更新するには、読み取り、変更、書き込みのパターンを使用します。ユーザーのアクセス権の作成、変更、取り消しに個別のメソッドはありません。
ポリシーの更新は、次の手順で行います。
- リソースの
getIamPolicy()
メソッドを呼び出して、現在のポリシーを読み取ります。たとえば、データセットの現在のポリシーを読み取るには、projects.locations.datasets.getIamPolicy
を呼び出します。 - テキスト エディタを使用するかプログラムを使用して、返されたポリシーを編集し、該当するプリンシパルとそのプリンシパルに付与されるロールの追加や削除を行います。
- リソースの
setIamPolicy()
メソッドを呼び出して、更新されたポリシーを書き込みます。たとえば、データセットの更新済みポリシーを書き込むには、projects.locations.datasets.setIamPolicy
を呼び出します。
Consent Store での IAM の使用
以下のセクションでは、Consent Store のポリシーを取得、変更、設定する方法について説明します。これらのセクションでは、次のサンプル ポリシーを出発点として使用します。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.consentStoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.consentReader", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com" ] } ] }
ポリシーの取得
次のサンプルは、Consent Store レベルの IAM ポリシーを読み取る方法を示しています。詳細については、projects.locations.datasets.consentStores.getIamPolicy
をご覧ください。
Console
Consent Store の IAM ポリシーを表示するには:
- Google Cloud コンソールで、[データセット] ページに移動します。
- Consent Store を含むデータセットの ID をクリックし、続いてポリシーを取得する Consent Store を選択します。
- [情報パネルを表示] をクリックします。
- ロールに割り当てられたプリンシパルを表示するには、ロールを展開します。
gcloud
Consent Store の IAM ポリシーを表示するには、gcloud healthcare consent-stores get-iam-policy
コマンドを実行します。Consent Store 名、データセット名、場所を指定します。
gcloud healthcare consent-stores get-iam-policy CONSENT_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
リクエストが成功すると、バインディングが表示されます。
bindings: - members: - user:user-1@example.com role: roles/healthcare.consentStoreAdmin - serviceAccount:service-account-13@appspot.gserviceaccount.com - user:user-2@example.com role: roles/healthcare.consentReader etag: bytes version: VERSION_NUMBER
Node.js
Python
curl
Consent Store の IAM ポリシーを読み取るには、GET
リクエストで、データセットの名前、Consent Store の名前、アクセス トークンを指定します。
次のサンプルは、curl
を使用した GET
リクエストを示しています。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID:getIamPolicy"
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.consentStoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.consentReader", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com" ] } ] }
PowerShell
Consent Store の IAM ポリシーを読み取るには、GET
リクエストで、データセットの名前、Consent Store の名前、アクセス トークンを指定します。
次のサンプルは、Windows PowerShell を使用した GET
リクエストを示しています。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID:getIamPolicy" | Select-Object -Expand Content
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.consentStoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.consentReader", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com" ] } ] }
ポリシーの変更
次のサンプルでは、新しいユーザーに roles/healthcare.consentReader
ロールを付与します。詳細については、projects.locations.datasets.consentStores.setIamPolicy
をご覧ください。
ポリシーの設定
Console
Consent Store レベルの IAM ポリシーを設定するには、次のようにします。
- Google Cloud コンソールで、[データセット] ページに移動します。
- Consent Store を含むデータセットの ID をクリックし、続いてポリシーを設定する Consent Store を選択します。
- [情報パネルを表示] をクリックします。
- [プリンシパルを追加] をクリックします。
- [新しいプリンシパル] フィールドに、Consent Store へのアクセスが必要な ID を 1 つ以上入力します。
- [ロールを選択] リストの [Cloud Healthcare] で、付与する権限を選択します。たとえば、Healthcare Consent Store の閲覧者を選択します。
- [保存] をクリックします。
gcloud
プログラムまたは、テキスト エディタを使用して取得したポリシーを変更することで、ユーザーにロールを付与する、または取り消します。ポリシーが変更されると etag
値が変更されるため、現在の値を指定する必要があります。
新しいユーザーにロールを付与するには、roles/healthcare.consentReader
バインディングの members
配列にユーザーのメールアドレスを追加します。
{ "role":"roles/healthcare.consentReader", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] }
members
配列からプリンシパルのメールアドレスを削除します。ロールを持つ最後のプリンシパルからアクセス権を取り消すには、対象のロールの bindings
配列を削除します。ポリシーに空の bindings
配列を配置することはできません。
ポリシーを変更して該当するロールを付与したら、適切な set-iam-policy
コマンドを実行して変更を加えます。Consent Store レベルのポリシーを設定するには、gcloud healthcare consent-stores set-iam-policy
コマンドを実行します。Consent Store 名、データセット名、場所、作成したポリシー ファイルへのパスを指定します。
gcloud healthcare consent-stores set-iam-policy CONSENT_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ POLICY_FILE_NAME
リクエストが成功すると、Consent Store 名とバインディングが表示されます。
Updated IAM policy for consentStore [CONSENT_STORE_ID]. bindings: - members: - user:user-1@example.com role: roles/healthcare.consentStoreAdmin - serviceAccount:service-account-13@appspot.gserviceaccount.com - user:user-2@example.com - user:NEW_USER_EMAIL_ADDRESS role: roles/healthcare.consentReader etag: bytes version: VERSION_NUMBER
Node.js
Python
curl
プログラムまたは、テキスト エディタを使用して取得したポリシーを変更することで、ユーザーにロールを付与する、または取り消します。ポリシーが変更されると etag
値が変更されるため、現在の値を指定する必要があります。
新しいユーザーにロールを付与するには、roles/healthcare.consentReader
バインディングの members
配列にユーザーのメールアドレスを追加します。
{ "role":"roles/healthcare.consentReader", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] }
members
配列からプリンシパルのメールアドレスを削除します。ロールを持つ最後のプリンシパルからアクセス権を取り消すには、対象のロールの bindings
配列を削除します。ポリシーに空の bindings
配列を配置することはできません。
ポリシーを変更して該当するロールを付与したら、projects.locations.datasets.consentStores.setIamPolicy
を呼び出して更新します。
Consent Store レベルの IAM ポリシーを設定するには、POST
リクエストで、データセットの名前、Consent Store の名前、ポリシー、アクセス トークンを指定します。
次のサンプルは、curl
を使用して新しいユーザーに既存の roles/healthcare.consentReader
ロールを付与する POST
リクエストを示しています。
Policy
をご覧ください。curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'policy': { 'bindings': [ { 'role':'roles/healthcare.consentStoreAdmin', 'members': [ 'user:user-1@example.com' ] }, { 'role':'roles/healthcare.consentReader', 'members': [ 'serviceAccount:service-account-13@appspot.gserviceaccount.com', 'user:user-2@example.com', 'user:NEW_USER_EMAIL_ADDRESS' ] } ] } }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID:setIamPolicy"
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.consentStoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.consentReader", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] } ] }
PowerShell
プログラムまたは、テキスト エディタを使用して取得したポリシーを変更することで、ユーザーにロールを付与する、または取り消します。ポリシーが変更されると etag
値が変更されるため、現在の値を指定する必要があります。
新しいユーザーにロールを付与するには、roles/healthcare.consentReader
バインディングの members
配列にユーザーのメールアドレスを追加します。
{ "role":"roles/healthcare.consentReader", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] }
members
配列からプリンシパルのメールアドレスを削除します。ロールを持つ最後のプリンシパルからアクセス権を取り消すには、対象のロールの bindings
配列を削除します。ポリシーに空の bindings
配列を配置することはできません。
ポリシーを変更して該当するロールを付与したら、projects.locations.datasets.consentStores.setIamPolicy
を呼び出して更新します。
Consent Store レベルの IAM ポリシーを設定するには、POST
リクエストで、データセットの名前、Consent Store の名前、ポリシー、アクセス トークンを指定します。
次のサンプルは、Windows PowerShell を使用して新しいユーザーに既存の roles/healthcare.consentReader
ロールを付与する POST
リクエストを示しています。
Policy
をご覧ください。$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'policy': { 'bindings': [ { 'role': 'roles/healthcare.consentStoreAdmin', 'members': [ 'user:user-1@example.com', ] }, { 'role': 'roles/healthcare.consentReader', 'members': [ 'serviceAccount:service-account-13@appspot.gserviceaccount.com', 'user:user-2@example.com', 'user:NEW_USER_EMAIL_ADDRESS' ] } ] } }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID:setIamPolicy" | Select-Object -Expand Content
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.consentStoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.consentReader", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] } ] }
データセットでの IAM の使用
以下のセクションでは、データセットのポリシーを取得、変更、設定する方法について説明します。これらのセクションでは、次のサンプル ポリシーを出発点として使用します。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.datasetAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.datasetViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com" ] } ] }
ポリシーの取得
次のサンプルは、データセット レベルの IAM ポリシーを読み取る方法を示しています。詳細については、projects.locations.datasets.getIamPolicy
をご覧ください。
curl
データセットの IAM ポリシーを読み取るには、GET
リクエストで、データセットの名前とアクセス トークンを指定します。
次のサンプルは、curl
を使用した GET
リクエストを示しています。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:getIamPolicy"
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.datasetAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.datasetViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com" ] } ] }
PowerShell
データセットの IAM ポリシーを表示するには、GET
リクエストで、データセットの名前とアクセス トークンを指定します。
次のサンプルは、Windows PowerShell を使用した GET
リクエストを示しています。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:getIamPolicy" | Select-Object -Expand Content
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.datasetAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.datasetViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com" ] } ] }
Console
データセットの IAM ポリシーを表示するには:- Google Cloud コンソールで、[データセット] ページに移動します。
- データセットを選択し、[情報パネルを表示] をクリックします。
- ロールに割り当てられたプリンシパルを表示するには、ロールを展開します。
gcloud
データセットの IAM ポリシーを表示するには、gcloud healthcare datasets get-iam-policy
コマンドを実行します。データセット名と場所を指定します。
gcloud healthcare datasets get-iam-policy DATASET_ID \ --location=LOCATION
リクエストが成功すると、バインディングが表示されます。
bindings: - members: - serviceAccount:service-account-13@appspot.gserviceaccount.com - user:user-2@example.com role: roles/healthcare.datasetViewer etag: bytes version: VERSION_NUMBER
Go
Java
Node.js
Python
ポリシーの変更
次のサンプルでは、新しいユーザーに roles/healthcare.datasetViewer
ロールを付与します。
ポリシーの設定
Console
データセット レベルの IAM ポリシーを設定するには、次のようにします。
- Google Cloud コンソールで、[データセット] ページに移動します。
- ポリシーを設定するデータセットを選択し、[情報パネルを表示] をクリックします。
- [プリンシパルを追加] をクリックします。
- [新しいプリンシパル] フィールドに、データセットへのアクセスが必要な ID を 1 つ以上入力します。
- [ロールを選択] リストの [Cloud Healthcare] で、付与する権限を選択します。たとえば、Healthcare Dataset 閲覧者などです。
- [保存] をクリックします。
gcloud
プログラムまたは、テキスト エディタを使用して取得したポリシーを変更することで、ユーザーにロールを付与する、または取り消します。ポリシーが変更されると etag
値が変更されるため、現在の値を指定する必要があります。
新しいユーザーにロールを付与するには、roles/healthcare.datasetViewer
バインディングの members
配列にユーザーのメールアドレスを追加します。
{ "role":"roles/healthcare.datasetViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] }
members
配列からプリンシパルのメールアドレスを削除します。ロールを持つ最後のプリンシパルからアクセス権を取り消すには、対象のロールの bindings
配列を削除します。ポリシーに空の bindings
配列を配置することはできません。
ポリシーを変更して該当するロールを付与したら、適切な set-iam-policy
コマンドを実行して変更を加えます。データセット レベルのポリシーを設定するには、gcloud healthcare datasets set-iam-policy
コマンドを実行します。データセット名、場所、作成したポリシー ファイルへのパスを指定します。
gcloud healthcare datasets set-iam-policy DATASET_ID \ --location=LOCATION \ POLICY_FILE_NAME
リクエストが成功すると、データセット名とバインディングが表示されます。
Updated IAM policy for dataset [DATASET_ID]. bindings: - members: - serviceAccount:service-account-13@appspot.gserviceaccount.com - user:user-2@example.com role: roles/healthcare.datasetAdmin - user:user-1@example.com - user:NEW_USER_EMAIL_ADDRESS role: roles/healthcare.datasetViewer etag: bytes version: VERSION_NUMBER
curl
プログラムまたは、テキスト エディタを使用して取得したポリシーを変更することで、ユーザーにロールを付与する、または取り消します。ポリシーが変更されると etag
値が変更されるため、現在の値を指定する必要があります。
新しいユーザーにロールを付与するには、roles/healthcare.datasetViewer
バインディングの members
配列にユーザーのメールアドレスを追加します。
{ "role":"roles/healthcare.datasetViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] }
members
配列からプリンシパルのメールアドレスを削除します。ロールを持つ最後のプリンシパルからアクセス権を取り消すには、対象のロールの bindings
配列を削除します。ポリシーに空の bindings
配列を配置することはできません。
ポリシーを変更して該当するロールを付与したら、projects.locations.datasets.setIamPolicy
を呼び出して更新します。
データセット レベルの IAM ポリシーを設定するには、POST
リクエストで、データセットの名前、ポリシー、アクセス トークンを指定します。
次のサンプルは、curl
を使用して新しいユーザーに既存の roles/healthcare.datasetViewer
ロールを付与する POST
リクエストを示しています。
Policy
をご覧ください。curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'policy': { 'bindings': [ { 'role':'roles/healthcare.datasetAdmin', 'members': [ 'user:user-1@example.com' ] }, { 'role':'roles/healthcare.datasetViewer', 'members': [ 'serviceAccount:service-account-13@appspot.gserviceaccount.com', 'user:user-2@example.com', 'user:NEW_USER_EMAIL_ADDRESS' ] } ] } }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:setIamPolicy"
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.datasetAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.datasetViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] } ] }
PowerShell
プログラムまたは、テキスト エディタを使用して取得したポリシーを変更することで、ユーザーにロールを付与する、または取り消します。ポリシーが変更されると etag
値が変更されるため、現在の値を指定する必要があります。
新しいユーザーにロールを付与するには、roles/healthcare.datasetViewer
バインディングの members
配列にユーザーのメールアドレスを追加します。
{ "role":"roles/healthcare.datasetViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] }
members
配列からプリンシパルのメールアドレスを削除します。ロールを持つ最後のプリンシパルからアクセス権を取り消すには、対象のロールの bindings
配列を削除します。ポリシーに空の bindings
配列を配置することはできません。
ポリシーを変更して該当するロールを付与したら、projects.locations.datasets.setIamPolicy
を呼び出して更新します。
データセット レベルの IAM ポリシーを設定するには、POST
リクエストで、データセットの名前、ポリシー、アクセス トークンを指定します。
次のサンプルは、Windows PowerShell を使用して新しいユーザーに既存の roles/healthcare.datasetViewer
ロールを付与する POST
リクエストを示しています。
Policy
をご覧ください。$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'policy': { 'bindings': [ { 'role': 'roles/healthcare.datasetAdmin', 'members': [ 'user:user-1@example.com' ] }, { 'role': 'roles/healthcare.datasetViewer', 'members': [ 'serviceAccount:service-account-13@appspot.gserviceaccount.com', 'user:user-2@example.com', 'user:NEW_USER_EMAIL_ADDRESS' ] } ] } }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:setIamPolicy" | Select-Object -Expand Content
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.datasetAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.datasetViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] } ] }
Go
Java
Node.js
Python
DICOM ストアでの IAM の使用
以降のセクションでは、DICOM ストアのポリシーを取得、変更、設定する方法について説明します。これらのセクションでは、次のサンプル ポリシーを出発点として使用します。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.dicomStoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.dicomViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com" ] } ] }
ポリシーの取得
次のサンプルは、DICOM ストアレベルの IAM ポリシーを読み取る方法を示しています。詳細については、projects.locations.datasets.dicomStores.getIamPolicy
をご覧ください。
Console
DICOM ストアの IAM ポリシーを表示するには:
- Google Cloud コンソールで、[データセット] ページに移動します。
- DICOM ストアを含むデータセットの ID をクリックし、続いてポリシーを取得する DICOM ストアを選択します。
- [情報パネルを表示] をクリックします。
- ロールに割り当てられたプリンシパルを表示するには、ロールを展開します。
gcloud
DICOM ストアの IAM ポリシーを表示するには、gcloud healthcare dicom-stores get-iam-policy
コマンドを実行します。DICOM ストア名、データセット名、場所を指定します。
gcloud healthcare dicom-stores get-iam-policy DICOM_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
リクエストが成功すると、バインディングが表示されます。
bindings: - members: - user:user-1@example.com role: roles/healthcare.dicomStoreAdmin - serviceAccount:service-account-13@appspot.gserviceaccount.com - user:user-2@example.com role: roles/healthcare.dicomViewer etag: bytes version: VERSION_NUMBER
Go
Java
Node.js
Python
curl
DICOM ストアの IAM ポリシーを読み取るには、GET
リクエストで、データセットの名前、DICOM ストアの名前、アクセス トークンを指定します。
次のサンプルは、curl
を使用した GET
リクエストを示しています。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID:getIamPolicy"
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.dicomStoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.dicomViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com" ] } ] }
PowerShell
DICOM ストアの IAM ポリシーを読み取るには、GET
リクエストで、データセットの名前、DICOM ストアの名前、アクセス トークンを指定します。
次のサンプルは、Windows PowerShell を使用した GET
リクエストを示しています。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID:getIamPolicy" | Select-Object -Expand Content
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.dicomStoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.dicomViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com" ] } ] }
ポリシーの変更
次のサンプルでは、新しいユーザーに roles/healthcare.dicomViewer
ロールを付与します。詳細については、projects.locations.datasets.dicomStores.setIamPolicy
をご覧ください。
ポリシーの設定
Console
DICOM ストアレベルの IAM ポリシーを設定するには、次のようにします。
- Google Cloud コンソールで、[データセット] ページに移動します。
- DICOM ストアを含むデータセットの ID をクリックし、続いてポリシーを設定する DICOM ストアを選択します。
- [情報パネルを表示] をクリックします。
- [プリンシパルを追加] をクリックします。
- [新しいプリンシパル] フィールドに、DICOM ストアへのアクセスが必要な ID を 1 つ以上入力します。
- [ロールを選択] リストの [Cloud Healthcare] で、付与する権限を選択します。たとえば、Healthcare DICOM ストア閲覧者などです。
- [保存] をクリックします。
gcloud
プログラムまたは、テキスト エディタを使用して取得したポリシーを変更することで、ユーザーにロールを付与する、または取り消します。ポリシーが変更されると etag
値が変更されるため、現在の値を指定する必要があります。
新しいユーザーにロールを付与するには、roles/healthcare.dicomViewer
バインディングの members
配列にユーザーのメールアドレスを追加します。
{ "role":"roles/healthcare.dicomViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] }
members
配列からプリンシパルのメールアドレスを削除します。ロールを持つ最後のプリンシパルからアクセス権を取り消すには、対象のロールの bindings
配列を削除します。ポリシーに空の bindings
配列を配置することはできません。
ポリシーを変更して該当するロールを付与したら、適切な set-iam-policy
コマンドを実行して変更を加えます。DICOM ストアレベルのポリシーを設定するには、gcloud healthcare dicom-stores set-iam-policy
コマンドを実行します。DICOM ストア名、データセット名、場所、作成したポリシー ファイルへのパスを指定します。
gcloud healthcare dicom-stores set-iam-policy DICOM_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ POLICY_FILE_NAME
リクエストが成功すると、DICOM ストア名とバインディングが表示されます。
Updated IAM policy for dicomStore [DICOM_STORE_ID]. bindings: - members: - user:user-1@example.com role: roles/healthcare.dicomStoreAdmin - serviceAccount:service-account-13@appspot.gserviceaccount.com - user:user-2@example.com - user:NEW_USER_EMAIL_ADDRESS role: roles/healthcare.dicomViewer etag: bytes version: VERSION_NUMBER
Go
Java
Node.js
Python
curl
プログラムまたは、テキスト エディタを使用して取得したポリシーを変更することで、ユーザーにロールを付与する、または取り消します。ポリシーが変更されると etag
値が変更されるため、現在の値を指定する必要があります。
新しいユーザーにロールを付与するには、roles/healthcare.dicomViewer
バインディングの members
配列にユーザーのメールアドレスを追加します。
{ "role":"roles/healthcare.dicomViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] }
members
配列からプリンシパルのメールアドレスを削除します。ロールを持つ最後のプリンシパルからアクセス権を取り消すには、対象のロールの bindings
配列を削除します。ポリシーに空の bindings
配列を配置することはできません。
ポリシーを変更して該当するロールを付与したら、projects.locations.datasets.dicomStores.setIamPolicy
を呼び出して更新します。
DICOM ストアレベルの IAM ポリシーを設定するには、POST
リクエストで、データセットの名前、DICOM ストアの名前、ポリシー、アクセス トークンを指定します。
次のサンプルは、curl
を使用して新しいユーザーに既存の roles/healthcare.dicomViewer
ロールを付与する POST
リクエストを示しています。
Policy
をご覧ください。curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'policy': { 'bindings': [ { 'role':'roles/healthcare.dicomStoreAdmin', 'members': [ 'user:user-1@example.com' ] }, { 'role':'roles/healthcare.dicomViewer', 'members': [ 'serviceAccount:service-account-13@appspot.gserviceaccount.com', 'user:user-2@example.com', 'user:NEW_USER_EMAIL_ADDRESS' ] } ] } }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID:setIamPolicy"
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.dicomStoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.dicomViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] } ] }
PowerShell
プログラムまたは、テキスト エディタを使用して取得したポリシーを変更することで、ユーザーにロールを付与する、または取り消します。ポリシーが変更されると etag
値が変更されるため、現在の値を指定する必要があります。
新しいユーザーにロールを付与するには、roles/healthcare.dicomViewer
バインディングの members
配列にユーザーのメールアドレスを追加します。
{ "role":"roles/healthcare.dicomViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] }
members
配列からプリンシパルのメールアドレスを削除します。ロールを持つ最後のプリンシパルからアクセス権を取り消すには、対象のロールの bindings
配列を削除します。ポリシーに空の bindings
配列を配置することはできません。
ポリシーを変更して該当するロールを付与したら、projects.locations.datasets.dicomStores.setIamPolicy
を呼び出して更新します。
DICOM ストアレベルの IAM ポリシーを設定するには、POST
リクエストで、データセットの名前、DICOM ストアの名前、ポリシー、アクセス トークンを指定します。
次のサンプルは、Windows PowerShell を使用して新しいユーザーに既存の roles/healthcare.dicomViewer
ロールを付与する POST
リクエストを示しています。
Policy
をご覧ください。$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'policy': { 'bindings': [ { 'role': 'roles/healthcare.dicomStoreAdmin', 'members': [ 'user:user-1@example.com', ] }, { 'role': 'roles/healthcare.dicomViewer', 'members': [ 'serviceAccount:service-account-13@appspot.gserviceaccount.com', 'user:user-2@example.com', 'user:NEW_USER_EMAIL_ADDRESS' ] } ] } }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID:setIamPolicy" | Select-Object -Expand Content
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.dicomStoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.dicomViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] } ] }
FHIR ストアでの IAM の使用
以下のセクションでは、FHIR ストアのポリシーを取得、変更、設定する方法について説明します。これらのセクションでは、次のサンプル ポリシーを出発点として使用します。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.fhirStoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.fhirResourceReader", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com" ] } ] }
ポリシーの取得
次のサンプルは、FHIR ストアレベルの IAM ポリシーを読み取る方法を示しています。詳細については、projects.locations.datasets.fhirStores.getIamPolicy
をご覧ください。
Console
FHIR ストアの IAM ポリシーを表示するには:
- Google Cloud コンソールで、[データセット] ページに移動します。
- FHIR ストアを含むデータセットの ID をクリックし、続いてポリシーを取得する FHIR ストアを選択します。
- [情報パネルを表示] をクリックします。
- ロールに割り当てられたプリンシパルを表示するには、ロールを展開します。
gcloud
FHIR ストアの IAM ポリシーを表示するには、gcloud healthcare fhir-stores get-iam-policy
コマンドを実行します。FHIR ストア名、データセット名、場所を指定します。
gcloud healthcare fhir-stores get-iam-policy FHIR_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
リクエストが成功すると、バインディングが表示されます。
bindings: - members: - user:user-1@example.com role: roles/healthcare.fhirStoreAdmin - serviceAccount:service-account-13@appspot.gserviceaccount.com - user:user-2@example.com role: roles/healthcare.fhirResourceReader etag: bytes version: VERSION_NUMBER
Go
Java
Node.js
Python
curl
FHIR ストアの IAM ポリシーを読み取るには、POST
リクエストで、データセットの名前、FHIR ストアの名前、アクセス トークンを指定します。
次のサンプルは、curl
を使用した POST
リクエストを示しています。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:getIamPolicy"
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.fhirStoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.fhirResourceReader", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com" ] } ] }
PowerShell
FHIR ストアの IAM ポリシーを読み取るには、POST
リクエストで、データセットの名前、FHIR ストアの名前、アクセス トークンを指定します。
次のサンプルは、Windows PowerShell を使用した POST
リクエストを示しています。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:getIamPolicy" | Select-Object -Expand Content
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.fhirStoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.fhirResourceReader", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com" ] } ] }
ポリシーの変更
次のサンプルでは、新しいユーザーに roles/healthcare.fhirResourceReader
ロールを付与します。詳細については、projects.locations.datasets.fhirStores.setIamPolicy
をご覧ください。
ポリシーの設定
Console
FHIR ストアレベルの IAM ポリシーを設定するには、次のようにします。
- Google Cloud コンソールで、[データセット] ページに移動します。
- FHIR ストアを含むデータセットの ID をクリックし、ポリシーを設定する FHIR ストアを選択します。
- [情報パネルを表示] をクリックします。
- [プリンシパルを追加] をクリックします。
- [新しいプリンシパル] フィールドに、FHIR ストアへのアクセスが必要な ID を 1 つ以上入力します。
- [ロールを選択] リストの [Cloud Healthcare] で、付与する権限を選択します。たとえば、Healthcare FHIR リソース読み取りなどです。
- [保存] をクリックします。
gcloud
プログラムまたは、テキスト エディタを使用して取得したポリシーを変更することで、ユーザーにロールを付与する、または取り消します。ポリシーが変更されると etag
値が変更されるため、現在の値を指定する必要があります。
新しいユーザーにロールを付与するには、roles/healthcare.fhirResourceReader
バインディングの members
配列にユーザーのメールアドレスを追加します。
{ "role":"roles/healthcare.fhirResourceReader", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] }
members
配列からプリンシパルのメールアドレスを削除します。ロールを持つ最後のプリンシパルからアクセス権を取り消すには、対象のロールの bindings
配列を削除します。ポリシーに空の bindings
配列を配置することはできません。
ポリシーを変更して該当するロールを付与したら、適切な set-iam-policy
コマンドを実行して変更を加えます。FHIR ストアレベルのポリシーを設定するには、gcloud healthcare fhir-stores set-iam-policy
コマンドを実行します。FHIR ストア名、データセット名、場所、作成したポリシー ファイルへのパスを指定します。
gcloud healthcare fhir-stores set-iam-policy FHIR_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ POLICY_FILE_NAME
リクエストが成功すると、FHIR ストア名とバインディングが表示されます。
Updated IAM policy for fhirStore [FHIR_STORE_ID]. bindings: - members: - serviceAccount:service-account-13@appspot.gserviceaccount.com - user:user-2@example.com - user:NEW_USER_EMAIL_ADDRESS role: roles/healthcare.fhirResourceReader etag: bytes version: VERSION_NUMBER
Go
Java
Node.js
Python
curl
プログラムまたは、テキスト エディタを使用して取得したポリシーを変更することで、ユーザーにロールを付与する、または取り消します。ポリシーが変更されるとetag
値が変更されるため、現在の値を指定する必要があります。新しいユーザーにロールを付与するには、roles/healthcare.fhirResourceReader
バインディングの members
配列にユーザーのメールアドレスを追加します。
{ "role":"roles/healthcare.fhirResourceReader", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] }
members
配列からプリンシパルのメールアドレスを削除します。ロールを持つ最後のプリンシパルからアクセス権を取り消すには、対象のロールの bindings
配列を削除します。ポリシーに空の bindings
配列を配置することはできません。
ポリシーを変更して該当するロールを付与したら、projects.locations.datasets.fhirStores.setIamPolicy
を呼び出して更新します。
FHIR ストアレベルの IAM ポリシーを設定するには、POST
リクエストで、データセットの名前、FHIR ストアの名前、ポリシー、アクセス トークンを指定します。
次のサンプルは、curl
を使用して新しいユーザーに既存の roles/healthcare.fhirResourceReader
ロールを付与する POST
リクエストを示しています。
Policy
をご覧ください。curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'policy': { 'bindings': [ { 'role':'roles/healthcare.fhirStoreAdmin', 'members': [ 'user:user-1@example.com' ] }, { 'role':'roles/healthcare.fhirResourceReader', 'members': [ 'serviceAccount:service-account-13@appspot.gserviceaccount.com', 'user:user-2@example.com', 'user:NEW_USER_EMAIL_ADDRESS' ] } ] } }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:setIamPolicy"
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.fhirStoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.fhirResourceViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] } ] }
PowerShell
プログラムまたは、テキスト エディタを使用して取得したポリシーを変更することで、ユーザーにロールを付与する、または取り消します。ポリシーが変更されると etag
値が変更されるため、現在の値を指定する必要があります。
新しいユーザーにロールを付与するには、roles/healthcare.fhirResourceReader
バインディングの members
配列にユーザーのメールアドレスを追加します。
{ "role":"roles/healthcare.fhirResourceReader", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] }
members
配列からプリンシパルのメールアドレスを削除します。ロールを持つ最後のプリンシパルからアクセス権を取り消すには、対象のロールの bindings
配列を削除します。ポリシーに空の bindings
配列を配置することはできません。
ポリシーを変更して該当するロールを付与したら、projects.locations.datasets.fhirStores.setIamPolicy
を呼び出して更新します。
FHIR ストアレベルの IAM ポリシーを設定するには、POST
リクエストで、データセットの名前、FHIR ストアの名前、ポリシー、アクセス トークンを指定します。
次のサンプルは、Windows PowerShell を使用して新しいユーザーに既存の roles/healthcare.fhirResourceReader
ロールを付与する POST
リクエストを示しています。
Policy
をご覧ください。$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'policy': { 'bindings': [ { 'role': 'roles/healthcare.fhirStoreAdmin', 'members': [ 'user:user-1@example.com', ] }, { 'role': 'roles/healthcare.fhirResourceReader', 'members': [ 'serviceAccount:service-account-13@appspot.gserviceaccount.com', 'user:user-2@example.com', 'user:NEW_USER_EMAIL_ADDRESS' ] } ] } }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:setIamPolicy" | Select-Object -Expand Content
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.fhirStoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.fhirResourceViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] } ] }
HL7v2 ストアでの IAM の使用
以下のセクションでは、HL7v2 ストアのポリシーの取得、変更、設定の方法について説明します。これらのセクションでは、次のサンプル ポリシーを出発点として使用します。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.hl7V2StoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.hl7V2Consumer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com" ] } ] }
ポリシーの取得
次のサンプルは、HL7v2 ストアレベルの IAM ポリシーを読み取る方法を示しています。詳細については、projects.locations.datasets.hl7V2Stores.getIamPolicy
をご覧ください。
Console
HL7v2 ストアの IAM ポリシーを表示するには:
- Google Cloud コンソールで、[データセット] ページに移動します。
- HL7v2 ストアを含むデータセットの ID をクリックし、続いてポリシーを取得する HL7v2 ストアを選択します。
- [情報パネルを表示] をクリックします。
- ロールに割り当てられたプリンシパルを表示するには、ロールを展開します。
gcloud
HL7v2 ストアの IAM ポリシーを表示するには、hl7v2-stores get-iam-policy
コマンドを実行します。HL7v2 ストア名、データセット名、場所を指定します。
gcloud healthcare hl7v2-stores get-iam-policy HL7V2_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
リクエストが成功すると、バインディングが表示されます。
bindings: - members: - user:user-1@example.com role: roles/healthcare.hl7v2StoreAdmin - serviceAccount:service-account-13@appspot.gserviceaccount.com - user:user-2@example.com role: roles/healthcare.hl7v2Consumer etag: bytes version: VERSION_NUMBER
curl
HL7v2 ストアの IAM ポリシーを読み取るには、GET
リクエストで、データセットの名前、HL7v2 ストアの名前、アクセス トークンを指定します。
次のサンプルは、curl
を使用した GET
リクエストを示しています。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:getIamPolicy"
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.hl7V2StoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.hl7V2Consumer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com" ] } ] }
PowerShell
HL7v2 ストアの IAM ポリシーを読み取るには、GET
リクエストで、データセットの名前、HL7v2 ストアの名前、アクセス トークンを指定します。
次のサンプルは、Windows PowerShell を使用した GET
リクエストを示しています。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:getIamPolicy" | Select-Object -Expand Content
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.hl7V2StoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.hl7V2Consumer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com" ] } ] }
Go
Java
Node.js
Python
ポリシーの変更
次のサンプルでは、新しいユーザーに roles/healthcare.hl7V2Consumer
ロールを付与します。詳細については、projects.locations.datasets.hl7V2Stores.setIamPolicy
をご覧ください。
ポリシーの設定
Console
HL7v2 ストアレベルの IAM ポリシーを設定するには、次のようにします。
- Google Cloud コンソールで、[データセット] ページに移動します。
- HL7v2 ストアを含むデータセットの ID をクリックし、続いてポリシーを設定する HL7v2 ストアを選択します。
- [情報パネルを表示] をクリックします。
- [プリンシパルを追加] をクリックします。
- [新しいプリンシパル] フィールドに、HL7v2 ストアへのアクセスが必要な ID を 1 つ以上入力します。
- [ロールを選択] リストの [Cloud Healthcare] で、付与する権限を選択します。たとえば、Healthcare HL7v2 メッセージ コンシューマなどです。
- [保存] をクリックします。
gcloud
プログラムまたは、テキスト エディタを使用して取得したポリシーを変更することで、ユーザーにロールを付与する、または取り消します。ポリシーが変更されると etag
値が変更されるため、現在の値を指定する必要があります。
新しいユーザーにロールを付与するには、roles/healthcare.hl7V2Consumer
バインディングの members
配列にユーザーのメールアドレスを追加します。
{ "role":"roles/healthcare.hl7V2Consumer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] }
members
配列からプリンシパルのメールアドレスを削除します。ロールを持つ最後のプリンシパルからアクセス権を取り消すには、対象のロールの bindings
配列を削除します。ポリシーに空の bindings
配列を配置することはできません。
ポリシーを変更して該当するロールを付与したら、適切な set-iam-policy
コマンドを実行して変更を加えます。HL7v2 ストアレベル ポリシーを設定するには、gcloud healthcare hl7v2-stores set-iam-policy
コマンドを実行します。HL7v2 ストア名、データセット名、場所、作成したポリシー ファイルへのパスを指定します。
gcloud healthcare hl7v2-stores set-iam-policy HL7V2_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ POLICY_FILE_NAME
リクエストが成功すると、HL7v2 ストア名とバインディングが表示されます。
Updated IAM policy for hl7v2Store [HL7V2_STORE_ID]. bindings: - members: - user:user-1@example.com role: roles/healthcare.hl7v2StoreAdmin - serviceAccount:service-account-13@appspot.gserviceaccount.com - user:user-2@example.com - user:NEW_USER_EMAIL_ADDRESS role: roles/healthcare.hl7v2Consumer etag: bytes version: VERSION_NUMBER
curl
プログラムまたは、テキスト エディタを使用して取得したポリシーを変更することで、ユーザーにロールを付与する、または取り消します。ポリシーが変更されると etag
値が変更されるため、現在の値を指定する必要があります。
新しいユーザーにロールを付与するには、roles/healthcare.hl7V2Consumer
バインディングの members
配列にユーザーのメールアドレスを追加します。
{ "role":"roles/healthcare.hl7V2Consumer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] }
members
配列からプリンシパルのメールアドレスを削除します。ロールを持つ最後のプリンシパルからアクセス権を取り消すには、対象のロールの bindings
配列を削除します。ポリシーに空の bindings
配列を配置することはできません。
ポリシーを変更して該当するロールを付与したら、projects.locations.datasets.hl7V2Stores.setIamPolicy
を呼び出して更新します。
HL7v2 ストアレベルの IAM ポリシーを設定するには、POST
リクエストで、データセットの名前、HL7v2 ストアの名前、ポリシー、アクセス トークンを指定します。
次のサンプルは、curl
を使用して新しいユーザーに既存の roles/healthcare.hl7V2Consumer
ロールを付与する POST
リクエストを示しています。
Policy
をご覧ください。curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'policy': { 'bindings': [ { 'role':'roles/healthcare.hl7V2StoreAdmin', 'members': [ 'user:user-1@example.com' ] }, { 'role':'roles/healthcare.hl7V2Consumer', 'members': [ 'serviceAccount:service-account-13@appspot.gserviceaccount.com', 'user:user-2@example.com', 'user:NEW_USER_EMAIL_ADDRESS' ] } ] } }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:setIamPolicy"
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.hl7V2StoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.hl7V2Consumer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] } ] }
PowerShell
プログラムまたは、テキスト エディタを使用して取得したポリシーを変更することで、ユーザーにロールを付与する、または取り消します。ポリシーが変更されると etag
値が変更されるため、現在の値を指定する必要があります。
新しいユーザーにロールを付与するには、roles/healthcare.hl7V2Consumer
バインディングの members
配列にユーザーのメールアドレスを追加します。
{ "role":"roles/healthcare.hl7V2Consumer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] }
members
配列からプリンシパルのメールアドレスを削除します。ロールを持つ最後のプリンシパルからアクセス権を取り消すには、対象のロールの bindings
配列を削除します。ポリシーに空の bindings
配列を配置することはできません。
ポリシーを変更して該当するロールを付与したら、projects.locations.datasets.hl7V2Stores.setIamPolicy
を呼び出して更新します。
HL7v2 ストアレベルの IAM ポリシーを設定するには、POST
リクエストで、データセットの名前、HL7v2 ストアの名前、ポリシー、アクセス トークンを指定します。
次のサンプルは、curl
を使用して新しいユーザーに既存の roles/healthcare.hl7V2Consumer
ロールを付与する POST
リクエストを示しています。
Policy
をご覧ください。$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'policy': { 'bindings': [ { 'role': 'roles/healthcare.hl7V2StoreAdmin', 'members': [ 'user:user-1@example.com', ] }, { 'role': 'roles/healthcare.hl7V2Consumer', 'members': [ 'serviceAccount:service-account-13@appspot.gserviceaccount.com', 'user:user-2@example.com', 'user:NEW_USER_EMAIL_ADDRESS' ] } ] } }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:setIamPolicy" | Select-Object -Expand Content
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.hl7V2StoreAdmin", "members": [ "user:user-1@example.com" ] }, { "role":"roles/healthcare.hl7V2Consumer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "user:user-2@example.com", "user:NEW_USER_EMAIL_ADDRESS" ] } ] }
Go
Java
Node.js
Python
Healthcare Natural Language API での IAM の使用
以降のセクションでは、Healthcare Natural Language API のポリシーを取得、変更、設定する方法について説明します。これらのセクションでは、次のサンプル ポリシーを出発点として使用します。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.nlpServiceViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com" ] } ] }
ポリシーの取得
次のサンプルは、プロジェクト レベルの IAM ポリシーを読み取る方法を示しています。詳細については、projects.getIamPolicy
メソッドをご覧ください。
curl
プロジェクトの IAM ポリシーを読み取るには、POST
リクエストで、プロジェクトの名前とアクセス トークンを指定します。
次のサンプルは、curl
を使用した POST
リクエストを示しています。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy"
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.nlpServiceViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com" ] } ] }
PowerShell
プロジェクトの IAM ポリシーを表示するには、POST
リクエストで、プロジェクトの名前とアクセス トークンを指定します。
次のサンプルは、Windows PowerShell を使用した POST
リクエストを示しています。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -Uri "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy" | Select-Object -Expand Content
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.nlpServiceViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com" ] } ] }
Console
プロジェクトの IAM ポリシーを表示するには、次の手順を実行します。
- Google Cloud Console の [IAM] ページに移動します。
- ロールに割り当てられたプリンシパルを表示するには、[ロール] をクリックし、ロールを展開します。
gcloud
プロジェクトの IAM ポリシーを表示するには、gcloud projects get-iam-policy
コマンドを実行します。リクエストでプロジェクト名を指定します。
gcloud projects get-iam-policy PROJECT_ID
リクエストが成功すると、バインディングが表示されます。
bindings: - members: - serviceAccount:service-account-13@appspot.gserviceaccount.com role: roles/healthcare.nlpServiceViewer etag: bytes version: VERSION_NUMBER
ポリシーの変更
次のサンプルでは、サービスに roles/healthcare.nlpServiceViewer
ロールを付与しています。詳細については、projects.setIamPolicy
をご覧ください。
ポリシーの設定
Console
プロジェクト レベルの IAM ポリシーを設定するには、次のようにします。
- Google Cloud Console の [IAM] ページに移動します。
- プリンシパルの横にある [編集] ボタンをクリックするか、[プリンシパルを追加] をクリックして、[新しいプリンシパル] フィールドに、プロジェクトにアクセスする必要がある 1 つ以上の ID を入力します。
- [ロールを選択] リストの [Cloud Healthcare] で [Healthcare Natural Language Service Viewer] を選択します。
- [保存] をクリックします。
gcloud
プログラムまたは、テキスト エディタを使用して取得したポリシーを変更することで、ユーザーにロールを付与する、または取り消します。ポリシーが変更されると etag
値が変更されるため、現在の値を指定する必要があります。
新しいサービス アカウントにロールを付与するには、サービス アカウントのメールアドレスを roles/healthcare.nlpServiceViewer
バインディングの members
配列に追加します。
{ "role":"roles/healthcare.nlpServiceViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "serviceAccount:NEW_SERVICE_ACCOUNT_EMAIL_ADDRESS" ] }
members
配列からプリンシパルのメールアドレスを削除します。ロールを持つ最後のプリンシパルからアクセス権を取り消すには、対象のロールの bindings
配列を削除します。ポリシーに空の bindings
配列を配置することはできません。
ポリシーを変更して該当するロールを付与したら、適切な gcloud projects set-iam-policy
コマンドを実行して変更を加えます。プロジェクトと、作成したポリシー ファイルのパスを指定します。
gcloud projects set-iam-policy PROJECT_STORE_ID \ POLICY_FILE_NAME
リクエストが成功すると、プロジェクト名とバインディングが表示されます。
Updated IAM policy for project [PROJECT_ID]. bindings: - members: - serviceAccount:service-account-13@appspot.gserviceaccount.com - serviceAccount:NEW_USER_EMAIL_ADDRESS role: roles/healthcare.nlpServiceViewer etag: bytes version: VERSION_NUMBER
curl
プログラムまたは、テキスト エディタを使用して取得したポリシーを変更することで、ユーザーにロールを付与する、または取り消します。ポリシーが変更されると etag
値が変更されるため、現在の値を指定する必要があります。
新しいサービス アカウントにロールを付与するには、サービス アカウントのメールアドレスを roles/healthcare.nlpServiceViewer
バインディングの members
配列に追加します。
{ "role":"roles/healthcare.nlpServiceViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "serviceAccount:NEW_SERVICE_ACCOUNT_EMAIL_ADDRESS" ] }
members
配列からプリンシパルのメールアドレスを削除します。ロールを持つ最後のプリンシパルからアクセス権を取り消すには、対象のロールの bindings
配列を削除します。ポリシーに空の bindings
配列を配置することはできません。
ポリシーを変更して該当するロールを付与したら、projects.setIamPolicy
を呼び出して更新します。
プロジェクト レベルの IAM ポリシーを設定するには、POST
リクエストで、プロジェクト名、ポリシー、アクセス トークンを指定します。
次のサンプルは、curl
を使用して新しいユーザーに既存の roles/healthcare.nlpServiceViewer
ロールを付与する POST
リクエストを示しています。
Policy
をご覧ください。curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'policy': { 'bindings': [ { 'role':'roles/healthcare.nlpServiceViewer', 'members': [ 'serviceAccount:service-account-13@appspot.gserviceaccount.com' ] } ] } }" "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy"
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.nlpServiceViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com" ] } ] }
PowerShell
プログラムまたは、テキスト エディタを使用して取得したポリシーを変更することで、ユーザーにロールを付与する、または取り消します。ポリシーが変更されると etag
値が変更されるため、現在の値を指定する必要があります。
新しいサービス アカウントにロールを付与するには、サービス アカウントのメールアドレスを roles/healthcare.nlpServiceViewer
バインディングの members
配列に追加します。
{ "role":"roles/healthcare.nlpServiceViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "serviceAccount:NEW_SERVICE_ACCOUNT_EMAIL_ADDRESS" ] }
members
配列からプリンシパルのメールアドレスを削除します。ロールを持つ最後のプリンシパルからアクセス権を取り消すには、対象のロールの bindings
配列を削除します。ポリシーに空の bindings
配列を配置することはできません。
ポリシーを変更して該当するロールを付与したら、projects.setIamPolicy
を呼び出して更新します。
プロジェクト レベルの IAM ポリシーを設定するには、POST
リクエストで、プロジェクト名、ポリシー、アクセス トークンを指定します。
次のサンプルは、curl
を使用して新しいユーザーに既存の roles/healthcare.nlpServiceViewer
ロールを付与する POST
リクエストを示しています。
Policy
をご覧ください。$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'policy': { 'bindings': [ { 'role': 'roles/healthcare.nlpServiceViewer', 'members': [ 'serviceAccount:service-account-13@appspot.gserviceaccount.com', 'serviceAccount:NEW_USER_EMAIL_ADDRESS' ] } ] } }" ` -Uri "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy" | Select-Object -Expand Content
レスポンスは次のとおりです。
{ "etag":"bytes", "bindings": [ { "role":"roles/healthcare.nlpServiceViewer", "members": [ "serviceAccount:service-account-13@appspot.gserviceaccount.com", "serviceAccount:NEW_USER_EMAIL_ADDRESS" ] } ] }