권한 예제 시나리오 - AWS Lake Formation

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

권한 예제 시나리오

다음 시나리오는 데이터 액세스를 보호하기 위한 권한을 설정하는 방법을 보여 주는 데 도움이 됩니다.AWS Lake Formation.

셜리는 데이터 관리자입니다. 그녀는 회사에 데이터 레이크를 설치하려고 합니다.AnyCompany. 현재 모든 데이터는 Amazon S3에 저장되어 있습니다. John은 마케팅 관리자이며 고객 구매 정보 (에 포함) 에 대한 쓰기 권한이 필요합니다.s3://customerPurchases). 마케팅 분석가인 디에고가 이번 여름에 John과 함께합니다. John에게는 Shirley의 개입 없이 데이터에 대한 쿼리를 수행할 수 있는 액세스 권한을 Diego에게 부여할 수 있는 기능이 필요합니다.

재무 부서의 Mateo는 쿼리 회계 데이터에 액세스할 수 있어야 합니다 (예:s3://transactions). 그는 데이터베이스의 테이블에 있는 트랜잭션 데이터를 쿼리하려고 합니다 (Finance_DB) 재무 팀에서 사용합니다. 그의 매니저인 Arnav가 그에게 다음 항목에 대한 액세스 권한을 부여할 수 있습니다.Finance_DB. 그는 회계 데이터를 수정할 수 없어야 하지만 데이터를 예측에 적합한 형식 (스키마) 으로 변환하는 기능이 필요합니다. 이 데이터는 별도의 버킷에 저장됩니다 (s3://financeForecasts) 수정할 수 있습니다.

요약하면 다음과 같습니다.

  • 셜리는 데이터 레이크 관리자입니다.

  • 존은 다음을 요구합니다CREATE_DATABASECREATE_TABLE데이터 카탈로그에 새 데이터베이스 및 테이블을 만들 수 있는 권한

  • 존은 또한 다음을 요구합니다.SELECT,INSERT, 및DELETE그가 만든 테이블에 대한 권한.

  • 디에고는 다음을 요구합니다SELECT테이블에 대한 쿼리 실행 권한

의 직원들AnyCompany다음 작업을 수행하여 권한을 설정합니다. 이 시나리오에 표시된 API 작업은 명확성을 위해 단순화된 구문을 보여줍니다.

  1. 셜리는 고객의 구매 정보가 포함된 Amazon S3 경로를 레이크 포메이션에 등록합니다.

    RegisterResource(ResourcePath("s3://customerPurchases"), false, Role_ARN )
  2. 셜리는 존에게 고객 구매 정보가 포함된 Amazon S3 경로에 대한 액세스 권한을 부여합니다.

    GrantPermissions(John, S3Location("s3://customerPurchases"), [DATA_LOCATION_ACCESS]) )
  3. 셜리는 존에게 데이터베이스 생성 권한을 부여합니다.

    GrantPermissions(John, catalog, [CREATE_DATABASE])
  4. John이 데이터베이스를 만듭니다.John_DB. John은 자동으로CREATE_TABLE그 데이터베이스에 대한 권한은 그가 만들었으니까요.

    CreateDatabase(John_DB)
  5. John이 테이블을 만듭니다.John_Table가리키며s3://customerPurchases. 그는 테이블을 만들었기 때문에 테이블에 대한 모든 권한을 가지며 테이블에 대한 권한을 부여할 수 있습니다.

    CreateTable(John_DB, John_Table)
  6. John은 분석가인 Diego에게 테이블 액세스를 허용합니다.John_Table.

    GrantPermissions(Diego, John_Table, [SELECT])
  7. John은 분석가인 Diego에게 다음 항목에 대한 액세스를 허용합니다.s3://customerPurchases/London/. 셜리가 이미 등록했기 때문입니다.s3://customerPurchases, 하위 폴더는 레이크 포메이션에 등록되어 있습니다.

    GrantDataLakePrivileges( 123456789012/datalake, Diego, [DATA_LOCATION_ACCESS], [], S3Location("s3://customerPurchases/London/") )
  8. John은 분석가인 Diego에게 데이터베이스에서 테이블을 만들도록 맡깁니다.John_DB.

    GrantDataLakePrivileges( 123456789012/datalake, Diego, John_DB, [CREATE_TABLE], [] )
  9. 디에고는 테이블을 만듭니다.John_DB...에서s3://customerPurchases/London/그리고 자동으로ALTER,DROP,SELECT,INSERT, 및DELETE사용 권한.

    CreateTable( 123456789012/datalake, John_DB, Diego_Table )