

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

# 为测试工作台创建 IAM 角色 - 高级功能
<a name="create-iam-test-set-features"></a>

**测试工作台 IAM 角色的权限设置**

本节展示了几个基于身份的 AWS Identity and Access Management (IAM) 基于身份的策略示例，这些策略用于对测试工作台权限实施最低权限访问控制。

1. **测试工作台在 S3 中读取音频文件的策略** – 此策略可以使测试工作台读取测试集中使用的音频文件。应相应修改以下政策，使其更新{{S3BucketName}}并指{{S3Path}}向测试集中音频文件的 Amazon S3 位置。

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "TestWorkbenchS3AudioFilesReadOnly",
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:GetObjectVersion"
         ],
         "Resource": [
           "arn:aws:s3:::{{S3BucketName}}/{{S3Path}}/*"
         ]
       }
     ]
   }
   ```

------

1. **测试工作台将测试集和结果读写到 Amazon S3 存储桶中的策略** – 此策略可以使测试工作台存储测试集输入和结果。应修改以下政策，以更新{{S3BucketName}}到存储测试集数据的 Amazon S3 存储桶。测试工作台仅会将这些数据存储在您的 Amazon S3 存储桶中，而不会存储在 Lex 服务基础设施中。出于此原因，测试工作台需要访问您的 Amazon S3 存储桶才能正常工作。

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "TestSetDataUploadWithEncryptionOnly",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject"
         ],
         "Resource": [
           "arn:aws:s3:::{{S3BucketName}}/*/lex_testworkbench/test_set/*",
           "arn:aws:s3:::{{S3BucketName}}/*/lex_testworkbench/test_execution/*",
           "arn:aws:s3:::{{S3BucketName}}/*/lex_testworkbench/test_set_discrepancy_report/*"
         ],
         "Condition": {
           "StringEquals": {
             "s3:x-amz-server-side-encryption": "aws:kms"
           }
         }
       },
       {
         "Sid": "TestSetDataGetObject",
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:GetObjectVersion"
         ],
         "Resource": [
           "arn:aws:s3:::{{S3BucketName}}/*/lex_testworkbench/test_set/*",
           "arn:aws:s3:::{{S3BucketName}}/*/lex_testworkbench/test_execution/*",
           "arn:aws:s3:::{{S3BucketName}}/*/lex_testworkbench/test_set_discrepancy_report/*"
         ]
       },
       {
         "Sid": "TestSetListS3Objects",
         "Effect": "Allow",
         "Action": [
           "s3:ListBucket"
         ],
         "Resource": [
           "arn:aws:s3:::{{S3BucketName}}"
         ]
       }
     ]
   }
   ```

------

1. **测试工作台读取 CloudWatch日志的策略** — 此策略允许测试工作台根据存储在 Amazon Logs 中的 Lex 对话文本日志生成测试集。 CloudWatch 应修改以下政策以更新{{Region}}、{{AwsAccountId}}、{{LogGroupName}}。

1. **测试工作台调用 Lex 运行时的策略** - 此策略可以使测试工作台对 Lex 机器人执行测试集。应修改以下政策以更新{{Region}}、{{AwsAccountId}}、{{BotId}}。由于 Test Workbench 可以测试您的 Lex 环境中的任何机器人，因此您可以将资源替换为 “arn: aws:: lex:: bot {{Region}}-alias/\*”，{{AwsAccountId}}以允许 Test Workbench 访问账户中的所有 Amazon Lex V2 机器人。

1. **（可选）测试工作台加密和解密测试集数据的策略** - 如果将测试工作台配置为使用客户托管的 KMS 密钥将测试集输入和结果存储在 Amazon S3 存储桶中，则测试工作台需要对 KMS 密钥具有加密和解密权限。应修改以下政策以更新{{Region}}、{{AwsAccountId}}、以及客户托管{{KmsKeyId}}的 KMS 密钥的 ID {{KmsKeyId}} 在哪里。

1. **（可选）测试工作台解密音频文件的策略** - 如果使用客户托管的 KMS 密钥将音频文件存储在 S3 存储桶中，则测试工作台需要对 KMS 密钥具有解密权限。应修改以下政策以更新{{Region}}、{{AwsAccountId}}、以及用于加密音频文件的客户托管 KMS 密钥的 ID 在{{KmsKeyId}}哪里{{KmsKeyId}}。