리소스 제어 정책 예제 - AWS Organizations

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

리소스 제어 정책 예제

이 주제에 나온 예제 리소스 제어 정책(RCP)은 정보 제공용입니다. 데이터 경계 예제는 GitHub의 데이터 경계 정책 예제를 참조하세요.

이 예제를 사용하기 전에

조직에서 예제 RCP를 사용하기 전에 다음 단계를 수행해야 합니다.

  • 신중하게 예제 RCP를 검토하고 자신의 요구 사항에 맞게 사용자 지정합니다.

  • 사용하는 AWS 서비스를 사용하여 환경의 RCPs를 철저히 테스트합니다.

이 단원의 정책 예제는 RCP의 구현과 사용을 보여줍니다. 그러나 제시된 그대로 실행할 수 있는 공식적인 AWS 권장 사항 또는 모범 사례로 해석해서는 안 됩니다. 고객은 자신의 환경이 가진 비즈니스 요구 사항을 해결하기 위해 모든 정책의 적합성을 신중하게 테스트할 책임이 있습니다. 거부 기반 리소스 제어 정책은 정책에 필요한 예외를 추가하지 않는 한 AWS 서비스 사용을 의도하지 않게 제한하거나 차단할 수 있습니다.

일반 예제

RCPFullAWSAccess

다음 정책은 AWS 관리형 정책으로, 리소스 제어 정책(RCPs)을 활성화하면 조직 루트, 모든 OU 및 조직의 모든 계정에 자동으로 연결됩니다. 이 정책은 분리할 수 없습니다. 이 기본 RCP를 사용하면 모든 위탁자와 작업이 리소스에 액세스할 수 있습니다. 즉, RCP를 생성하고 연결하기 시작할 때까지는 기존 IAM 권한이 모두 그대로 작동합니다. 기존 권한 부여 동작이 리소스에 대해 계속 유지될 수 있도록 허용하기 때문에 이 정책의 효과를 테스트할 필요가 없습니다.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*" } ] }

교차 서비스 혼동된 대리자 보호

일부 AWS 서비스 (서비스 호출)는 보안 AWS 서비스 주체를 사용하여 다른 AWS 서비스 (서비스라고 함)의 AWS 리소스에 액세스합니다. AWS 리소스에 대한 액세스 권한이 없는 액터가 AWS 서비스 보안 주체의 신뢰를 사용하여 액세스 권한이 없는 리소스와 상호 작용하려고 시도하는 경우 이를 교차 서비스 혼동된 대리자 문제라고 합니다. 자세한 내용은 IAM 사용 설명서혼동된 대리자 문제를 참조하세요.

다음 정책은 리소스에 액세스하는 AWS 서비스 보안 주체가 조직의 요청을 대신하여 그렇게 하도록 요구합니다. 이 정책은 aws:SourceAccount을(를) 사용할 필요가 없는 서비스 통합이 영향을 받지 않도록 aws:SourceAccount이(가) 있는 요청에만 제어를 적용합니다. 요청 컨텍스트에 aws:SourceAccount이(가) 있는 경우 Null 조건이 true로 평가되어 aws:SourceOrgID 키가 적용됩니다.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "EnforceConfusedDeputyProtection", "Effect": "Deny", "Principal": "*", "Action": [ "s3:*", "sqs:*", "kms:*", "secretsmanager:*", "sts:*" ], "Resource": "*", "Condition": { "StringNotEqualsIfExists": { "aws:SourceOrgID": "my-org-id", "aws:SourceAccount": [ "third-party-account-a", "third-party-account-b" ] }, "Bool": { "aws:PrincipalIsAWSService": "true" }, "Null": { "aws:SourceArn": "false" } } } ] }

리소스에 대한 HTTPS 연결에만 액세스 제한

다음 정책은 리소스에 대한 액세스가 HTTPS(TLS)를 통한 암호화된 연결에서만 이루어지도록 요구합니다. 이를 통해 잠재적 공격자가 네트워크 트래픽을 조작하지 못하도록 방지할 수 있습니다.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "EnforceSecureTransport", "Effect": "Deny", "Principal": "*", "Action": [ "sts:*", "s3:*", "sqs:*", "secretsmanager:*", "kms:*" ], "Resource": "*", "Condition": { "BoolIfExists": { "aws:SecureTransport": "false" } } } ] }

일관된 Amazon S3 버킷 정책 제어

다음 RCP에는 조직의 Amazon S3 버킷에 대한 일관된 액세스 제어를 적용하기 위한 여러 문이 포함되어 있습니다.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "EnforceS3TlsVersion", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "*", "Condition": { "NumericLessThan": { "s3:TlsVersion": [ "1.2" ] } } }, { "Sid": "EnforceKMSEncryption", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "*", "Condition": { "Null": { "s3:x-amz-server-side-encryption-aws-kms-key-id": "true" } } } ] }
  • 문 ID EnforceS3TlsVersion – S3 버킷에 액세스하려면 1.2의 최소 TLS 버전이 필요합니다.

  • 문 ID EnforceKMSEncryption - 객체를 KMS 키로 서버 측 암호화해야 합니다.