基于身份的 IAM 策略 HealthOmics - AWS HealthOmics

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

基于身份的 IAM 策略 HealthOmics

要向账户中的用户授予访问权限 HealthOmics,您可以在 AWS Identity and Access Management (IAM) 中使用基于身份的策略。基于身份的策略可以直接应用于 IAM 用户,也可以应用于与用户关联的 IAM 群组和角色。您也可以授予另一个账户中的用户在您的账户中代入角色和访问您的 HealthOmics 资源的权限。

要授予用户对工作流程版本执行操作的权限,必须将工作流和特定工作流程版本添加到资源列表中。

以下 IAM 策略允许用户访问所有 HealthOmics API 操作并将服务角色传递给 HealthOmics。

例用户策略
JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "omics:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "omics.amazonaws.com" } } } ] }

使用时 HealthOmics,您还会与其他 AWS 服务进行交互。要访问这些服务,请使用每项服务提供的托管策略。要限制对资源子集的访问,您可以使用托管策略作为起点来创建自己的限制性更强的策略。

上述策略不允许用户创建 IAM 角色。要使具有这些权限的用户运行作业,管理员必须创建服务角色来授予访问数据源的 HealthOmics 权限。有关更多信息,请参阅 的服务角色 AWS HealthOmics

为运行定义自定义 IAM 权限

您可以在授权请求中包含StartRun请求引用的任何工作流程、运行或运行组。为此,请在 IAM 策略中列出所需的工作流程、运行或运行组组合。例如,您可以将工作流程的使用限制在特定的运行或运行组中。您也可以指定工作流程仅与运行组一起使用。

以下是一个 IAM 策略示例,该策略允许使用单个运行组使用单个工作流程。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "omics:StartRun" ], "Resource": [ "arn:aws:omics:us-west-2:123456789012:workflow/1234567", "arn:aws:omics:us-west-2:123456789012:runGroup/2345678" ] }, { "Effect": "Allow", "Action": [ "omics:StartRun" ], "Resource": [ "arn:aws:omics:us-west-2:123456789012:run/*", "arn:aws:omics:us-west-2:123456789012:runGroup/2345678" ] }, { "Effect": "Allow", "Action": [ "omics:GetRun", "omics:ListRunTasks", "omics:GetRunTask", "omics:CancelRun", "omics:DeleteRun" ], "Resource": [ "arn:aws:omics:us-west-2:123456789012:run/*" ] } ] }