本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
设置 AWS HealthLake
在本章中,您将使用 AWS 管理控制台 来设置开始使用 AWS HealthLake 和创建数据存储所需的权限。要设置创建数据存储的权限,您需要创建一个既是数据湖管理员又 HealthLake 是管理员的 IAM 用户或角色。您可以在 Lake Formation 中将此用户设置为数据 AWS 湖管理员。数据湖管理员授予 Lake Formation 访问使用亚马逊 Athena 查询数据存储所需的资源的权限。创建 HealthLake数据存储后,您可以设置导入和导出文件的权限。
主题
注册获取 AWS 账户
要开始使用 AWS,你需要一个 AWS 账户。有关创建的信息 AWS 账户,请参阅《AWS 账户管理 参考指南》 AWS 账户中的入门指南。
配置要使用的 IAM 用户或角色 HealthLake (IAM 管理员)
角色:IAM 管理员
可以创建 IAM 用户和角色并可以添加数据湖管理员的用户。
本主题中的这些步骤必须由 IAM 管理员执行。
要将您的 HealthLake 数据存储连接到 Athena,您需要创建一个既是数据湖管理员又是管理员的 IAM 用户或角色。 HealthLake 此新用户或角色授予通过 AWS Lake Formation 访问数据存储中资源的权限,并将AmazonHealthLakeFullAccess AWS 托管策略添加到其用户或角色中。
重要
身为数据湖管理员的 IAM 用户或角色无法创建新的数据湖管理员。要添加其他数据湖管理员,您必须使用已被授予AdministratorAccess访问权限的 IAM 用户或角色。
创建管理员
-
将
AmazonHealthlakeFullAccessIAM AWS 托管策略添加到组织中的用户或角色。如果您不熟悉创建 IAM 用户,请参阅 IA M 用户指南中的创建 I AWS AM 用户和 IAM 策略概述。
-
向 IAM 用户或角色授予访问 AWS Lake Formation 的访问权限。
-
向组织中的用户或角色添加以下 IAM AWS 托管策略:
AWSLakeFormationDataAdmin注意
该
AWSLakeFormationDataAdmin政策允许访问所有 AWS Lake Formation 资源。建议您始终使用完成任务所需的最低权限。有关更多信息,请参阅《IAM 用户指南》中的 IAM 最佳实操。
-
-
向用户或角色添加以下内联策略。有关更多信息,请参阅 IAM 用户指南中的内联策略。
有关该AWSLakeFormationDataAdmin政策的更多信息,请参阅 Lake Formation 开发者指南中的 La AWS ke Formation 角色和 IAM 权限参考。
在 Lake Formation 中添加用户或角色作为数据湖管理员(IAM 管理员)
注意
如果您要集成,则必须执行此步骤SQL 索引和查询。
接下来,IAM 管理员必须将上一步中创建的用户或角色添加为 Lake Formation 中的数据湖管理员。
将 IAM 用户或角色添加为数据湖管理员
-
打开 AWS Lake Formation 控制台:https://console.aws.amazon.com/lakeformation/
注意
如果这是你第一次访问 Lake Formation,则会出现一个 “欢迎来到 Lake Form ation” 对话框,要求你定义 Lake Formation 管理员。
-
将新用户或角色分配为 AWS Lake Formation 数据湖管理员。
-
选项 1:如果你收到了 “欢迎来到 Lake Formation” 对话框。
-
选择添加其他 AWS 用户或角色。
-
选择向下箭头 (▼)。
-
选择你想同时成为 Lake Formation 管理员的管理员。 HealthLake
-
选择开始。
-
-
选项 2:使用导航窗格 (☰)。
-
选择导航窗格 (☰)。
-
在 “权限” 下,选择 “管理角色和任务”。
-
在数据湖管理员部分中,选择选择管理员。
-
在 “管理数据湖管理员” 对话框中,选择向下箭头 (▼)。
-
接下来,选择或搜索您也想成为 Lake Formation HealthLake 管理员的管理员用户或角色。
-
选择保存。
-
-
-
将默认安全设置更改为由 Lake Formation 管理。 HealthLake 数据存储资源需要由 Lake Formation 管理,而不是 IAM 管理。要进行更新,请参阅 La AWS ke Formation 开发者指南中的更改默认权限模型。
创建 S3 存储桶
要将 FHIR R4 数据导入 AWS HealthLake,建议使用两个 Amazon S3 存储桶。Amazon S3 输入存储桶保存要导入和从该存储桶 HealthLake 读取的 FHIR 数据。Amazon S3 输出存储桶存储导入任务的处理结果并向该存储桶 HealthLake 写入(日志)。
注意
根据 AWS Identity and Access Management (IAM) 政策,您的 Amazon S3 存储桶名称必须是唯一的。有关更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的存储桶命名规则。
出于本指南的目的,我们在本节后面设置导入权限时指定以下 Amazon S3 输入和输出存储桶。
-
输入存储桶:
arn:aws:s3:::amzn-s3-demo-source-bucket -
输出桶:
arn:aws:s3:::amzn-s3-demo-logging-bucket
有关更多信息,请参阅《Amazon S3 用户指南》中的创建存储桶。
创建数据存储
HealthLake 数据存储是驻留在单个 AWS 区域内的 FHIR R4 数据的存储库。一个 AWS 账户可以有零个或多个数据存储。 HealthLake 支持两种数据存储授权策略。
重要提示
在创建 HealthLake 数据存储之前,请查看 AWS 组织中可能限制 HealthLake 资源创建或管理的服务控制策略 (SCP)。即使您的 IAM 权限设置正确,SCP 也可能阻止成功创建 HealthLake 数据存储。
创建 HealthLake 数据存储时会生成 A。datastoreID在本节稍后设置导入权限datastoreID时,必须使用。
要创建 HealthLake 数据存储,请参阅创建 HealthLake 数据存储。
为导入任务设置权限
在将文件导入数据存储之前,必须授予访问您在 Amazon S3 中的输入和输出存储桶的 HealthLake 权限。要授予 HealthLake 访问权限,您需要为创建一个 IAM 服务角色 HealthLake,向该角色添加信任策略以授予 HealthLake 代入角色权限,并向角色附加权限策略以授予其访问您的 Amazon S3 存储桶的权限。
创建导入任务时,您可以为指定该角色的 Amazon 资源名称 (ARN)。DataAccessRoleArn有关 IAM 角色和信任策略的更多信息,请参阅 IAM 角色。
设置权限后,您就可以通过导入任务将文件导入数据存储了。有关更多信息,请参阅 启动 FHIR 导入任务。
设置导入权限
-
如果还没有,请为输出日志文件创建一个目标 Amazon S3 存储桶。Amazon S3 存储桶必须与服务位于同一 AWS 区域,并且必须为所有选项开启阻止公共访问。要了解更多信息,请参阅使用 Amazon S3 阻止公共访问。还必须使用 Amazon-owned 或客户拥有的 KMS 密钥进行加密。要了解有关使用 KMS 密钥的更多信息,请参阅 Amazon 密钥管理服务。
-
使用以下信任策略为其创建数据访问服务角色, HealthLake 并向该 HealthLake 服务授予代入该角色的权限。 HealthLake 使用它来写入输出 Amazon S3 存储桶。
-
向数据访问角色添加权限策略,使其能够访问 Amazon S3 存储桶。
amzn-s3-demo-bucket替换为存储桶的名称。
为导出任务设置权限
在从数据存储中导出文件之前,您必须授予访问您在 Amazon S3 中的输出存储桶的 HealthLake 权限。要授予 HealthLake 访问权限,您需要为创建一个 IAM 服务角色HealthLake,向该角色添加信任策略以授予 HealthLake 代入角色权限,并向角色附加权限策略以授予其访问您的 Amazon S3 存储桶的权限。
如果您已经为创建了角色 HealthLake,则可以重复使用该角色,并向其授予本主题中列出的导出 Amazon S3 存储桶的额外权限。要了解有关 IAM 角色和信任策略的更多信息,请参阅 IAM 策略和权限。
重要提示
HealthLake 支持本机 SDK 导出请求和 FHIR R4 操作$export。根据您决定使用的导出 API,必须提供单独的 IAM 操作。这允许您分别处理allow和deny权限。如果您想限制 HealthLake 软件开发工具包和 FHIR REST API 的导出,则必须对单独的 IAM 操作应用拒绝权限。如果您授予用户完全访问权限,则无需更改 IAM 用户的权限 HealthLake。
使用 AWS CLI and AWS 软件开发工具包:
以下本机 HealthLake 操作可用于使用 AWS CLI 和 AWS 软件开发工具包从数据存储中导出数据:
-
StartFHIRExportJob -
DescribeFHIRExportJob -
ListFHIRExportJobs
使用 FHIR API:
以下 IAM 操作可用于从数据存储中导出 HealthLake 数据以及使用 FHIR $export 操作取消(删除)导出任务:
POST:
-
StartFHIRExportJobWithPost
GET:
-
StartFHIRExportJobWithGet -
DescribeFHIRExportJobWithGet -
GetExportedFile
DELETE:
-
CancelFHIRExportJobWithDelete
设置权限的用户或角色必须具有创建角色、创建策略和将策略附加到角色的权限。以下 IAM 策略授予这些权限。
设置导出权限
-
如果还没有,请为要从数据存储中导出的数据创建一个目标 Amazon S3 存储桶。Amazon S3 存储桶必须与服务位于同一 AWS 区域,并且必须为所有选项开启阻止公共访问。要了解更多信息,请参阅使用 Amazon S3 阻止公共访问。还必须使用 Amazon-owned 或客户拥有的 KMS 密钥进行加密。要了解有关使用 KMS 密钥的更多信息,请参阅 Amazon 密钥管理服务。
-
如果您尚未创建数据访问服务角色,请使用以下信任策略为 HealthLake 该 HealthLake 服务授予代入该角色的权限。 HealthLake使用它来写入输出 Amazon S3 存储桶。如果您已经在中创建了一个存储桶为导入任务设置权限,则可以在下一步中重复使用该存储桶并向其授予访问您的 Amazon S3 存储桶的权限。
-
向数据访问角色添加权限策略,使其能够访问您的输出 Amazon S3 存储桶。
amzn-s3-demo-bucket替换为存储桶的名称。
安装 AWS CLI
AWS CLI 是描述和列出 HealthLake 导入和导出任务属性所必需的。您也可以使用 HealthLake 软件开发工具包请求此信息。
要设置 AWS CLI
-
下载并配置 AWS CLI。有关说明,请参阅AWS Command Line Interface 用户指南中的以下主题。
-
在 AWS CLI
config文件中,为管理员添加已命名的配置文件。运行 AWS CLI 命令时使用此配置文件。根据最低权限的安全原则,我们建议您创建一个单独的 IAM 角色,该角色具有特定于正在执行的任务的权限。有关已命名配置文件的更多信息,请参阅《AWS Command Line Interface 用户指南》中的配置和凭证文件设置。[default] aws_access_key_id =default access key IDaws_secret_access_key =default secret access keyregion =region -
请使用以下
help命令验证设置:aws healthlake help如果配置 AWS CLI 正确,您将看到的简要说明 AWS HealthLake 和可用命令的列表。