

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

# 使用 CodeBuild 条件键作为 IAM 服务角色变量来控制构建访问权限
<a name="permissions-conditionkeys-variables"></a>

使用 CodeBuild 构建 ARN，您可以使用上下文密钥来限制构建资源的访问权限，从而缩小 CodeBuild 服务角色中的资源访问范围。对于 CodeBuild，可用于控制构建访问行为的密钥是`codebuild:buildArn`和`codebuild:projectArn`。使用构建项目 ARN，您可以验证对资源的调用是否来自特定的构建项目。要验证这一点，请在 IAM 基于身份的策略中使用 `codebuild:buildArn` 或 `codebuild:projectArn` 条件键。

要在策略中使用 `codebuild:buildArn` 或 `codebuild:projectArn` 条件键，请将其作为条件与任何 ARN 条件运算符结合使用。键的值必须是解析为有效 ARN 的 IAM 变量。在下面的示例策略中，支持的唯一访问权限将是使用 `${codebuild:projectArn} ` IAM 变量的项目 ARN 访问构建项目。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::bucket-name/${codebuild:projectArn}/*"
        }
    ]
}
```

------