Amazon EMR 스튜디오 데이터 과학자와 데이터 엔지니어가 R, Python, Scala 및 PySpark로 작성된 데이터 엔지니어링 및 데이터 과학 애플리케이션을 쉽게 개발, 시각화 및 디버깅할 수 있게 해주는 IDE(통합 개발 환경)입니다. EMR Studio는 EMR Studio 작업 공간을 통해 Spark UI 및 YARN 타임라인 서버와 같은 완전 관리형 Jupyter 노트북 및 도구를 제공합니다. EMR Studio 작업 공간을 EMR 클러스터에 연결하고, EMR 클러스터의 컴퓨팅 성능을 사용하고 클러스터에서 데이터 과학 작업을 실행할 수 있습니다. 데이터는 종종 관리되는 데이터 레이크에 저장됩니다. AWS Lake 형성, 간단한 승인 또는 취소 메커니즘을 통해 세분화된 액세스 제어를 적용할 수 있습니다.
우리는 소개하게 되어 기쁘게 생각합니다 런타임 역할 EMR Studio 작업 공간용. 이제 EMR Studio 작업 공간을 연결할 때 런타임 역할을 정의하고 EMR 클러스터에 할당할 수 있습니다. EMR 클러스터의 작업은 이 런타임 역할을 사용하여 AWS 리소스에 액세스합니다. 런타임 역할을 구성한 후 Lake Formation을 사용하고 EMR Studio Workspace에서 제출된 작업에 대해 세분화된 데이터 액세스 제어를 적용할 수도 있습니다.
이전에는 EMR Studio 작업 공간을 EMR 클러스터에 연결할 때 모든 작업 공간이 동일한 것을 사용해야 했습니다. AWS 자격 증명 및 액세스 관리 (IAM) 역할—즉, 클러스터의 아마존 엘라스틱 컴퓨트 클라우드 (Amazon EC2) 인스턴스 프로필. 따라서 동일한 EMR 클러스터에 연결된 모든 작업 공간에는 동일한 데이터 액세스 권한이 있었습니다. 데이터 소스에 대한 액세스를 제어하려면 각 EMR Studio Workspace는 서로 다른 EMR 클러스터를 사용해야 했고 여러 EMR 인스턴스 프로필이 필요했습니다.
Amazon EMR 6.11 릴리스부터 이제 EMR Studio 작업 공간을 EMR 클러스터에 연결할 때 런타임 역할을 선택할 수 있습니다. 이 런타임 역할은 작업공간 수준에서 액세스 범위를 축소합니다. EMR Studio 작업 공간에서 실행되는 Apache Livy 및 Apache Spark 작업은 런타임 역할에 연결된 정책에서 허용하는 데이터 및 리소스에만 액세스할 수 있는 권한을 갖습니다. 또한 Lake Formation으로 관리되는 데이터 레이크에서 데이터에 액세스하는 경우 Lake Formation 권한을 사용하여 세분화된 데이터 액세스 제어를 시행할 수 있습니다. 이는 운영 오버헤드를 줄이는 데 도움이 됩니다.
이 게시물에서는 EMR Studio 작업 공간에 대한 런타임 역할을 구성하고 런타임 역할을 사용하여 작업 공간을 EMR 클러스터에 연결하는 방법을 보여줍니다. 대기업은 일반적으로 여러 AWS 계정을 사용하고 이러한 계정 중 다수는 단일 AWS 계정으로 관리되는 데이터 레이크에 액세스해야 할 수 있으므로 이 예에서는 두 개의 AWS 계정을 사용합니다. EMR Studio 런타임 역할에 대한 액세스를 제어하고, Lake Formation을 통해 데이터 레이크의 계정 전체에서 데이터 액세스를 관리하고, EMR 런타임 역할에 테이블 수준 및 열 수준 권한을 적용하는 방법을 설명합니다.
솔루션 개요
세분화된 액세스 제어를 보여주기 위해 샘플을 만듭니다. AWS 접착제 회사라는 이름의 데이터베이스를 만들고 Lake Formation에서 데이터베이스 권한을 관리합니다. 데이터베이스는 두 개의 별도 테이블로 구성됩니다.
- 직원 – 회사의 직원에 대한 직원 ID, 이름, 부서, 급여 등의 정보가 저장되는 테이블입니다.
- 제품 – 회사에서 판매하는 제품에 대한 제품ID, 이름, 카테고리, 가격 등의 정보가 저장되는 테이블입니다.
데이터 액세스 제어를 시연하기 위해 다음 데이터 사용자를 고려합니다.
- 영업팀의 데이터 과학자인 Alice – 그녀는 다음의 모든 열에 대해 읽기 전용 액세스 권한을 가지고 있어야 합니다.
products
테이블과 선택한 열(uID, 이름, 부서 포함)employees
테이블 - 인사팀의 데이터 과학자 Bob – 그는 다음의 모든 열에 대해 읽기 전용 액세스 권한을 가지고 있어야 합니다.
employees
테이블에 액세스할 수 없어야 합니다.products
테이블
교차 계정 데이터 공유를 보여주기 위해 다음 두 가지 계정을 고려합니다.
- 데이터 생산자 계정 – 우리는 이 계정을 다음과 같이 지칭합니다.
123456789012
이 게시물에서. 이 계정은 다음의 원시 데이터를 관리합니다. 아마존 단순 스토리지 서비스 (Amazon S3) 데이터 레이크에 데이터를 씁니다. 그만큼company
데이터베이스와 테이블이 이 계정에 있어야 합니다. - 데이터 소비자 계정 – 우리는 이 계정을 다음과 같이 지칭합니다.
111122223333
이 게시물에서. 이 계정은 데이터 분석을 위해 사용자가 직접 액세스하며 데이터에 대한 쓰기 액세스 권한이 없습니다. 이 계정은 Alice와 Bob이 액세스할 수 있어야 합니다.
아키텍처는 다음과 같이 구현됩니다.
- 데이터 생산자 계정은 데이터 레이크를 관리합니다. 원시 데이터는 S3 버킷에 저장되고 AWS Glue 데이터 카탈로그에 분류됩니다.
- 데이터 생산자 계정의 Lake Formation은 데이터 카탈로그를 통한 데이터 액세스를 관리하고 데이터 소비자 계정과 계정 간 데이터 공유를 제공합니다.
- 데이터 소비자 계정의 Lake Formation은 테이블 수준의 데이터 레이크에 대한 계정 간 액세스와 세분화된 Lake Formation 권한을 관리합니다. 자세한 내용은 다음을 참조하세요. 세분화된 액세스 제어 방법.
- 데이터 소비자 계정의 EMR Studio 작업 공간은 EMR 클러스터에서 작업을 실행할 때 런타임 역할을 사용합니다.
- EMR 클러스터는 데이터 소비자 계정의 Glue 데이터 카탈로그에 연결하고 계정 간 데이터 공유를 통해 데이터 레이크의 데이터를 쿼리합니다.
다음 다이어그램은이 아키텍처를 보여줍니다.
다음 섹션에서는 Lake Formation을 통해 계정 간에 데이터를 공유하고, 런타임 역할로 EMR Studio 작업 공간을 실행하고, 세분화된 액세스 제어를 시연하는 단계를 살펴보겠습니다.
사전 조건
다음과 같은 전제 조건이 있어야 합니다.
데이터 생산자 계정에서 인프라 생성
인프라 리소스를 생성하려면 다음 단계를 완료하세요.
- 데이터 생산자 AWS 계정(
123456789012
). - 왼쪽 메뉴에서 발사 스택 CloudFormation 템플릿을 배포하여 필요한 리소스를 생성합니다.
- 럭셔리 DataLakeBucket접미사, 데이터 레이크에서 사용하는 S3 버킷의 접미사를 입력합니다. 생성될 전체 S3 버킷 이름은 다음과 같습니다.
{AwsAccoundId}-{AwsRegion}-{DataLakeBucketSuffix}
. - CloudFormation 스택이 생성된 후 다음으로 이동합니다. 출력 스택의 탭을 선택하고 값을 캡처합니다.
DataLakeS3Bucket
다음 단계에서 사용합니다.
데이터 파일을 생성하고 데이터 생산자 계정의 Amazon S3에 업로드합니다.
데이터 생산자 AWS 계정(123456789012
) 또는 다음을 사용하여 CloudShell에 로그인할 수 있습니다. AWS 관리 콘솔. 다음 단계를 완료하십시오.
- 로컬 머신에서 cd 명령을 사용하여 원하는 디렉터리로 이동합니다. 예를 들면 다음과 같습니다.
cd ~
. - 실행 스크립트 과
chmod 744 create_sample_data.sh && ./create_sample_data.sh <DataLakeS3BucketName>
.
스크립트는 하위 디렉터리를 생성합니다. tmp
현재 작업 디렉터리에서 CSV 파일로 테스트 데이터를 생성하고 해당 파일을 DataLakeS3BucketName
S3 버킷.
데이터 생산자 계정에서 Lake Formation 설정
이 섹션에서는 데이터 생산자 계정에서 Lake Formation을 설정하는 단계를 안내합니다.
Lake Formation 교차 계정 데이터 공유 버전 설정
Lake Formation은 여러 데이터 공유 버전을 지원합니다. 이 게시물에서는 버전 3을 사용합니다. 데이터 공유 버전 간의 차이점에 대한 자세한 내용은 다음을 참조하세요. 교차 계정 데이터 공유 버전 설정 업데이트. 데이터 공유 버전을 변경하려면 다음을 참조하세요. 새 버전을 활성화하려면.
Amazon S3 위치를 데이터 레이크 위치로 등록
. Amazon S3 위치 등록 Lake Formation을 사용하면 해당 위치에 대한 읽기/쓰기 권한이 있는 IAM 역할을 지정합니다. 등록 후 EMR 클러스터가 이 Amazon S3 위치에 대한 액세스를 요청하면 Lake Formation은 데이터에 액세스하기 위해 제공된 역할의 임시 자격 증명을 제공합니다. 우리는 이미 역할을 생성했습니다. LakeFormationCompanyDatabaseDataAccessRole
이 목적을 위해 이전 단계에서. Amazon S3 위치를 데이터 레이크 위치로 등록하려면 다음 단계를 완료하십시오.
- 데이터 생산자 계정의 Lake Formation 데이터 레이크 관리자로 Lake Formation 콘솔을 엽니다(
123456789012
). - 탐색 창에서 데이터 레이크 위치 아래에 행정실.
- 왼쪽 메뉴에서 위치 등록.
- 럭셔리 Amazon S3 경로, 입력
s3://<DataLakeS3BucketName>/company-database
. - 럭셔리 IAM 역할, 입력
LakeFormationCompanyDatabaseDataAccessRole
. - 럭셔리 권한 모드, 고르다 호수 형성.
- 왼쪽 메뉴에서 위치 등록.
IAMAllowedPrincipals에 부여된 권한 취소
XNUMXD덴탈의 IAMAllowedPrincipals
그룹에는 IAM 정책에 따라 데이터 카탈로그 리소스에 대한 액세스가 허용된 모든 IAM 사용자 및 역할이 포함됩니다. 에게 Lake Formation 모델 시행, 우리는 IAMAllowedPrincipals의 권한을 취소합니다. 다음 단계를 사용하여:
- 데이터 생산자 계정의 Lake Formation 데이터 레이크 관리자로 Lake Formation 콘솔을 엽니다.
- 탐색 창에서 권한 아래의 데이터 레이크 권한.
- 권한 필터링 기준:
Database = company
및Principle=IAMAllowedPrinciples
. - 주체에게 부여된 모든 권한을 선택하세요.
IAMAllowedPrincipals
선택하고 취소.
애플리케이션 통합 설정 지정
EMR 클러스터에 대한 권한을 적용하려면 Lake Formation에 세션 태그 값을 등록해야 합니다. Lake Formation은 이 세션 태그를 사용하여 호출자에게 권한을 부여하고 데이터 레이크에 대한 액세스를 제공합니다. 등록한다 Amazon EMR
세션 태그 값으로. 이 값은 다음에서 참조됩니다. 보안 구성 EMR 클러스터를 생성할 때.
다음 단계에 따라 세션 태그를 설정합니다.
- 데이터 생산자 계정의 Lake Formation 데이터 레이크 관리자로 Lake Formation 콘솔을 엽니다.
- 왼쪽 메뉴에서 애플리케이션 통합 설정 아래에 행정실 탐색 창에서
- 선택 외부 엔진이 Lake Formation에 등록된 Amazon S3 위치의 데이터를 필터링하도록 허용.
- 럭셔리 세션 태그 값, 입력
Amazon EMR
. - 럭셔리 AWS 계정 ID, 데이터 소비자 AWS 계정 ID(
111122223333
). - 왼쪽 메뉴에서 찜하기.
데이터베이스 및 테이블을 데이터 소비자 계정과 공유
이제 부여 가능한 권한을 포함하여 데이터 소비자 AWS 계정에 권한을 부여합니다. 이를 통해 데이터 소비자 계정의 Lake Formation 데이터 레이크 관리자는 계정 내의 데이터에 대한 액세스를 제어할 수 있습니다.
데이터 소비자 계정에 데이터베이스 권한 부여
다음 단계를 완료하십시오.
- 데이터 생산자 계정의 Lake Formation 데이터 레이크 관리자로 Lake Formation 콘솔을 엽니다.
- 탐색 창에서 데이터베이스.
- 데이터베이스 선택
company
, 그리고 행위 메뉴, 아래 권한선택한다. 부여. - . 원리 섹션에서 선택 외부 계정 데이터 소비자 AWS 계정(
111122223333
). - . LF-태그 또는 카탈로그 리소스 섹션 선택
company
for 데이터베이스. - . 데이터베이스 권한 섹션에서 선택 설명 모두 데이터베이스 권한 및 부여 가능한 권한.
이를 통해 데이터 소비자 계정의 데이터 레이크 관리자는 데이터베이스를 설명하고 데이터 소비자 계정의 다른 보안 주체에게 설명 권한을 부여할 수 있습니다.
- 왼쪽 메뉴에서 부여.
데이터 소비자 계정에 테이블 권한 부여
다음 단계를 완료하십시오.
- 데이터 생산자 계정의 Lake Formation 데이터 레이크 관리자로 Lake Formation 콘솔을 엽니다.
- 탐색 창에서 테이블.
- 선택
products
에 속하는 테이블company
데이터베이스 및 행위 메뉴, 아래 권한선택한다. 부여. - . 원리 섹션에서 선택 외부 계정 데이터 소비자 AWS 계정(
111122223333
). - . LF-태그 또는 카탈로그 리소스 섹션에서 선택 명명된 데이터 카탈로그 리소스 다음을 지정합니다.
- 럭셔리 데이터베이스선택한다.
company
. - 럭셔리 테이블선택한다.
products
및employees
.
- 럭셔리 데이터베이스선택한다.
- . 테이블 권한 섹션 선택 선택 및 설명 모두 테이블 권한 및 부여 가능한 권한.
이를 통해 데이터 소비자 계정의 데이터 레이크 관리자는 테이블을 선택 및 설명하고, 데이터 소비자 계정의 다른 보안 주체에게 테이블 선택 및 설명 권한을 부여할 수 있습니다.
- . 데이터 권한 섹션에서 선택 모든 데이터 액세스.
- 왼쪽 메뉴에서 부여.
이제 데이터 생산자 계정 설정이 완료되었습니다.
데이터 소비자 계정에 인프라 설정
인프라 리소스를 생성하려면 다음 단계를 완료하세요.
- 데이터 소비자 계정(
111122223333
). - 왼쪽 메뉴에서 스택 시작 CloudFormation 템플릿을 배포하여 필요한 리소스를 생성합니다.
- 럭셔리 릴리스 레이블, 사용할 Amazon EMR 릴리스 레이블을 입력합니다. 레이블은 emr-6.11 이상이어야 합니다.
- 럭셔리 인스턴스 유형에서 r4.4xlarge와 같은 EMR 클러스터의 인스턴스 유형을 선택합니다.
- 럭셔리 EMRS3버킷이름접미사, EMR 클러스터 로그 및 EMR 노트북 파일을 저장하려면 S3 버킷 접미사를 입력하세요. 생성될 전체 S3 버킷 이름은 다음과 같습니다.
{AWSAccoundId}-{AWSRegion}-{EMRS3BucketNameSuffix}
. - 럭셔리 S3PathToInTransit인증서, 전송 중 암호화에 사용되는 .pem 파일이 포함된 .zip 파일의 S3 경로를 입력합니다.
.pem 파일이 포함된 .zip 파일을 생성하고 S3 버킷에 업로드하는 방법에 대한 지침은 다음을 참조하세요. Amazon EMR 암호화를 사용하여 전송 중인 데이터를 암호화하기 위한 인증서 제공.
- CloudFormation 스택이 생성된 후 다음으로 이동합니다. 출력 스택의 탭.
- 가치를 포착하라
EMRStudioLink
EMR Studio에 로그인하는 데 사용됩니다.
데이터 소비자 계정의 리소스 공유를 수락합니다.
공유 리소스에 액세스하려면 먼저 초대를 수락해야 합니다.
- AWS RAM 액세스 권한이 있는 IAM 자격 증명을 사용하여 데이터 소비자 계정의 AWS RAM 콘솔을 엽니다.
- 탐색 창에서 자원 공유 아래에 나와 공유 함.
데이터 생산자 계정에서 보류 중인 리소스 공유 두 개가 표시되어야 합니다.
- 두 리소스 공유를 모두 수락합니다.
너는 company
데이터 베이스, employees
테이블, 그리고 products
Data Catalog의 테이블입니다.
데이터 소비자 계정에서 Lake Formation 설정
이 섹션에서는 데이터 소비자 계정에서 Lake Formation을 설정하는 단계를 안내합니다.
애플리케이션 통합 설정 지정
데이터 생산자 계정 설정과 유사하게 Amazon EMR을 세션 태그로 등록해야 합니다. 이 값은 다음에서 참조됩니다. 보안 구성 CloudFormation 스택에 EMR 클러스터를 생성할 때.
그렇게 하려면 다음 단계를 완료하세요.
- 데이터 소비자 계정에서 Lake Formation 데이터 레이크 관리자로 Lake Formation 콘솔을 엽니다(
111122223333
). - 왼쪽 메뉴에서 애플리케이션 통합 설정 아래에 행정실 탐색 창에서
- 선택 외부 엔진이 Lake Formation에 등록된 Amazon S3 위치의 데이터를 필터링하도록 허용.
- 럭셔리 세션 태그 값, 입력
Amazon EMR
. - 럭셔리 AWS 계정 ID, 데이터 소비자 AWS 계정 ID(
111122223333
). - 왼쪽 메뉴에서 찜하기.
기본 데이터베이스의 런타임 역할에 설명 권한 부여
Lake Formation에 기본 데이터베이스가 없거나 기본 데이터베이스에 이미 부여할 권한이 있는 경우 IAMAllowedPrinciples
, 이 단계를 건너뛸 수 있습니다.
Amazon EMR은 기본적으로 기본 데이터베이스를 확인합니다. Lake Formation에 기본 데이터베이스가 이미 있는 경우 다음 단계를 완료하여 기본 데이터베이스의 런타임 역할에 설명 권한을 부여하십시오.
- 데이터 소비자 계정의 Lake Formation 데이터 레이크 관리자 사용자로 Lake Formation 콘솔을 엽니다.
- 탐색 창에서 데이터베이스.
- 기본 데이터베이스를 선택하고 소유자 계정 ID가 데이터 소비자 계정(
111122223333
), 그리고 행위 메뉴, 선택 부여. - . 원칙 섹션, 고르다 IAM 사용자 및 역할.
- 럭셔리 IAM 사용자 및 역할선택한다.
sales-runtime-role
및human-resource-runtime-role
. - 럭셔리 LF-태그 또는 카탈로그 리소스, 고르다 명명된 데이터 카탈로그 리소스 그리고 기본값을 선택하세요 데이터베이스.
- . 데이터베이스 권한 섹션 데이터베이스 권한선택한다. 설명.
- 왼쪽 메뉴에서 부여.
공유 데이터베이스에 대한 리소스 링크 생성
데이터 생산자 AWS 계정이 공유한 데이터베이스 및 테이블 리소스에 액세스하려면 리소스 링크 데이터 소비자 AWS 계정에서. 리소스 링크는 로컬 또는 공유 데이터베이스나 테이블에 대한 링크인 데이터 카탈로그 객체입니다. 데이터베이스나 테이블에 대한 리소스 링크를 생성한 후에는 데이터베이스나 테이블 이름을 사용할 때마다 리소스 링크 이름을 사용할 수 있습니다. 이 단계에서는 런타임 역할 원칙에 대한 리소스 링크에 대한 권한을 부여합니다. 그런 다음 런타임 역할은 리소스 링크를 통해 공유 데이터베이스 및 기본 테이블의 데이터에 액세스합니다.
리소스 링크를 생성하려면 다음 단계를 완료하세요.
- 데이터 소비자 계정의 Lake Formation 데이터 레이크 관리자로 Lake Formation 콘솔을 엽니다.
- 탐색 창에서 데이터베이스.
- 선택
company
데이터베이스에서 소유자 계정 ID가 데이터 생산자 계정(123456789012
), 그리고 행위 메뉴, 선택 리소스 링크 생성. - 럭셔리 리소스 링크 이름, 리소스 링크의 이름을 입력합니다(예:
company-shared
). - 럭셔리 공유 데이터베이스의 지역, 지역을 선택합니다.
company
데이터 베이스. - 럭셔리 공유 데이터베이스에서 회사 데이터베이스를 선택하세요.
- 럭셔리 공유 데이터베이스의 소유자 ID, 데이터 생산자 계정의 계정 ID(
123456789012
). - 왼쪽 메뉴에서 만들기.
런타임 역할 원칙에 대한 리소스 링크에 대한 권한 부여
다음 단계를 사용하여 sales-runtime-role 및 human-resource-runtime-role에 대한 리소스 링크에 대한 권한을 부여합니다.
- 데이터 소비자 계정의 Lake Formation 데이터 레이크 관리자로 Lake Formation 콘솔을 엽니다.
- 탐색 창에서 데이터베이스.
- 리소스 링크(
company-shared
) 및 행위 메뉴, 선택 부여. - . 원리 섹션에서 선택 IAM 사용자 및 역할, 선택
sales-runtime-role
및human-resource-runtime-role
. - . LF-태그 또는 카탈로그 리소스 섹션 데이터베이스선택한다.
company-shared
. - . 리소스 링크 권한 섹션에서 선택 설명.
이를 통해 런타임 역할이 리소스 링크를 설명할 수 있습니다. 런타임 역할은 다른 원칙에 권한을 부여할 수 없어야 하므로 부여 가능한 권한을 선택하지 않습니다.
- 왼쪽 메뉴에서 부여.
런타임 역할 원칙에 테이블에 대한 권한 부여
테이블에 대한 권한을 부여해야 합니다. sales-runtime-role
및 human-resource-runtime-role
데이터 액세스를 허용하려면:
Human-resource-runtime-role
모든 열에 대한 설명 및 선택 권한이 있어야 합니다.employees
테이블에 대한 권한이 없습니다.products
테이블.Sales-runtime-role
열에 대한 선택 권한이 있어야 합니다.uid
,name
및department
FBI 증오 범죄 보고서employees
테이블의 모든 열에 대한 권한을 설명하고 선택합니다.products
테이블.
human-resource-runtime-role에 직원 테이블에 대한 권한 부여
다음 단계를 완료하십시오.
- 데이터 소비자 계정의 Lake Formation 데이터 레이크 관리자로 Lake Formation 콘솔을 엽니다.
- 탐색 창에서 데이터베이스.
- 리소스 링크(
company-shared
) 및 행위 메뉴, 선택 대상에 부여. - . 원칙 섹션, 고르다 IAM 사용자 및 역할다음을 선택
human-resource-runtime-role
. - . LF-태그 또는 카탈로그 리소스 섹션에서 선택 명명된 데이터 카탈로그 리소스 다음을 지정합니다.
- 럭셔리 데이터베이스선택한다.
company
. - 럭셔리 테이블¸ 선택
employees
.
- 럭셔리 데이터베이스선택한다.
- . 테이블 권한 섹션 테이블 권한, 고르다 설명 및 선택.
- . 데이터 권한 섹션에서 선택 모든 데이터 액세스.
- 왼쪽 메뉴에서 부여.
sales-runtime-role에 직원 테이블에 대한 권한 부여
다음 단계를 완료하십시오.
- 데이터 소비자 계정의 Lake Formation 데이터 레이크 관리자로 Lake Formation 콘솔을 엽니다.
- 탐색 창에서 데이터베이스.
- 리소스 링크(
company-shared
) 및 행위 메뉴, 선택 대상에 부여. - . 원칙 섹션, 고르다 IAM 사용자 및 역할다음을 선택
sales-runtime-role
. - . LF-태그 또는 카탈로그 리소스 섹션에서 선택 명명된 데이터 카탈로그 리소스 다음을 지정합니다.
- 럭셔리 데이터베이스선택한다.
company
. - 럭셔리 테이블선택한다.
employees
.
- 럭셔리 데이터베이스선택한다.
- . 테이블 권한 섹션 테이블 권한, 고르다 선택.
- . 데이터 권한 섹션에서 선택 열 기반 액세스.
- 선택 열 포함 선택하고
uid
,name
및department
열. - 왼쪽 메뉴에서 부여.
sales-runtime-role에 제품 테이블에 대한 권한 부여
다음 단계를 완료하십시오.
- 데이터 소비자 계정의 Lake Formation 데이터 레이크 관리자로 Lake Formation 콘솔을 엽니다.
- 탐색 창에서 데이터베이스.
- 리소스 링크(
company-shared
) 및 행위 메뉴, 선택 대상에 부여. - . 원칙 섹션, 고르다 IAM 사용자 및 역할다음을 선택
sales-runtime-role
. - . LF-태그 또는 카탈로그 리소스 섹션에서 선택 명명된 데이터 카탈로그 리소스 다음을 지정합니다.
- 럭셔리 데이터베이스선택한다.
company
. - 럭셔리 테이블선택한다.
products
.
- 럭셔리 데이터베이스선택한다.
- . 테이블 권한 섹션 테이블 권한, 고르다 선택 및 설명.
- . 데이터 권한 섹션에서 선택 모든 데이터 액세스.
- 왼쪽 메뉴에서 부여.
EMR Studio에 로그인하고 EMR Studio Workspace를 사용하십시오.
역할을 전환하세요 에 alice-role
or bob-role
콘솔에서 다른 웹 브라우저를 사용하여 액세스를 테스트합니다. 열기 EMRStudioLink
CloudFormation 스택 출력의 URL을 사용하여 각 역할로 EMR Studio에 로그인한 후 다음 단계를 완료하십시오.
- 왼쪽 메뉴에서 워크스페이스 탐색 창에서 선택하고 작업 공간 생성.
- 작업공간의 이름과 설명을 입력합니다.
- 왼쪽 메뉴에서 작업 공간 생성.
작업공간이 준비되면 JupyterLab이 포함된 새 탭이 자동으로 열립니다. 필요한 경우 브라우저에서 팝업을 활성화하세요.
- 선택 계산 탐색 창의 아이콘을 클릭하여 EMR Studio 작업 공간을 컴퓨팅 엔진에 연결합니다.
- 선택 EC2의 EMR 클러스터 for 컴퓨팅 유형.
- AWS CloudFormation으로 생성한 EMR 클러스터 ID를 선택합니다.
- 럭셔리 런타임 역할선택한다.
sales-runtime-role
다음 계정으로 로그인한 경우alice-role
. 선택human-resource-runtime-role
다음 계정으로 로그인한 경우bob-role
. - 왼쪽 메뉴에서 연결.
EMR Studio 작업 공간에서 코드 실행 및 데이터 액세스 확인
alice-role 또는 bob-role로 로그인한 후 PySpark 커널을 사용하여 EMR Studio 작업 공간에서 다음 코드를 실행합니다.
다른 역할을 사용하면 다른 결과가 표시됩니다.
Lake Formation의 데이터 액세스 구성에 따라 Alice는 다음에 대한 전체 데이터 액세스 권한을 갖습니다. products
테이블. 그녀는 급여를 제외한 모든 열을 볼 수 있습니다. employees
테이블.
Bob의 경우 Lake Formation의 데이터 액세스 구성에 따라 Bob은 다음에 대한 전체 데이터 액세스 권한을 갖게 됩니다. employees
하지만 그는 그 테이블에 접근할 수 없습니다. products
테이블.
정리
이 솔루션에 대한 실험을 마쳤으면 리소스를 정리합니다.
- 데이터 소비자 AWS 계정에서 생성된 EMR Studio 작업 공간을 중지하고 삭제합니다.
- S3 버킷의 모든 콘텐츠 삭제
EMRS3Bucket
데이터 소비자 AWS 계정에서. - 데이터 소비자 AWS 계정에서 CloudFormation 스택을 삭제합니다.
- S3 버킷의 모든 콘텐츠 삭제
DataLakeS3Bucket
데이터 생산자 AWS 계정에서. - 데이터 생산자 AWS 계정에서 CloudFormation 스택을 삭제합니다.
결론
이 게시물에서는 런타임 역할을 사용하여 Amazon EMR이 있는 EMR Studio 작업 공간에 연결하고 Lake Formation을 통해 계정 간 세분화된 데이터 액세스 제어를 적용하는 방법을 보여주었습니다. 또한 여러 EMR Studio 사용자가 각각 데이터에 대한 개별 액세스 수준과 일치하는 권한 범위의 런타임 역할을 사용하여 동일한 EMR 클러스터에 연결할 수 있는 방법을 시연했습니다.
Lake Formation과 함께 EMR Studio 작업 공간을 사용하는 방법에 대해 자세히 알아보려면 다음을 참조하십시오. 런타임 역할로 EMR Studio 작업 공간 실행. 이 새로운 기능을 사용해 보시고 질문이나 피드백이 있으면 저희에게 연락해 주시기 바랍니다!
저자에 관하여
애슐리 저우 AWS의 소프트웨어 개발 엔지니어입니다. 그녀는 데이터 분석과 분산 시스템에 관심이 있습니다.
스리비디아 파르타사라티 AWS Lake Formation 팀의 선임 빅 데이터 설계자입니다. 그녀는 AWS에서 분석 및 데이터 메시 솔루션을 구축하고 이를 커뮤니티와 공유하는 것을 즐깁니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- PlatoData.Network 수직 생성 Ai. 자신에게 권한을 부여하십시오. 여기에서 액세스하십시오.
- PlatoAiStream. 웹3 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 플라톤ESG. 탄소, 클린테크, 에너지, 환경, 태양광, 폐기물 관리. 여기에서 액세스하십시오.
- PlatoHealth. 생명 공학 및 임상 시험 인텔리전스. 여기에서 액세스하십시오.
- 출처: https://aws.amazon.com/blogs/big-data/use-iam-runtime-roles-with-amazon-emr-studio-workspaces-and-aws-lake-formation-for-cross-account-fine-grained-access-control/
- :있다
- :이다
- :아니
- $UP
- 100
- 107
- 11
- 20
- 7
- 8
- a
- 할 수 있는
- 소개
- 수락
- ACCESS
- 데이터에 액세스
- 액세스
- 얻기 쉬운
- 에 따르면
- 계정
- 계정
- 가로질러
- 후
- 앨리스
- All
- 수
- 수
- 수
- 이미
- 또한
- 아마존
- Amazon EC2
- 아마존 EMR
- Amazon Web Services
- an
- 분석
- 분석
- 및
- 어떤
- 아파치
- 아파치 스파크
- 어플리케이션
- 어플리케이션
- 신청
- 아키텍처
- 있군요
- AS
- At
- 붙이다
- 권한을 부여하다
- 자동적으로
- AWS
- AWS 클라우드 포메이션
- AWS 접착제
- AWS Lake 형성
- BE
- 때문에
- 속
- 사이에
- 큰
- 빅 데이터
- 곡물
- 두
- 브라우저
- 브라우저
- 건물
- 비자 면제 프로그램에 해당하는 국가의 시민권을 가지고 있지만
- by
- CAN
- 포착
- 목록
- 범주
- CD
- 인증
- 이전 단계로 돌아가기
- 검사
- 선택
- 왼쪽 메뉴에서
- 황어 무리
- 클러스터
- 암호
- 열
- 커뮤니티
- 회사
- 회사
- 완전한
- 완료
- 계산
- 구성
- 연결하기
- 커넥트
- 고려
- 구성
- 콘솔에서
- 소비자
- 이 포함되어 있습니다
- 함유량
- 제어
- 만들
- 만든
- 만들기
- 신임장
- Current
- 데이터
- 데이터 액세스
- 데이터 분석
- 데이터 분석
- 데이터 레이크
- 데이터 과학
- 데이터 과학자
- 데이터 공유
- 데이터베이스
- 데이터베이스
- 태만
- 밝히다
- 보여
- 시연
- 학과
- 배포
- 설명
- 설명
- 개발
- 개발
- 차이
- 다른
- 직접
- 분산
- 분산 시스템
- do
- 하지 않습니다
- 말라
- 아래 (down)
- 마다
- 종업원
- 직원
- 가능
- 가능
- 격려
- 암호화
- 억지로 시키다
- 엔진
- 기사
- 엔지니어링
- 엔지니어
- 엔진
- 엔터 버튼
- 기업
- 환경
- 에테르 (ETH)
- 예
- 외
- 설명
- 외부
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
- 파일
- 필터링
- 먼저,
- 수행원
- 다음
- 럭셔리
- 형성
- 에
- 가득 찬
- 충분히
- 기능
- 주어진
- Go
- 지배하다
- 부여
- 부여
- 그룹
- 했다
- 행복한
- 있다
- he
- 도움이
- 방법
- How To
- HTML
- HTTP
- HTTPS
- 사람의
- 인적 자원
- 인사부
- IAM
- ID
- 통합 인증
- if
- 설명하다
- 구현
- in
- 포함
- 포함
- 개인
- 정보
- 인프라
- 예
- 명령
- 통합 된
- 완성
- 관심있는
- 소개
- 초대장
- IT
- 작업
- JPG
- 라벨
- 소금물
- 호수
- 넓은
- 대기업
- 시작
- 배우다
- 레벨
- 제한
- LINK
- 모래밭
- 지방의
- 위치
- 위치
- 기계
- 확인
- 제작
- 관리
- 관리
- 구축
- 관리하다
- .
- 어울리는
- 기구
- 메뉴
- 조화
- 수도
- 배우기
- 움직임
- 여러
- 절대로 필요한 것
- name
- 이름
- 이동
- 카테고리
- 필요한
- 필요
- 필요
- 신제품
- 다음 것
- 아니
- 수첩
- 노트북
- 지금
- 대상
- of
- 자주
- on
- 만
- 열 수
- 운영
- or
- 기타
- 우리의
- 아웃
- 출력
- 소유자
- 빵
- 통로
- 대기
- 허가
- 권한
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 정책
- 게시하다
- 힘
- 전제 조건
- 너무 이른
- 교장
- 교장
- 원칙
- 원칙
- 제작자
- 프로덕트
- 제품
- 프로필
- 프로필
- 제공
- 제공
- 제공
- 목적
- Python
- 쿼리
- 문의
- R
- 램
- 살갗이 벗어 진
- 원시 데이터
- 준비
- 감소
- 참조
- 지방
- 회원가입
- 등록된
- 등록
- 공개
- 의뢰
- 의지
- 제품 자료
- 결과
- 결과
- 직위별
- 역할
- 달리기
- 달리는
- 봉급
- 판매
- 같은
- 스칼라
- 과학
- 과학자
- 과학자
- 스크립트
- 섹션
- 섹션
- 참조
- 선택된
- 연장자
- 별도의
- 섬기는 사람
- 서비스
- 세션
- 세트
- 설정
- 설정
- 설치
- 공유
- 공유
- 공유
- 공유
- 그녀
- 영상을
- 보여
- 기호
- 서명
- 로그인
- 단순, 간단, 편리
- 단일
- 소프트웨어
- 소프트웨어 개발
- 판매
- 해결책
- 솔루션
- 지우면 좋을거같음 . SM
- 불꽃
- 스택
- 단계
- 단계
- 저장
- 저장
- 저장
- 상점
- 똑 바른
- 스튜디오
- 제출
- 이러한
- 공급
- 지원
- 시스템은
- 테이블
- TAG
- 팀
- 이 템플릿
- 일시적인
- test
- 그
- XNUMXD덴탈의
- 그들의
- 그들
- 그때
- 따라서
- 이
- 그
- 을 통하여
- 타임 라인
- 에
- 검색을
- 운송
- 시도
- 두
- 유형
- 일반적으로
- ui
- 아래에
- 밑에 있는
- 업로드
- URL
- us
- 사용
- 익숙한
- 사용자
- 사용자
- 사용
- 사용
- 가치
- 확인
- 버전
- 를 통해
- 관측
- 시각화
- 걷다
- we
- 웹
- 웹 브라우저
- 웹 서비스
- 했다
- 언제
- 어느
- 모든
- 의지
- 과
- 이내
- 일하는
- 겠지
- 쓰다
- 쓴
- 얌
- 당신
- 너의
- 제퍼 넷
- 지퍼