기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
권한 예제 시나리오
다음 시나리오는 데이터 액세스를 보호하기 위한 권한을 설정하는 방법을 보여 주는 데 도움이 됩니다.AWS Lake Formation.
셜리는 데이터 관리자입니다. 그녀는 회사에 데이터 레이크를 설치하려고 합니다.AnyCompany. 현재 모든 데이터는 Amazon S3에 저장되어 있습니다. John은 마케팅 관리자이며 고객 구매 정보 (에 포함) 에 대한 쓰기 권한이 필요합니다.s3://customerPurchases
). 마케팅 분석가인 디에고가 이번 여름에 John과 함께합니다. John에게는 Shirley의 개입 없이 데이터에 대한 쿼리를 수행할 수 있는 액세스 권한을 Diego에게 부여할 수 있는 기능이 필요합니다.
재무 부서의 Mateo는 쿼리 회계 데이터에 액세스할 수 있어야 합니다 (예:s3://transactions
). 그는 데이터베이스의 테이블에 있는 트랜잭션 데이터를 쿼리하려고 합니다 (Finance_DB
) 재무 팀에서 사용합니다. 그의 매니저인 Arnav가 그에게 다음 항목에 대한 액세스 권한을 부여할 수 있습니다.Finance_DB
. 그는 회계 데이터를 수정할 수 없어야 하지만 데이터를 예측에 적합한 형식 (스키마) 으로 변환하는 기능이 필요합니다. 이 데이터는 별도의 버킷에 저장됩니다 (s3://financeForecasts
) 수정할 수 있습니다.
요약하면 다음과 같습니다.
-
셜리는 데이터 레이크 관리자입니다.
-
존은 다음을 요구합니다
CREATE_DATABASE
과CREATE_TABLE
데이터 카탈로그에 새 데이터베이스 및 테이블을 만들 수 있는 권한 -
존은 또한 다음을 요구합니다.
SELECT
,INSERT
, 및DELETE
그가 만든 테이블에 대한 권한. -
디에고는 다음을 요구합니다
SELECT
테이블에 대한 쿼리 실행 권한
의 직원들AnyCompany다음 작업을 수행하여 권한을 설정합니다. 이 시나리오에 표시된 API 작업은 명확성을 위해 단순화된 구문을 보여줍니다.
-
셜리는 고객의 구매 정보가 포함된 Amazon S3 경로를 레이크 포메이션에 등록합니다.
RegisterResource(ResourcePath("s3://customerPurchases"), false, Role_ARN )
-
셜리는 존에게 고객 구매 정보가 포함된 Amazon S3 경로에 대한 액세스 권한을 부여합니다.
GrantPermissions(John, S3Location("s3://customerPurchases"), [DATA_LOCATION_ACCESS]) )
-
셜리는 존에게 데이터베이스 생성 권한을 부여합니다.
GrantPermissions(John, catalog, [CREATE_DATABASE])
-
John이 데이터베이스를 만듭니다.
John_DB
. John은 자동으로CREATE_TABLE
그 데이터베이스에 대한 권한은 그가 만들었으니까요.CreateDatabase(John_DB)
-
John이 테이블을 만듭니다.
John_Table
가리키며s3://customerPurchases
. 그는 테이블을 만들었기 때문에 테이블에 대한 모든 권한을 가지며 테이블에 대한 권한을 부여할 수 있습니다.CreateTable(John_DB, John_Table)
-
John은 분석가인 Diego에게 테이블 액세스를 허용합니다.
John_Table
.GrantPermissions(Diego, John_Table, [SELECT])
John은 분석가인 Diego에게 다음 항목에 대한 액세스를 허용합니다.
s3://customerPurchases/London/
. 셜리가 이미 등록했기 때문입니다.s3://customerPurchases
, 하위 폴더는 레이크 포메이션에 등록되어 있습니다.GrantDataLakePrivileges( 123456789012/datalake, Diego, [DATA_LOCATION_ACCESS], [], S3Location("s3://customerPurchases/London/") )
John은 분석가인 Diego에게 데이터베이스에서 테이블을 만들도록 맡깁니다.
John_DB
.GrantDataLakePrivileges( 123456789012/datalake, Diego, John_DB, [CREATE_TABLE], [] )
디에고는 테이블을 만듭니다.
John_DB
...에서s3://customerPurchases/London/
그리고 자동으로ALTER
,DROP
,SELECT
,INSERT
, 및DELETE
사용 권한.CreateTable( 123456789012/datalake, John_DB, Diego_Table )