このページでは、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 コンソールで、[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 コンソールで、[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"
]
}
]
}