기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SCP 평가
참고
이 섹션의 정보는 백업 정책, 태그 정책, 챗봇 정책 또는 AI 서비스 옵트아웃 정책을 비롯한 관리 정책 유형에 적용되지 않습니다. 자세한 내용은 관리 정책 상속에 대한 이해 단원을 참조하십시오.
AWS Organizations에서 여러 수준의 다양한 서비스 제어 정책 (SCP) 을 연결할 수 있으므로 SCP가 평가되는 방식을 이해하면 올바른 결과를 산출하는 SCP를 작성하는 데 도움이 될 수 있습니다.
SCP가 Allow와 협력하는 방식
특정 계정에 대한 권한을 허용하려면 계정(대상 계정 자체 포함)의 직접 경로에 대한 루트부터 각 OU까지 모든 수준에서 명시적인 Allow
설명이 있어야 합니다. SCPs 활성화하면가 모든 서비스 및 작업을 허용하는 FullAWSAccess
예를 들어 그림 1과 2에 표시된 시나리오를 살펴보겠습니다. 계정 B에서 권한 또는 서비스를 허용하려면 권한 또는 서비스를 허용하는 SCP를 루트, 프로덕션 OU 및 계정 B 자체에 연결해야 합니다.
SCP 평가는 기본 거부 모델을 따릅니다. 즉, SCP에서 명시적으로 허용되지 않은 권한은 거부됩니다. 루트, 프로덕션 OU 또는 계정 B와 같은 수준의 SCP에 허용되는 설명이 없으면 액세스가 거부됩니다.
참고
-
SCP의
Allow
문에서Resource
요소에는"*"
항목만 사용할 수 있습니다. -
SCP의
Allow
문은 어떠한Condition
요소도 가질 수 없습니다.

그림 1: 루트, 프로덕션 OU 및 계정 B에 Allow
설명이 첨부된 조직 구조의 예

그림 2: 프로덕션 OU에서 누락된 Allow
설명이 있는 조직 구조의 예와 이것이 계정 B에 미치는 영향
SCP가 거부를 처리하는 방식
특정 계정에 대한 권한이 거부되는 경우, 루트에서 각 OU를 거쳐 계정의 직접 경로(대상 계정 자체 포함)에 있는 모든 SCP가 해당 권한을 거부할 수 있습니다.
예를 들어 프로덕션 OU에 특정 서비스에 대한 명시적 Deny
설명이 있는 SCP가 연결되어 있다고 가정해 보겠습니다. 그림 3과 같이 루트와 계정 B에 연결된 또 다른 SCP가 있는데, 이는 동일한 서비스에 대한 액세스를 명시적으로 허용합니다. 따라서 조직의 모든 수준에 연결된 거부 정책을 모든 OU 및 해당 계정 아래에 있는 멤버 계정에서 평가하므로 계정 A와 계정 B 모두 서비스에 대한 액세스가 거부됩니다.

그림 3: 프로덕션 OU에 Deny
설명이 연결된 조직 구조의 예와 이것이 계정 B에 미치는 영향
SCP 사용 전략
SCP를 작성할 때 Allow
및 Deny
명령문을 조합하여 조직에서 의도한 조치와 서비스를 허용할 수 있습니다. Deny
명령문은 루트 수준이나 OU 수준에서 적용되면 그 아래 있는 모든 계정에 적용되기 때문에 조직 또는 OU의 더 넓은 부분에 적용되어야 하는 제한을 구현할 수 있는 강력한 방법입니다.
예를 들어 Deny
문을 사용하여 루트 수준에서 멤버 계정이 조직을 나가지 못하도록 방지하는 정책을 구현할 수 있으며, 이 정책은 조직의 모든 계정에 유효합니다. 거부 명령문은 예외를 생성하는 데 유용할 수 있는 조건 요소도 지원합니다.
작은 정보
IAM에서 서비스가 마지막으로 액세스한 데이터를 사용하여 필요한 AWS 서비스 로만 액세스를 제한하도록 SCP를 업데이트할 수 있습니다. 자세한 내용은 IAM 사용 설명서의 Organizations에서 서비스가 마지막으로 액세스한 데이터 보기를 참조하세요.
AWS Organizations 는 모든 루트, OU 및 계정이 생성될 때 FullAWSAccessAllow
명령문을 사용하여 특정 서비스만 허용할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:*", "cloudwatch:*", "organizations:*" ], "Resource": "*" } ] }
두 명령문을 조합한 정책은 멤버 계정이 조직을 떠나는 것을 방지하고 원하는 AWS 서비스의 사용을 허용하는 다음 예와 유사할 수 있습니다. 조직 관리자는 FullAWSAccess 정책을 분리하고 대신에 이 정책을 연결하면 됩니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:*", "cloudwatch:*", "organizations:*" ], "Resource": "*" }, { "Effect": "Deny", "Action":"organizations:LeaveOrganization", "Resource": "*" } ] }
이제 다음 샘플 조직 구조를 살펴보고 조직의 여러 수준에 다양한 SCP를 적용하는 방법을 이해해 보세요.

다음 표에는 샌드박스 OU의 효과적인 정책이 나와 있습니다.
시나리오 | 루트의 SCP | 샌드박스 OU의 SCP | 계정 A의 SC | 계정 A의 결과 정책 | 계정 B 및 계정 C의 결과 정책 |
---|---|---|---|---|---|
1 | 전체 AWS 액세스 | 전체 AWS 액세스 + S3 액세스 거부 | 전체 AWS 액세스 + EC2 액세스 거부 | S3도 없고 EC2도 액세스할 수 없음 | S3 액세스 권한 없음 |
2 | 전체 AWS 액세스 | EC2 액세스 허용 | EC2 액세스 허용 | EC2 액세스 허용 | EC2 액세스 허용 |
3 | S3 액세스 거부 | S3 액세스 허용 | 전체 AWS 액세스 | 서비스 액세스 권한 없음 | 서비스 액세스 권한 없음 |
다음 표에는 워크로드 OU의 효과적인 정책이 나와 있습니다.
시나리오 | 루트의 SCP | 워크로드 OU의 SCP | 테스트 OU의 SCP | 계정 D의 결과 정책 | 프로덕션 OU, 계정 E 및 계정 F의 결과 정책 |
---|---|---|---|---|---|
1 | 전체 AWS 액세스 | 전체 AWS 액세스 | 전체 AWS 액세스 + EC2 액세스 거부 | EC2 액세스 권한 없음 | 전체 AWS 액세스 |
2 | 전체 AWS 액세스 | 전체 AWS 액세스 | EC2 액세스 허용 | EC2 액세스 허용 | 전체 AWS 액세스 |
3 | S3 액세스 거부 | 전체 AWS 액세스 | S3 액세스 허용 | 서비스 액세스 권한 없음 | S3 액세스 권한 없음 |