Local Zones 디렉터리 버킷 인증·인가

Local Zones 디렉터리 버킷 인증·인가 (Authenticating and authorizing for directory buckets in Local Zones)

Local Zones의 디렉터리 버킷은 AWS Identity and Access Management(IAM) 인가와 세션 기반 인가를 모두 지원해요. 디렉터리 버킷의 인증·인가에 대한 자세한 내용은 "요청 인증·인가 (Authenticating and authorizing requests)"를 참고해요.

출처: 문서

본문

리소스 (Resources)

디렉터리 버킷의 Amazon Resource Name(ARN)은 s3express 네임스페이스, AWS 부모 리전, AWS 계정 ID, 그리고 Zone ID가 포함된 디렉터리 버킷 이름을 포함해요. 디렉터리 버킷에 접근하고 작업을 수행하려면 다음 ARN 형식을 사용해야 해요:

arn:aws:s3express:region-code:account-id:bucket/bucket-base-name--ZoneID--x-s3

Local Zone의 디렉터리 버킷에서 Zone ID는 Local Zone의 ID예요. Local Zones의 디렉터리 버킷에 대한 자세한 내용은 "Local Zones의 디렉터리 버킷 개념 (Concepts for directory buckets in Local Zones)"을 참고해요. ARN에 대한 자세한 내용은 IAM User Guide의 "Amazon Resource Names (ARNs)"를 참고해요. 리소스에 대한 자세한 내용은 IAM User Guide의 "IAM JSON Policy Elements: Resource"를 참고해요.

Local Zones 디렉터리 버킷의 조건 키

Local Zones에서는 IAM 정책에 이 조건 키들을 모두 사용할 수 있어요. 또한 Local Zone 네트워크 경계 그룹 주변에 데이터 경계(perimeter)를 만들려면 s3express:AllAccessRestrictedToLocalZoneGroup 조건 키를 사용해 그룹 외부의 모든 요청을 거부할 수 있어요.

다음 조건 키는 IAM 정책 문이 적용되는 조건을 더 세분화하는 데 사용할 수 있어요. 디렉터리 버킷이 지원하는 API 연산, 정책 작업, 조건 키의 전체 목록은 "디렉터리 버킷용 정책 작업 (Policy actions for directory buckets)"을 참고해요.

참고: 다음 조건 키는 Local Zones에만 적용되고 가용 영역과 AWS 리전에서는 지원되지 않아요.

API 연산 정책 작업 설명 조건 키 설명 유형
존(Zonal) 엔드포인트 API 연산 s3express:CreateSession CreateSession, HeadBucket, CopyObject, PutObject, GetObject 같은 모든 존 엔드포인트 API 연산에 대한 접근을 부여하는 데 사용하는 세션 토큰을 만들 권한을 부여해요. s3express:AllAccessRestrictedToLocalZoneGroup 요청이 이 조건 키에 제공된 AWS Local Zone 네트워크 경계 그룹에서 시작된 경우가 아니면 버킷에 대한 모든 접근을 필터링해요. 값: Local Zone 네트워크 경계 그룹 값 String

예제 정책 (Example policies)

객체 접근을 사용자가 정의한 데이터 상주 경계(구체적으로는 같은 AWS 리전에 연결된 Local Zones 집합인 Local Zone Group) 내부의 요청으로 제한하려면 다음 정책 중 아무거나 설정할 수 있어요:

  • 서비스 제어 정책(SCP). SCP에 대한 정보는 AWS Organizations User Guide의 "서비스 제어 정책 (SCPs)"을 참고해요.
  • IAM 역할에 대한 IAM 자격 증명 기반 정책.
  • VPC 엔드포인트 정책. VPC 엔드포인트 정책에 대한 자세한 내용은 AWS PrivateLink Guide의 "엔드포인트 정책으로 VPC 엔드포인트 접근 제어하기"를 참고해요.
  • S3 버킷 정책.

참고: s3express:AllAccessRestrictedToLocalZoneGroup 조건 키는 온프레미스 환경에서의 접근을 지원하지 않아요. 온프레미스 환경에서의 접근을 지원하려면 정책에 소스 IP를 추가해야 해요. 자세한 내용은 IAM User Guide의 aws:SourceIp를 참고해요.

예제 – SCP 정책

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Access-to-specific-LocalZones-only",
            "Effect": "Deny",
            "Action": [
                "s3express:*",
            ],
            "Resource": "*",
            "Condition": {
                "StringNotEqualsIfExists": {
                    "s3express:AllAccessRestrictedToLocalZoneGroup": [
                        "local-zone-network-border-group-value"
                    ]
                }
            }
        }
    ]
}
						

예제 – IAM 자격 증명 기반 정책(IAM 역할에 연결)

{
    "Version":"2012-10-17",
    "Statement": {
        "Effect": "Deny",
        "Action": "s3express:CreateSession",
        "Resource": "*",
        "Condition": {
            "StringNotEqualsIfExists": {
                "s3express:AllAccessRestrictedToLocalZoneGroup": [
                    "local-zone-network-border-group-value"
                ]              
            }
        }
    }
}
						

예제 – VPC 엔드포인트 정책

{
    "Version":"2012-10-17",
    "Statement": [
        {       
            "Sid": "Access-to-specific-LocalZones-only",
            "Principal": "*",
            "Action": "s3express:CreateSession",
            "Effect": "Deny",
            "Resource": "*",
            "Condition": {
                 "StringNotEqualsIfExists": {
                     "s3express:AllAccessRestrictedToLocalZoneGroup": [
                         "local-zone-network-border-group-value"
                     ]
                 }   
            }
        }
    ]
}
						

예제 – 버킷 정책

{
    "Version":"2012-10-17",
    "Statement": [
        {       
            "Sid": "Access-to-specific-LocalZones-only",
            "Principal": "*",
            "Action": "s3express:CreateSession",
            "Effect": "Deny",
            "Resource": "*",
            "Condition": {
                 "StringNotEqualsIfExists": {
                     "s3express:AllAccessRestrictedToLocalZoneGroup": [
                         "local-zone-network-border-group-value"
                     ]
                 }   
            }
        }
    ]
}
						

더 알아보기 (Learn more)