AWS Redshift Spectrum과 view의 조합에 대한 액세스 권한 확인

1609 단어 PostgreSQLredshiftAWS
공식 문서에서 이해하기 쉬운 설명을 찾을 수 없었기 때문에 실제로 Redshift를 움직여 시도한 결과를 요약했습니다. 시도한 결과이므로, 다르면 미안해.



다이어그램의 세 줄
  • 통상의 Redshift 내의 table에 view를 통한 액세스 (PostgreSQL에서도 마찬가지)
  • Redshift Spectrum 외부 스키마 테이블에 직접 액세스
  • Redshift Spectrum 외부 스키마 테이블에보기를 통해 액세스

  • 1. 통상의 Redshift내의 table에 view를 통해 액세스(PostgreSQL에서도 마찬가지)



    첫째, DB 사용자는 view에 대한 SELECT 권한이 필요합니다. view를 작성한 소유자라면 SELECT 권한이 있습니다. view를 작성한 것이 다른 DB user인 경우 소유자를 변경하거나 GRANT해야 합니다.

    그런 다음 뷰의 소유자는 테이블에 대한 SELECT 권한이 필요합니다. 테이블을 만든 소유자라면 SELECT 권한이 있습니다. 테이블을 작성한 것이 다른 DB user인 경우 소유자를 변경하거나 GRANT해야 합니다.

    이러한 조건을 충족하면 DB 사용자는 테이블에 대한 SELECT 권한이 없어도 뷰를 통해 table에 있는 데이터에 액세스할 수 있습니다.

    이것은 PostgreSQL에서도 마찬가지입니다.

    2. Redshift Spectrum 외부 스키마 테이블에 직접 액세스



    DB user는 Spectrum 외부 스키마의 USAGE 권한이 필요합니다. 외부 스키마를 작성한 소유자라면 USAGE 권한이 있습니다. 외부 스키마를 작성한 것이 다른 DB user인 경우 소유자를 변경하거나 GRANT해야 합니다.

    3. Redshift Spectrum 외부 스키마 테이블에 view를 통해 액세스



    첫째, DB 사용자는 view에 대한 SELECT 권한이 필요합니다. view를 작성한 소유자라면 SELECT 권한이 있습니다. view를 작성한 것이 다른 DB user인 경우 소유자를 변경하거나 GRANT해야 합니다.

    그런 다음 view를 참조하는 DB user는 외부 스키마의 USAGE 권한이 필요합니다. 외부 스키마를 작성한 소유자라면 USAGE 권한이 있습니다. 외부 스키마를 작성한 것이 다른 DB user인 경우 소유자를 변경하거나 GRANT해야 합니다.

    1과 2의 사실에서 보면 3의 경우 외부 스키마의 USAGE 권한이 필요한 것은 view의 소유자라고 생각했지만 view의 소유자는 관계없이 view를 참조하는 DB user가 직접 외부 스키마 에 대한 권한이 필요합니다.

    그런가. . .

    좋은 웹페이지 즐겨찾기