Amazon EMR on EKS로 Amazon S3 Access Grants 사용 - Amazon EMR

Amazon EMR on EKS로 Amazon S3 Access Grants 사용

Amazon EMR on EKS에 대한 S3 Access Grants 개요

Amazon EMR 릴리스 6.15.0 이상을 사용하면 Amazon S3 Access Grants에서 Amazon EMR on EKS의 Amazon S3 데이터에 대한 액세스를 강화하기 위해 사용 가능한 확장 가능한 액세스 제어 솔루션이 제공됩니다. S3 데이터에 대한 권한 구성이 복잡하거나 대규모인 경우 Access Grants를 사용하여 사용자, 역할 및 애플리케이션을 위한 S3 데이터 권한을 확장할 수 있습니다.

S3 Access Grants를 사용하여 Amazon S3 데이터에 대한 액세스를 Amazon EMR on EKS 클러스터에 액세스할 수 있는 자격 증명에 연결된 런타임 역할 또는 IAM 역할에 의해 부여된 권한 이상으로 강화할 수 있습니다.

자세한 내용은 Amazon EMR 관리 가이드Amazon EMR을 위한 S3 Access Grants를 사용한 액세스 관리Amazon Simple Storage Service 사용 설명서S3 Access Grants를 사용한 액세스 관리를 참조하세요.

이 페이지에서는 S3 Access Grants 통합을 사용하여 Amazon EMR on EKS에서 Spark 작업을 실행하는 데 필요한 요건을 설명합니다. Amazon EMR on EKS에서 S3 Access Grants를 사용하려면 작업에 대한 실행 역할의 추가 IAM 정책 설명과 StartJobRun API에 대한 추가 재정의 구성이 필요합니다. 기타 Amazon EMR 배포를 이용하여 S3 Access Grants을 설정하는 단계를 확인하려면 다음 설명서를 참조하세요.

데이터 관리를 위해 S3 Access Grants를 사용하여 Amazon EMR on EKS 클러스터 시작

Amazon EMR on EKS에서 S3 Access Grants를 활성화하여 Spark 작업을 시작할 수 있습니다. 애플리케이션에서 S3 데이터에 대한 요청이 발생할 경우 Amazon S3에서는 특정 버킷, 접두사 또는 객체로 범위가 지정된 임시 보안 인증을 제공합니다.

  1. Amazon EMR on EKS 클러스터에 대한 작업 실행 역할을 설정합니다. Spark 작업 s3:GetDataAccesss3:GetAccessGrantsInstanceForPrefix를 실행하는 데 필요한 필수 IAM 권한을 포함합니다.

    { "Effect": "Allow", "Action": [ "s3:GetDataAccess", "s3:GetAccessGrantsInstanceForPrefix" ], "Resource": [ //LIST ALL INSTANCE ARNS THAT THE ROLE IS ALLOWED TO QUERY "arn:aws_partition:s3:Region:account-id1:access-grants/default", "arn:aws_partition:s3:Region:account-id2:access-grants/default" ] }
    참고

    S3에 직접 액세스할 수 있는 추가 권한을 지닌 작업 실행을 위한 IAM 역할을 지정하면 사용자가 S3 Access Grants에서 정의한 권한에 상관없이 데이터에 액세스하는 것이 가능할 수 있습니다.

  2. 다음 예시에 나타난 것처럼 Amazon EMR 릴리스 라벨이 6.15 이상이고 emrfs-site 분류가 있는 Amazon EMR on EKS 클러스터에 작업을 제출하세요. red text의 값을 사용 시나리오에 적합한 값으로 바꾸세요.

    { "name": "myjob", "virtualClusterId": "123456", "executionRoleArn": "iam_role_name_for_job_execution", "releaseLabel": "emr-7.3.0-latest", "jobDriver": { "sparkSubmitJobDriver": { "entryPoint": "entryPoint_location", "entryPointArguments": ["argument1", "argument2"], "sparkSubmitParameters": "--class main_class" } }, "configurationOverrides": { "applicationConfiguration": [ { "classification": "emrfs-site", "properties": { "fs.s3.s3AccessGrants.enabled": "true", "fs.s3.s3AccessGrants.fallbackToIAM": "false" } } ], } }

Amazon EMR on EKS에서의 S3 Access Grants 고려 사항

Amazon EMR on EKS에서 Amazon S3 Access Grants를 사용하는 경우의 중요 지원, 호환성 및 동작 정보를 확인하려면 Amazon EMR 관리 가이드Amazon EMR에서의 S3 Access Grants 고려 사항을 참조하세요.