정책 평가 지침
AWS는 일련의 지침에 따라 제출된 정책을 평가합니다. 정책 템플릿과 권한 경계 모두에 동일한 평가 지침이 적용되며, 적절한 경우 사소한 차이가 기록됩니다.
평가를 위해 서비스를 개별 그룹으로 구분합니다. 가장 중요한 차이점은 액세스, 자격 증명 및 키를 관리하는 보안에 민감한 서비스입니다. 이러한 서비스에 대한 액세스 권한을 부여하는 정책은 수행 중인 작업에 좁게 초점을 맞춰야 합니다. 보안에 민감한 서비스로는 AWS Identity and Access Management(IAM), AWS Key Management Service(KMS), AWS Resource Access Manager(RAM), AWS IAM Identity Center, AWS Organizations, AWS Secrets Manager 등이 있습니다.
두 번째 차이점은 계정 경계를 넘어 데이터에 액세스할 수 있는 서비스입니다. 이러한 서비스에 대한 정책에는 의도하지 않은 교차 계정 액세스를 방지하기 위한 보호가 포함되어야 합니다.
일반적인 검증
모든 정책 설명은 다음 지침을 따라야 합니다.
모든 문에는 효과, 작업(또는 NotAction), 리소스 및 조건 필드가 순서대로 포함되어야 합니다.
단일 문 내의 모든 작업은 알파벳순으로 나열되어야 합니다.
정책에 포함된 모든 ARN 관련 서비스에 대한 공개 설명서에 정의된 구문을 따라야 합니다.
NotAction 필드는 거부 문에서만 사용할 수 있습니다.
Allow 문의 작업에는 서비스 코드가 포함되어야 합니다. 일반 와일드카드(‘*’)는 허용되지 않습니다.
보안에 민감한 서비스 제한
위에서 언급한 보안에 민감한 서비스에는 다음과 같은 제한 사항이 적용됩니다.
Allow 문의 작업은 [service]:*보다 구체적이어야 합니다.
임시 액세스 정책 템플릿에 대한 명령문 허용의 작업에는 와일드카드가 포함되어서는 안 됩니다.
iam:PassRole 또는 iam:CreateServiceLinkedRole과 같은 민감한 작업에는 특정 리소스 또는 조건부 검사와 같은 추가 범위가 필요합니다. 이 작업에는 다음이 포함됩니다.
IAM 역할 전달 중
IAM 역할 수정 작업
IAM 정책 수정 작업
AWS KMS 쓰기 또는 암호화 작업
AWS RAM 쓰기 또는 공유 작업
AWS 보안 암호를 검색 또는 수정하거나 리소스 정책을 수정하기 위한 Secrets Manager 작업
다른 작업에는 iam:ListUsers 또는 iam:GetPolicy와 같은 와일드카드 리소스를 사용할 수 있습니다.
iam:CreateAccessKey와 같은 자격 증명을 관리하는 작업은 차단됩니다.
IAM 관련 제한 사항
IAM의 경우:
IAM 역할 및 정책에는 제한된 쓰기 작업만 허용됩니다. 사용자, 그룹 및 인증서와 같은 다른 IAM 리소스에 대한 권한은 요청할 수 없습니다.
정책 연결 또는 인라인 정책 관리 작업은 권한 경계가 있는 역할로 제한됩니다. 권한 경계는 파트너가 제공하거나 허용된 AWS 관리형 정책 목록에 있어야 합니다. AWS 관리형 정책은 권한이 높거나 관리 권한을 부여하지 않는 경우 허용될 수 있습니다. 예를 들어 특정 직무에 대한 AWS 관리형 정책 또는 SecurityAudit 정책이 허용될 수 있습니다. AWS는 온보딩 프로세스 중에 각 AWS 관리형 정책을 건별로 검토합니다.
정책 관리는 파트너별 경로가 arn:aws:iam::@{AccountId}:policy/partner_domain.com/[feature]*인 정책에만 허용됩니다.
태그는 리소스 생성 중에만, 그리고 역할 및 정책에 대해서만 적용할 수 있습니다.
iam:PassRole 검사는 특정 이름 또는 경로 접두사와 일치해야 합니다.
AWS STS 관련 제한 사항
AWS STS의 경우:
sts:AssumeRole은 특정 역할 ARN, 역할 ARN 접두사로 범위가 지정되거나 계정 또는 조직 ID/조직 단위 집합으로 제한되어야 합니다.
IAM Identity Center 제한 사항
AWS IAM Identity Center의 경우 다음 작업이 차단됩니다.
권한 관리를 처리하는 모든 작업(예: sso:AttachCustomerManagedPolicyReferenceToPermissionSet)
AWS Identity Store의 사용자, 그룹 및 멤버십 수정
태그 관리
AWS Organizations 제한 사항
AWS Organizations의 경우 읽기 작업만 허용됩니다.
추가 서비스별 검증
glue:GetConnection 또는 redshift:GetClusterCredentials와 같은 보안 암호 또는 자격 증명을 획득하는 작업에는 전체 ARN, ARN 접두사 또는 태그와 일치하는 조건이 있어야 합니다.
Amazon Redshift의 경우: redshift:GetClusterCredentials는 특정 데이터베이스 이름에만 허용되고 redshift:GetClusterCredentialsWithIAM은 특정 작업 그룹 이름에만 허용됩니다.
참고
계정에서 IAM 리소스를 관리할 때는 arn:aws:iam::111122223333:role/partner.com/rolename 같은 이름을 나타내는 경로를 사용하는 것이 좋습니다. 이렇게 하면 통합과 관련된 리소스를 차별화하고 고객이 검색, 감사 및 분석을 더 쉽게 수행할 수 있습니다.
교차 계정 액세스 요구 사항
교차 계정 액세스를 잠재적으로 허용하는 문에는 다음 중 하나 이상이 포함되어야 합니다.
리소스의 계정 또는 조직을 지정하는 조건(예: 하나 이상의 예상 값과 일치하는 aws:ResourceOrgId)
특정 계정을 포함하는 리소스 필드(예: arn:aws:sqs:*:111122223333:*)
와일드카드가 아닌 계정과 전체 리소스 이름을 포함하는 리소스 필드(예: arn:aws:s3:::full-bucket-name)
참고
교차 계정 액세스는 명확한 비즈니스 타당성이 요구되는 필요한 민감한 기능입니다. AWS는 온보딩 프로세스 중에 교차 계정 액세스의 필요성을 신중하게 검토합니다.