

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

# 将基于身份的策略（IAM 策略）用于 Amazon Comprehend Medical
<a name="security-iam-permissions"></a>

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

**重要**  
要了解权限，我们建议您查看[管理 Amazon Comprehend Medical 资源的访问权限的概述](security-iam-accesscontrol.md)。

以下示例策略是使用 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": "*"
        }
    ]
}
```

------

策略中的一个语句授予使用 `DetectEntities` 和 `DetectPHI` 操作的权限。

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

要查看所有 Amazon Comprehend Medical API 操作及其适用的资源，请参阅 [Amazon Comprehend Medical API 权限：操作、资源和条件参考](security-iam-resources.md)。

## 使用 Amazon Comprehend Medical 控制台所需的权限
<a name="auth-console-permissions-med"></a>

权限参考表列出了 Amazon Comprehend Medical API 操作，并显示了每个操作所需的权限。有关 Amazon Comprehend Medical API 权限的更多信息，请参阅 [Amazon Comprehend Medical API 权限：操作、资源和条件参考](security-iam-resources.md)。

要使用 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 托管（预定义）策略
<a name="access-policy-aws-managed-policies-med"></a>

AWS 可以提供由 AWS 创建和管理的独立多种 IAM 策略，用来处理各种常见使用场景。这些 AWS 托管策略可以针对常见使用场景授予必要的权限，让您无需研究需要哪些权限。有关更多信息，请参阅**《IAM 用户指南》中的 [AWS 托管策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。

可以附加到您账户中的用户的以下 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 SDKs 或 AWS CLI 时起作用。

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

## 批量操作所需的基于角色的权限
<a name="auth-role-permissions-med"></a>

要使用 Amazon Comprehend Medical 异步操作，请向 Amazon Comprehend Medical 授予对包含文档集合的 Amazon S3 桶的访问权限。为此，请在账户中创建一个数据访问角色，并使其信任 Amazon Comprehend Medical 服务主体。有关创建角色的更多信息，请参阅 *AWS Identity and Access Management 用户指南*中的[创建向 AWS 服务委派权限的角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。

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

------
#### [ JSON ]

****  

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

------

创建角色后，请为该角色创建访问策略。该策略应该授予对包含您的输入数据的 Amazon S3 桶的 Amazon S3 `GetObject` 和 `ListBucket` 权限。它还会授予对您的 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"
        }
    ]
}
```

------

## 客户管理型策略示例
<a name="access-policy-customer-managed-examples-med"></a>

本节的用户策略示例介绍如何授予对各种 Amazon Comprehend Medical 操作的权限。这些策略在您使用 AWS SDKs 或 AWS CLI 时起作用。使用控制台时，必须向所有亚马逊 Comprehend Medical 授予权限。 APIs这在 [使用 Amazon Comprehend Medical 控制台所需的权限](#auth-console-permissions-med) 中进行了讨论。

**注意**  
所有示例都使用 us-east-2 区域并包含虚构账户。 IDs

**示例**  


### 示例 1：允许所有 Amazon Comprehend Medical 操作
<a name="custom-policy-1-med"></a>

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

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

------
#### [ JSON ]

****  

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

------

### 示例 2：仅允许 DetectEntities 操作
<a name="custom-policy-2-med"></a>

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

------
#### [ JSON ]

****  

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

------