本页面介绍如何使用身份和访问权限管理 (IAM) 权限控制对 Cloud Healthcare API 数据集和数据存储区的权限。您可以通过 IAM 控制谁有权访问您的数据集和数据存储区。如需详细了解适用于 Cloud Healthcare API 的 IAM,请参阅访问权限控制。
IAM 政策概览
您可以通过 IAM 政策管理对资源的访问权限。政策包含数组 bindings
。此数组包含一组绑定,这些绑定是主账号(如用户账号或服务账号)与角色之间的关联。政策使用 JSON 或 YAML 表示。
以下示例政策展示了已被授予 roles/healthcare.datasetAdmin
角色的 user-1@example.com
,以及已被授予 roles/healthcare.datasetViewer
角色的 user-2@example.com
和 service-account-13@appspot.gserviceaccount.com
:
{ "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
。
将 IAM 与许可存储区搭配使用
以下各部分介绍了如何获取、修改和设置许可存储区的政策。这些部分使用以下示例政策作为初始政策:
{ "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" ] } ] }
获取政策
以下示例展示了如何读取许可存储区级层的 IAM 政策。如需了解详情,请参阅 projects.locations.datasets.consentStores.getIamPolicy
。
控制台
如需查看许可存储区的 IAM 政策,请执行以下操作:
- 在 Google Cloud 控制台中,转到“数据集”页面。
- 点击包含许可存储区的数据集的 ID,然后选择要为其获取政策的许可存储区。
- 点击显示信息面板。
- 要查看分配给某个角色的主账号,请展开该角色。
gcloud
如需查看许可存储区的 IAM 政策,请运行 gcloud healthcare consent-stores get-iam-policy
命令。指定许可存储区名称、数据集名称和位置。
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
如需读取许可存储区的 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/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
如需读取许可存储区的 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/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
。
设置政策
控制台
如需设置许可存储区级层 IAM 政策,请完成以下步骤:
- 在 Google Cloud 控制台中,转到“数据集”页面。
- 点击包含许可存储区的数据集的 ID,然后选择要为其设置政策的许可存储区。
- 点击显示信息面板。
- 点击添加主账号。
- 在新主账号字段中,输入需要访问许可存储区的一个或多个身份。
- 在选择角色列表中的 Cloud Healthcare 下,选择您要授予的权限。例如 Healthcare Consent Store Viewer。
- 点击保存。
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
命令进行更改。如需设置许可存储区级层的政策,请运行 gcloud healthcare consent-stores set-iam-policy
命令。指定许可存储区名称、数据集名称、位置以及您创建的政策文件的路径。
gcloud healthcare consent-stores set-iam-policy CONSENT_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ POLICY_FILE_NAME
如果请求成功,则系统会显示许可存储区名称和绑定。
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
进行更新。
如需设置许可存储区级层 IAM 政策,请发出 POST
请求并指定数据集的名称、许可存储区名称、政策和访问令牌。
以下示例展示了使用 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
进行更新。
如需设置许可存储区级层 IAM 政策,请发出 POST
请求并指定数据集的名称、许可存储区名称、政策和访问令牌。
以下示例展示了使用 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" ] } ] }
控制台
要查看数据集的 IAM 政策,请执行以下操作:- 在 Google Cloud 控制台中,转到“数据集”页面。
- 选择一个数据集,然后点击显示信息面板。
- 要查看分配给某个角色的主账号,请展开该角色。
gcloud
要查看数据集的 Cloud 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
角色:
设置政策
控制台
如需设置数据集级层 IAM 政策,请完成以下步骤:
- 在 Google Cloud 控制台中,转到“数据集”页面。
- 选择要为其设置政策的数据集,然后点击显示信息面板。
- 点击添加主账号。
- 在新主账号字段中,输入需要访问数据集的一个或多个身份。
- 在选择角色列表中的 Cloud Healthcare 下,选择您要授予的权限。例如 Healthcare Dataset Viewer。
- 点击保存。
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
。
控制台
要查看 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
。
设置政策
控制台
如需设置 DICOM 存储区级层 IAM 政策,请完成以下步骤:
- 在 Google Cloud 控制台中,转到“数据集”页面。
- 点击包含 DICOM 存储区的数据集的 ID,然后选择要为其设置政策的 DICOM 存储区。
- 点击显示信息面板。
- 点击添加主账号。
- 在新主账号字段中,输入需要访问 DICOM 存储区的一个或多个身份。
- 在选择角色列表中的 Cloud Healthcare 下,选择您要授予的权限。例如 Healthcare DICOM Store Viewer。
- 点击保存。
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
。
控制台
要查看 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
。
设置政策
控制台
如需设置 FHIR 存储区级层 IAM 政策,请完成以下步骤:
- 在 Google Cloud 控制台中,转到“数据集”页面。
- 点击包含 FHIR 存储区的数据集的 ID,然后选择要为其设置政策的 FHIR 存储区。
- 点击显示信息面板。
- 点击添加主账号。
- 在新主账号字段中,输入需要访问 FHIR 存储区的一个或多个身份。
- 在选择角色列表中的 Cloud Healthcare 下,选择您要授予的权限。例如 Healthcare FHIR Resource Reader。
- 点击保存。
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
。
控制台
要查看 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
。
设置政策
控制台
如需设置 HL7v2 存储区级层 IAM 政策,请完成以下步骤:
- 在 Google Cloud 控制台中,转到“数据集”页面。
- 点击包含 HL7v2 存储区的数据集的 ID,然后选择要为其设置政策的 HL7v2 存储区。
- 点击显示信息面板。
- 点击添加主账号。
- 在新主账号字段中,输入需要访问 HL7v2 存储区的一个或多个身份。
- 在选择角色列表中的 Cloud Healthcare 下,选择您要授予的权限。例如 Healthcare HL7v2 Message Consumer。
- 点击保存。
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
将 IAM 与 Healthcare Natural Language API 搭配使用
以下各部分展示了如何获取、修改和设置 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" ] } ] }
控制台
如需查看项目的 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
。
设置政策
控制台
如需设置项目级层 IAM 政策,请完成以下步骤:
- 在 Google Cloud 控制台中,转到 IAM 页面。
- 点击主账号旁边的修改按钮或点击添加主账号,然后在新主账号字段中,输入需要访问项目的一个或多个身份。
- 在选择角色列表中,在 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" ] } ] }