SCP통사론 - AWS Organizations

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

SCP통사론

서비스 제어 정책 (SCPs) 은 () 권한 정책 및 리소스 기반 정책 AWS Identity and Access Management (예: Amazon S3 버킷 정책IAM) 에서 사용하는 것과 유사한 구문을 사용합니다. IAM정책 및 해당 구문에 대한 자세한 내용은 IAM사용 설명서의 IAM 정책 개요를 참조하십시오.

SCPAn은 의 규칙에 따라 구조화된 일반 텍스트 파일입니다. JSON SCP는 이번 주제에서 설명하는 요소를 사용합니다.

참고

내 모든 문자는 최대 크기를 SCP 기준으로 계산됩니다. 이 안내서의 예제는 가독성을 높이기 위해 공백을 SCPs 추가한 서식을 보여줍니다. 하지만 정책 크기가 최대 크기에 근접한 경우 공백을 저장하려면 인용 부호 바깥에 있는 공백 문자(예: 공백 및 줄 바꿈)를 모두 삭제할 수 있습니다.

SCPs에 대한 일반적인 내용은 서비스 제어 정책 (SCPs) 단원을 참조하십시오.

요소 요약

다음 표에는 에서 사용할 수 있는 정책 요소가 요약되어 있습니다. SCPs 일부 정책 요소는 SCPs 해당 거부 작업에서만 사용할 수 있습니다. 지원되는 효과 열에는 각 정책 요소에 사용할 수 있는 효과 유형이 나열됩니다SCPs.

Element 용도 지원되는 효과
버전 정책을 처리하는 데 사용할 언어 구문 규칙을 지정합니다.

Allow, Deny

Statement 정책 요소 컨테이너의 역할을 합니다. 명령문을 여러 개 넣을 수 SCPs 있습니다. Allow, Deny
Statement ID(Sid) (선택 사항) 문의 표시 이름을 제공합니다. Allow, Deny
효과 SCP명령문에서 계정의 IAM 사용자 및 역할에 대한 액세스를 허용할지 거부할지를 정의합니다. Allow, Deny

작업

SCP허용하거나 거부하는 AWS 서비스 및 작업을 지정합니다.

Allow, Deny

NotAction

에서 제외되는 AWS 서비스 및 작업을 지정합니다. SCP Action 요소 대신 사용합니다.

Deny

리소스 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, ActionResource 요소로 구성된 한 문을 보여줍니다.

"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

ActionNotAction 요소

각 문은 다음 중 하나를 포함해야 합니다.

  • 허용 및 거부 문에서, Action 요소.

  • 거부 문에서만(Effect 요소의 값이 Deny인 경우), Action 또는 NotAction 요소.

Actionor NotAction 요소의 값은 명령문에 의해 허용되거나 거부되는 작업을 식별하는 AWS 서비스 문자열의 목록 (JSON배열) 입니다.

각 문자열은 서비스의 소문자 약자("s3", "ec2", "iam" 또는 "organizations" 등) 뒤에 콜론이 오고 그 뒤에 해당 서비스의 작업이 붙는 형태로 구성됩니다. Action 및 NotAction은 대/소문자를 구분하며, 각 서비스의 문서에 표시된 그대로 입력해야 합니다. 일반적으로 각 단어는 첫 글자만 대문자로, 나머지는 소문자로 입력합니다. 예: "s3:ListAllMyBuckets".

별표 (*) 또는 물음표 (?) 와 같은 와일드카드 문자도 사용할 수 있습니다. 입력: SCP

  • 이름의 일부를 공유하는 여러 작업을 일치시키려면 별표(*)를 와일드카드로 사용하십시오. "s3:*" 값은 Amazon S3 서비스의 모든 작업을 의미합니다. 값은 “Describe”로 시작하는 EC2 작업에만 "ec2:Describe*" 일치합니다.

  • 단일 문자를 일치시키려면 물음표(?) 와일드카드를 사용하십시오.

참고

SCPan에서는 와일드카드 문자 (*) 와 (?) Actionor 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-1eu-west-1 지역 외부의 모든 작업에 대한 액세스가 SCP 거부됩니다.

자세한 내용은 IAM사용 설명서의 IAM JSON 정책 요소: 조건을 참조하십시오.

지원되지 않는 요소

에서는 다음 요소가 지원되지 않습니다SCPs.

  • Principal

  • NotPrincipal

  • NotResource