View a markdown version of this page

使用亚马逊 Comprehend Medical 的 Identity-Based 政策(IAM 政策) - Amazon Comprehend Medical

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

使用亚马逊 Comprehend Medical 的 Identity-Based 政策(IAM 政策)

本主题介绍基于身份的策略示例。示例展示了账户管理员如何向 IAM 身份附加权限策略。这让用户、组和角色能够执行 Amazon Comprehend Medical 操作。

重要

要了解权限,我们建议您查看管理 Amazon Comprehend Medical 资源的访问权限的概述

以下示例策略是使用 Amazon Comprehend Medical 文档分析操作所需的策略。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowDetectActions", "Effect": "Allow", "Action": [ "comprehendmedical:DetectEntitiesV2", "comprehendmedical:DetectPHI", "comprehendmedical:StartEntitiesDetectionV2Job", "comprehendmedical:ListEntitiesDetectionV2Jobs", "comprehendmedical:DescribeEntitiesDetectionV2Job", "comprehendmedical:StopEntitiesDetectionV2Job", "comprehendmedical:StartPHIDetectionJob", "comprehendmedical:ListPHIDetectionJobs", "comprehendmedical:DescribePHIDetectionJob", "comprehendmedical:StopPHIDetectionJob", "comprehendmedical:StartRxNormInferenceJob", "comprehendmedical:ListRxNormInferenceJobs", "comprehendmedical:DescribeRxNormInferenceJob", "comprehendmedical:StopRxNormInferenceJob", "comprehendmedical:StartICD10CMInferenceJob", "comprehendmedical:ListICD10CMInferenceJobs", "comprehendmedical:DescribeICD10CMInferenceJob", "comprehendmedical:StopICD10CMInferenceJob", "comprehendmedical:StartSNOMEDCTInferenceJob", "comprehendmedical:ListSNOMEDCTInferenceJobs", "comprehendmedical:DescribeSNOMEDCTInferenceJob", "comprehendmedical:StopSNOMEDCTInferenceJob", "comprehendmedical:InferRxNorm", "comprehendmedical:InferICD10CM", "comprehendmedical:InferSNOMEDCT" ], "Resource": "*" } ] }

策略中的一个语句授予使用 DetectEntitiesDetectPHI 操作的权限。

该策略不指定 Principal 元素,因为在基于身份的策略中,未指定获取权限的委托人。将策略附加到用户时,该用户是隐式主体。向 IAM 角色附加策略后,该角色的信任策略中标识的主体将获取权限。

要查看所有 Amazon Comprehend Medical API 操作及其适用的资源,请参阅 Amazon Comprehend Medical API 权限:操作、资源和条件参考

使用 Amazon Comprehend Medical 控制台所需的权限

权限参考表列出了 Amazon Comprehend Medical API 操作,并显示了每个操作所需的权限。有关 Amazon Comprehend Medical API 权限的更多信息,请参阅 Amazon Comprehend Medical API 权限:操作、资源和条件参考

要使用 Amazon Comprehend Medical 控制台,请为以下策略中所示的操作授予权限。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "comprehendmedical.amazonaws.com" } } } ] }

Amazon Comprehend Medical 控制台出于以下原因需要以下权限:

  • iam 权限,用于列出您的账户的可用 IAM 角色。

  • s3 权限,用于访问包含数据的 Amazon S3 桶和对象。

使用控制台创建异步批处理作业时,您还可以为作业创建 IAM 角色。要使用控制台创建 IAM 角色,用户必须获得以下附加权限才能创建 IAM 角色和策略,并将策略附加到角色。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy" ], "Effect": "Allow", "Resource": "*" } ] }

Amazon Comprehend Medical 控制台需要这些权限才能创建角色和策略并附加角色和策略。iam:PassRole 操作让控制台能够将角色传递给 Amazon Comprehend Medical。

适用于 Amazon Comprehend Medical 的 AWS 托管(预定义)策略

AWS 可以提供由 AWS 创建和管理的独立多种 IAM 策略,用来处理各种常见使用场景。这些 AWS 托管策略可以针对常见使用场景授予必要的权限,让您无需研究需要哪些权限。有关更多信息,请参阅《IAM 用户指南》中的 AWS 托管策略

可以附加到您账户中的用户的以下 AWS 托管式策略专门适用于 Amazon Comprehend Medical。

  • ComprehendMedicalFullAccess— 授予对亚马逊 Comprehend Medical 资源的完全访问权限。包括列出和获取 IAM 角色的权限。

您必须向使用 Amazon Comprehend Medical 的任何用户应用以下附加策略:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "comprehendmedical.amazonaws.com" } } } ] }

您可以通过登录到 IAM 控制台并在该控制台中搜索特定策略来查看托管权限策略。

当您使用 AWS 开发工具包或 AWS CLI 时,可以使用这些策略。

您还可以创建您自己的 IAM 策略,以便授予对 Amazon Comprehend Medical 操作和资源的权限。您可以将这些自定义策略附加到需要它们的 IAM 用户或组。

Role-based 批量操作所需的权限

要使用 Amazon Comprehend Medical 异步操作,请向 Amazon Comprehend Medical 授予对包含文档集合的 Amazon S3 桶的访问权限。为此,请在账户中创建一个数据访问角色,并使其信任 Amazon Comprehend Medical 服务主体。有关创建角色的更多信息,请参阅 AWS Identity and Access Management 用户指南中的创建向 AWS 服务委派权限的角色

以下是该角色的信任策略。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "comprehendmedical.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

创建角色后,请为该角色创建访问策略。该策略应该授予对包含您的输入数据的 Amazon S3 桶的 Amazon S3 GetObjectListBucket 权限。它还会授予对您的 Amazon S3 输出数据桶的 Amazon S3 PutObject 权限。

以下示例访问策略包含这些权限。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::input bucket/*" ], "Effect": "Allow" }, { "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::input bucket" ], "Effect": "Allow" }, { "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::output bucket/*" ], "Effect": "Allow" } ] }

客户管理型策略示例

本节的用户策略示例介绍如何授予对各种 Amazon Comprehend Medical 操作的权限。当您使用 AWS 开发工具包或 AWS CLI 时,可以使用这些策略。当您使用控制台时,您必须向所有 Amazon Comprehend Medical API 授予权限。这在 使用 Amazon Comprehend Medical 控制台所需的权限 中进行了讨论。

注意

所有示例都使用 us-east-2 区域和虚构的账户 ID。

示例

示例 1:允许所有 Amazon Comprehend Medical 操作

注册后 AWS,您可以创建管理员来管理您的账户,包括创建用户和管理他们的权限。

您可以创建对所有 Amazon Comprehend 操作都具有权限的用户。您可以将该用户视为特定于服务的管理员,为使用 Amazon Comprehend 而设置。您可以将以下权限策略附加到该用户。

JSON
{ "Version":"2012-10-17", "Statement": [{ "Sid": "AllowAllComprehendMedicalActions", "Effect": "Allow", "Action": [ "comprehendmedical:*"], "Resource": "*" } ] }

示例 2:仅允许 DetectEntities 操作

以下权限策略授予用户检测 Amazon Comprehend Medical 中的实体的权限,但不允许用户检测 PHI 操作。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowDetectEntityActions", "Effect": "Allow", "Action": [ "comprehendmedical:DetectEntitiesV2" ], "Resource": "*" } ] }