기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SCP통사론
서비스 제어 정책 (SCPs) 은 () 권한 정책 및 리소스 기반 정책 AWS Identity and Access Management (예: Amazon S3 버킷 정책IAM) 에서 사용하는 것과 유사한 구문을 사용합니다. IAM정책 및 해당 구문에 대한 자세한 내용은 IAM사용 설명서의 IAM 정책 개요를 참조하십시오.
SCPAn은 의 규칙에 따라 구조화된 일반 텍스트 파일입니다. JSON
참고
내 모든 문자는 최대 크기를 SCP 기준으로 계산됩니다. 이 안내서의 예제는 가독성을 높이기 위해 공백을 SCPs 추가한 서식을 보여줍니다. 하지만 정책 크기가 최대 크기에 근접한 경우 공백을 저장하려면 인용 부호 바깥에 있는 공백 문자(예: 공백 및 줄 바꿈)를 모두 삭제할 수 있습니다.
SCPs에 대한 일반적인 내용은 서비스 제어 정책 (SCPs) 단원을 참조하십시오.
요소 요약
다음 표에는 에서 사용할 수 있는 정책 요소가 요약되어 있습니다. SCPs 일부 정책 요소는 SCPs 해당 거부 작업에서만 사용할 수 있습니다. 지원되는 효과 열에는 각 정책 요소에 사용할 수 있는 효과 유형이 나열됩니다SCPs.
Element | 용도 | 지원되는 효과 |
---|---|---|
버전 | 정책을 처리하는 데 사용할 언어 구문 규칙을 지정합니다. |
|
Statement | 정책 요소 컨테이너의 역할을 합니다. 명령문을 여러 개 넣을 수 SCPs 있습니다. | Allow , Deny |
Statement ID(Sid) | (선택 사항) 문의 표시 이름을 제공합니다. | Allow , Deny |
효과 | SCP명령문에서 계정의 IAM 사용자 및 역할에 대한 액세스를 허용할지 거부할지를 정의합니다. | Allow , Deny |
SCP허용하거나 거부하는 AWS 서비스 및 작업을 지정합니다. |
|
|
에서 제외되는 AWS 서비스 및 작업을 지정합니다. SCP |
|
|
리소스 | SCP적용되는 AWS 리소스를 지정합니다. | Deny |
Condition | 문이 효력을 발휘하는 조건을 지정합니다. | Deny |
다음 섹션에서는 정책 요소가 사용되는 방식에 대한 자세한 정보와 예를 제공합니다SCPs.
Version
요소
모든 항목에는 값이 있는 Version
요소가 SCP 포함되어야 "2012-10-17"
합니다. 이는 IAM 권한 정책의 최신 버전과 동일한 버전 값입니다.
"Version": "2012-10-17",
자세한 내용은 IAM사용 설명서의 IAMJSON정책 요소: 버전을 참조하십시오.
Statement
요소
SCPAn은 하나 이상의 Statement
요소로 구성됩니다. 정책에는 Statement
키워드를 하나만 사용할 수 있지만 값은 [] 문자로 둘러싸인 여러 개의 명령문이 될 수 있습니다. JSON
다음 예제는 하나의 Effect
, Action
및 Resource
요소로 구성된 한 문을 보여줍니다.
"Statement": { "Effect": "Allow", "Action": "*", "Resource": "*" }
다음 예제는 하나의 Statement
요소 안에 어레이 목록으로 존재하는 문 2개를 보여줍니다. 첫 번째 명령문은 모든 작업을 허용하고 두 번째 명령문은 모든 EC2 작업을 거부합니다. 따라서 계정의 관리자는 Amazon Elastic Compute Cloud (AmazonEC2) 의 권한을 제외한 모든 권한을 위임할 수 있습니다.
"Statement": [ { "Effect": "Allow", "Action": "*", "Resource": "*" }, { "Effect": "Deny", "Action": "ec2:*", "Resource": "*" } ]
자세한 내용은 IAM사용 설명서의 IAM JSON 정책 요소: 설명을 참조하십시오.
Statement ID(Sid
) 요소
Sid
는 정책 문에 입력되는 식별자(옵션)입니다. Sid
값은 문 배열에서 각 문에 할당할 수 있습니다. 다음 예제는 샘플 Sid
설명을 SCP 보여줍니다.
{ "Statement": { "Sid": "AllowsAllActions", "Effect": "Allow", "Action": "*", "Resource": "*" } }
자세한 내용은 IAM사용 설명서의 IAMJSON정책 요소: Id를 참조하십시오.
Effect
요소
각 문에는 Effect
요소 하나가 있어야 합니다. 이때 값은 Allow
또는 Deny
가 될 수 있습니다. 이것은 같은 문에서 나열하는 모든 작업에 영향을 줍니다.
자세한 내용은 IAM사용 설명서의 IAMJSON정책 요소: 효과를 참조하십시오.
"Effect": "Allow"
다음 예는 계정 사용자가 Amazon S3 서비스에 대한 작업을 수행할 수 Allow
있도록 허용하는 값을 가진 Effect
요소를 포함하는 SCP with 문을 보여줍니다. 이 예제는 허용 목록 전략을 사용하는 조직에서 유용하게 활용할 수 있습니다(기본 FullAWSAccess
정책이 모두 분리되어 있어 기본적으로 권한이 묵시적으로 거부되는 전략). 결과적으로 이 문은 연결된 모든 계정에 대해 Amazon S3 권한을 허용합니다.
{ "Statement": { "Effect": "Allow", "Action": "s3:*", "Resource": "*" } }
이 명령문은 IAM 권한 정책과 동일한 Allow
value 키워드를 사용하지만 실제로 사용자에게 아무것도 할 수 있는 권한을 SCP 부여하지는 않습니다. 대신 조직 내 IAM 사용자 및 IAM 역할에 대한 최대 권한을 지정하는 필터 SCPs 역할을 하십시오. 위 예제에서 계정의 사용자가 AdministratorAccess
관리형 정책을 연결했더라도 영향을 받는 계정의 모든 사용자는 Amazon S3 작업으로만 SCP 제한됩니다.
"Effect": "Deny"
Effect
요소의 Deny
값이 1인 명령문에서 특정 리소스에 대한 액세스를 제한하거나 적용 시기에 대한 조건을 정의할 수도 SCPs 있습니다.
다음 예제는 거부 문에서 조건 키를 사용하는 방법을 보여줍니다.
{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringNotEquals": { "ec2:InstanceType": "t2.micro" } } } }
이 명령문은 Amazon SCP 인스턴스가 다음으로 SCP 설정되지 않은 경우 영향을 받는 계정 (계정 자체 또는 계정이 포함된 조직 루트 또는 OU에 연결된 계정) 이 Amazon EC2 인스턴스를 시작하지 못하도록 가드레일을 설정합니다. EC2 t2.micro
이 작업을 허용하는 IAM 정책이 계정에 연결되어 있더라도 이 작업을 통해 생성된 가드레일은 이를 방지합니다. SCP
Action
및 NotAction
요소
각 문은 다음 중 하나를 포함해야 합니다.
-
허용 및 거부 문에서,
Action
요소. -
거부 문에서만(
Effect
요소의 값이Deny
인 경우),Action
또는NotAction
요소.
Action
or NotAction
요소의 값은 명령문에 의해 허용되거나 거부되는 작업을 식별하는 AWS 서비스 문자열의 목록 (JSON배열) 입니다.
각 문자열은 서비스의 소문자 약자("s3", "ec2", "iam" 또는 "organizations" 등) 뒤에 콜론이 오고 그 뒤에 해당 서비스의 작업이 붙는 형태로 구성됩니다. Action 및 NotAction은 대/소문자를 구분하며, 각 서비스의 문서에 표시된 그대로 입력해야 합니다. 일반적으로 각 단어는 첫 글자만 대문자로, 나머지는 소문자로 입력합니다. 예: "s3:ListAllMyBuckets"
.
별표 (*) 또는 물음표 (?) 와 같은 와일드카드 문자도 사용할 수 있습니다. 입력: SCP
-
이름의 일부를 공유하는 여러 작업을 일치시키려면 별표(*)를 와일드카드로 사용하십시오.
"s3:*"
값은 Amazon S3 서비스의 모든 작업을 의미합니다. 값은 “Describe”로 시작하는 EC2 작업에만"ec2:Describe*"
일치합니다. -
단일 문자를 일치시키려면 물음표(?) 와일드카드를 사용하십시오.
참고
SCPan에서는 와일드카드 문자 (*) 와 (?) Action
or NotAction
요소의 경우 단독으로 또는 문자열의 끝에만 사용할 수 있습니다. 문자열 처음이나 중간에는 표시할 수 없습니다. 따라서 "servicename:action*"
는 유효하지만 "servicename:*action"
에서는 "servicename:some*action"
둘 다 유효하지 않습니다SCPs.
서비스 인증 참조의 모든 서비스와 해당 서비스가 지원하는 작업, IAM 권한 정책, 작업, 리소스 및 조건 키의 목록은 여기를 참조하십시오. AWS Organizations SCPs AWS 서비스
자세한 내용은 IAM사용 설명서의 IAMJSON정책 요소: 작업 및 IAMJSON정책 NotAction 요소:를 참조하십시오.
Action
요소 예제
다음 예는 계정 관리자가 계정 내 EC2 인스턴스에 대한 설명, 시작, 중지 및 종료 권한을 위임할 수 있도록 허용하는 명령문이 SCP 포함된 예를 보여줍니다. 이 예제는 허용 목록의 예입니다. 허용 목록은 기본 Allow *
정책이 연결되지 않아 기본적으로 권한이 묵시적으로 거부되는 때에 유용합니다. 기본 Allow
*
정책이 다음과 같은 정책이 연결된 루트, OU 또는 계정에 여전히 연결돼 있다면, 해당 정책은 영향을 주지 못하게 됩니다.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeImages", "ec2:DescribeKeyPairs", "ec2:DescribeSecurityGroups", "ec2:DescribeAvailabilityZones", "ec2:RunInstances", "ec2:TerminateInstances", "ec2:StopInstances", "ec2:StartInstances" ], "Resource": "*" } }
다음 예제는 연결된 계정에서 사용하지 않으려는 서비스에 대해 액세스를 거부하는 방법을 보여 줍니다. 여기서는 기본값이 여전히 모든 "Allow *"
SCPs OUs 루트에 연결되어 있다고 가정합니다. 이 예제 정책은 연결된 계정의 계정 관리자가EC2, Amazon 및 IAM Amazon 서비스에 대한 권한을 위임하지 못하도록 합니다. RDS 이러한 권한을 거부하는 다른 연결된 정책이 없는 한, 다른 서비스의 모든 작업을 위임할 수 있습니다.
{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": [ "iam:*", "ec2:*", "rds:*" ], "Resource": "*" } }
NotAction
요소 예제
다음 예제는 NotAction
요소를 사용하여 정책 AWS 서비스 효과에서 제외하는 방법을 보여줍니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "LimitActionsInRegion", "Effect": "Deny", "NotAction": "iam:*", "Resource": "*", "Condition": { "StringNotEquals": { "aws:RequestedRegion": "us-west-1" } } } ] }
이 설명을 사용하면 영향을 받는 계정은 작업을 사용하는 경우를 제외하고 지정된 AWS 리전 IAM 작업을 수행하는 것으로 제한됩니다.
Resource
요소
Effect
요소 값이 인 명령문에서는 요소의 Allow
Resource
요소에 “*”만 지정할 수 SCP 있습니다. 개별 리소스 Amazon 리소스 이름 (ARNs) 을 지정할 수 없습니다.
리소스 요소에서 별표(*) 또는 물음표(?)와 같은 와일드카드 문자를 사용할 수도 있습니다.
-
이름의 일부를 공유하는 여러 작업을 일치시키려면 별표(*)를 와일드카드로 사용하십시오.
-
단일 문자를 일치시키려면 물음표(?) 와일드카드를 사용하십시오.
다음 예와 같이 Effect
요소의 Deny
값이 인 ARNs 명령문에서는 개인을 지정할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAccessToAdminRole", "Effect": "Deny", "Action": [ "iam:AttachRolePolicy", "iam:DeleteRole", "iam:DeleteRolePermissionsBoundary", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:PutRolePermissionsBoundary", "iam:PutRolePolicy", "iam:UpdateAssumeRolePolicy", "iam:UpdateRole", "iam:UpdateRoleDescription" ], "Resource": [ "arn:aws:iam::*:role/
role-to-deny
" ] } ] }
이렇게 SCP 하면 영향을 받는 계정의 IAM 사용자 및 역할이 조직의 모든 계정에 생성된 공통 관리 IAM 역할을 변경할 수 없습니다.
자세한 내용은 IAM사용 설명서의 IAM JSON 정책 요소: 리소스를 참조하십시오.
Condition
요소
의 거부 명령문에 Condition
요소를 지정할 수 있습니다. SCP
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAllOutsideEU", "Effect": "Deny", "NotAction": [
"cloudfront:*", "iam:*", "route53:*", "support:*"
], "Resource": "*", "Condition": { "StringNotEquals": { "aws:RequestedRegion": ["eu-central-1", "eu-west-1"
] } } } ] }
이렇게 하면 나열된 서비스에서의 작업을 제외하고 eu-central-1
및 eu-west-1
지역 외부의 모든 작업에 대한 액세스가 SCP 거부됩니다.
자세한 내용은 IAM사용 설명서의 IAM JSON 정책 요소: 조건을 참조하십시오.
지원되지 않는 요소
에서는 다음 요소가 지원되지 않습니다SCPs.
-
Principal
-
NotPrincipal
-
NotResource