本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
资源权限
AWS HealthOmics 当您运行任务或创建商店时,代表您创建和访问其他服务中的资源。在某些情况下,您需要在其他服务中配置访问资源或 HealthOmics 允许访问资源的权限。
Sections
Amazon ECR 权限
在该 HealthOmics 服务可以在您的私有 Amazon ECR 存储库的容器中运行工作流程之前,您需要为该容器创建资源策略。该策略授予 HealthOmics 服务使用容器的权限。您可以将此资源策略添加到工作流程引用的每个私有存储库中。
注意
私有存储库和工作流程必须位于同一区域。
以下各节描述了所需的策略配置。
为 Amazon ECR 存储库创建资源策略
创建资源策略以允许 HealthOmics 服务使用存储库中的容器运行工作流程。该政策允许 HealthOmics 服务主体访问所需的 Amazon ECR 操作。
按照以下步骤创建策略:
-
在 Amazon ECR 控制台中打开私有存储库
页面,然后选择您要授予访问权限的存储库。 -
在侧栏导航中,选择 “权限”。
-
选择编辑 JSON。
-
选择添加声明。
-
添加以下策略声明,然后选择保存策略。
使用跨账户容器运行工作流程
如果不同的 AWS 账户拥有工作流程和容器,则需要配置以下跨账户权限:
-
更新存储库的 Amazon ECR 政策,以明确向拥有该工作流程的账户授予权限。
-
更新拥有该工作流程的账户的服务角色,以授予其访问容器镜像的权限。
以下示例演示了 Amazon ECR 资源策略,该策略向拥有该工作流程的账户授予访问权限。
在本示例中:
-
工作流程账户 ID:111122223333
-
容器存储库账户 ID:444455556666
-
容器名称:samtools
要完成设置,请向拥有该工作流程的账户的服务角色添加以下策略声明。该策略向服务角色授予访问 “samtools” 容器镜像的权限。请务必用您自己的值替换账号、集装箱名称和区域。
{ "Sid": "CrossAccountEcrRepoPolicy", "Effect": "Allow", "Action": ["ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer"], "Resource": "arn:aws:ecr:us-west-2:444455556666:repository/samtools" }
适用于共享工作流程的 Amazon ECR 存储库策略
注意
HealthOmics 当工作流程在订阅者的账户中运行时,自动允许共享工作流程访问工作流程所有者账户中的 Amazon ECR 存储库。您无需为共享工作流程授予额外的存储库访问权限。有关更多信息,请参阅共享 HealthOmics 工作流程。
默认情况下,订阅者无权访问 Amazon ECR 存储库来使用底层容器。或者,您可以通过向存储库的资源策略添加条件密钥来自定义对 Amazon ECR 存储库的访问权限。以下各节提供了策略示例。
限制对特定工作流程的访问权限
您可以在条件语句中列出各个工作流程,因此只有这些工作流程才能使用存储库中的容器。SourceArn条件键指定共享工作流程的 ARN。以下示例授予指定工作流程使用此存储库的权限。
限制对特定账户的访问权限
您可以在条件语句中列出订阅者账户,这样只有这些账户才有权使用存储库中的容器。SourceAccount条件键指定订阅 AWS 账户 者的。以下示例授予指定账户使用此存储库的权限。
您也可以拒绝向特定订阅者授予 Amazon ECR 权限,如以下示例策略所示。
Lake Formation 权限
在中使用分析功能之前 HealthOmics,请在 Lake Formation 中配置默认数据库设置。
在 Lake Formation 中配置资源权限
-
在 Lake Formation 控制台中打开数据目录设置
页面。 -
在新创建的数据库和表的默认权限下,取消选中数据库和表的 IAM 访问控制要求。
-
选择保存。
HealthOmics 如果您的服务策略具有正确的 RAM 权限,Analytics auto 会自动接受数据,例如以下示例。