기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS CodeBuild 조건 키
AWS CodeBuild 는 IAM 정책에서 프로젝트 및 플릿과 같은 CodeBuild 리소스에 조직 정책을 적용하는 데 사용할 수 있는 조건 키 세트를 제공합니다. 조건 키는 네트워크 설정, 자격 증명 구성 및 컴퓨팅 제한을 포함하여 대부분의 CodeBuild API 요청 컨텍스트를 다룹니다.
프로젝트 및 플릿에 VPC 연결 설정 적용
이 정책은 CodeBuild 프로젝트 및 플릿을 생성할 때 호출자가 선택한 VPCs, 서브넷 및 보안 그룹을 사용할 수 있도록 허용합니다. 다중 값 컨텍스트 키에 대한 자세한 내용은 단일 값 컨텍스트 키와 다중 값 컨텍스트 키를 참조하십시오.
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"codebuild:CreateProject",
"codebuild:CreateFleet"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringEquals": {
"codebuild:vpcConfig.vpcId": [
"vpc-01234567890abcdef",
"vpc-abcdef01234567890"
],
"codebuild:vpcConfig.subnets": [
"subnet-1234abcd",
"subnet-5678abcd"
],
"codebuild:vpcConfig.securityGroupIds": [
"sg-12345678abcdefghij",
"sg-01234567abcdefghij"
]
}
}
}]
}
프로젝트 빌드 사양에 대한 무단 수정 방지
이 정책은 호출자가 buildspecOverride
필드의 buildspec을 재정의하도록 허용하지 않습니다.
codebuild:source.buildspec
조건 키는 Null 연산자만 지원하여 API 필드의 존재 여부를 확인합니다. 빌드 사양의 내용은 평가하지 않습니다.
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "codebuild:StartBuild",
"Resource": "*"
}, {
"Effect": "Deny",
"Action": "codebuild:StartBuild",
"Resource": "*",
"Condition": {
"Null": {
"codebuild:source.buildspec": "false"
}
}
}]
}
빌드의 컴퓨팅 유형 제한
이 정책은 c5.large
또는 m5.large
컴퓨팅 인스턴스 유형으로만 빌드할 수 있는 플릿을 생성할 수 있습니다.
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "codebuild:CreateFleet",
"Resource": "*",
"Condition": {
"ForAnyValue:StringEquals": {
"codebuild:computeConfiguration.instanceType": ["c5.large", "m5.large"]
}
}
}]
}
제어 환경 변수 설정
이 정책은 호출자가 STAGE
환경 변수를 BETA
또는 로 재정의하도록 허용합니다GAMMA
. 또한 로 재정의STAGE
하는 것을 명시적으로 거부PRODUCTION
하고 MY_APP_VERSION
환경 변수를 재정의하는 것을 거부합니다. 여러 값 컨텍스트 키는 단일 값 컨텍스트 키와 다중 값 컨텍스트 키를 참조하십시오.
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:StartBuild"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringEquals": {
"codebuild:environment.environmentVariables/STAGE.value": [
"BETA",
"GAMMA"
]
}
}
},
{
"Effect": "Deny",
"Action": [
"codebuild:StartBuild"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"codebuild:environment.environmentVariables/STAGE.value": "PRODUCTION"
},
"ForAnyValue:StringEquals": {
"codebuild:environment.environmentVariables.name": [
"MY_APP_VERSION"
]
}
}
}
]
}
조건 키 이름에 변수 사용
secondarySources/${sourceIdentifier}.location
및와 같은 조건 키 이름에 변수를 사용할 수 있습니다. secondaryArtifacts/${artifactIdentifier}.location
여기서 IAM 정책에서 보조 소스 또는 보조 아티팩트 식별자를 지정할 수 있습니다. 아래 정책은 호출자가 보조 소스의 특정 소스 위치가 있는 프로젝트를 생성하도록 허용합니다mySecondSource
.
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "codebuild:CreateProject",
"Resource": "*",
"Condition": {
"StringEquals": {
"codebuild:secondarySources/mySecondSource.location": "my-source-location"
}
}
}
]
}
API 요청에 속성이 있는지 확인
CodeBuild는 조건 키를 지원하여 API 요청에 일부 필드가 있는지 확인합니다. 이 정책은 프로젝트를 생성하거나 업데이트할 때 VPC 요구 사항을 적용합니다.
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"codebuild:CreateProject",
"codebuild:UpdateProject"
],
"Resource": "*",
"Condition": {
"Null": {
"codebuild:vpcConfig": "false"
}
}
}]
}