本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
借助 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 访问构建项目。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::bucket-name/${codebuild:projectArn}/*"
}
}