부작용에 따른 변화(치명적

3197 단어 Snowflake
이 기사는 무엇입니까?
Snowflake Advent Calendar 2021 8일째 보도다.
오늘 기사는 부작용이 어떻게 되는지 쓸 거예요.
부작용
Snowflak에 보조 기능이 있습니다.
  • 참조: 2021년 9월 출시되는 Snowflak의 새로운 기능
  • 부작용을 이용한 직무 관리 간소화
    일반적으로 부작용을 사용할 수 있고 사용자 세션에서 사용자에게 부여된 모든 역할을 사용할 수 있습니다.따라서 사용자는 필요한 작업과 권한에 따라 캐릭터를 바꿀 필요가 없고, 주 역할과 부작용에 부여된 집합 권한을 사용하여 세션의 대상에게 SQL 동작을 수행할 수 있다.이용하면 안전모델에 여러 역할을 하는 조직을 위주로 여러 조직에서 직무관리를 간소화할 수 있다.그 밖에 교차 데이터베이스, 예를 들어 모든 데이터베이스에서 대상에 대한 접근 권한이 서로 다른 작용을 한다.Pinterst사의 부작용 활용법에 관해서는'What's New:Snowflake의 안전성'을 보십시오.
    한 마디로 하면 이 기능은 사용자와 관련된 모든 캐릭터를 동시에 사용할 수 있는 기능이다.
    문장에서 집합 권한이라는 단어로 표시하다.
    언뜻 보기에는 부작용이라는 이름USE ROLE이기 때문에 그 역할에 부작용을 하나 더 넣어야 하나?이렇게 생각하는 사람이 많으니 주의하세요.그 실제 상황은 사용자와 관련된 모든 역할을 동시에 수행할 수 있는 기능이다.
    부작용 이전의 세계
    ■ 架空のストーリー
    社員XさんはBIやデータ分析を主に行うユーザXを使っています。
    A社から委託されているデータの分析と、B社から委託されているデータの分析を行うので
    それぞれAロールと、BロールをGRANTされています。
    もちろんA社とB社は別の会社であるため、JOINなどで紐付けることは禁止されています。
    Snowflakeの管理者であるあなたは、XさんにAロールと、Bロールを渡して安心しています。
    なぜなら、セッション内ではロールが同時に複数行使されることはなく、
    A社のデータとB社のデータは絶対にJOINできないのですから…。
    
    어때요?
    너는 상술한 상황이 있다고 생각하지 않니?
    물론 CSV 등으로 데이터를 다운로드하면 로컬에서 A사 데이터와 B사 데이터를 연계할 수 있다.
    하지만 부작용 이전의 세계에서는 적어도 스노우플랙에서는 할 수 없다.
    부작용 후의 세계
    부작용을 사용하면 권한을 가로지르는 표를 쉽게 참고할 수 있다는 점에 주목한 사람이 있을 것 같다.
    예를 들어 아까의 예에서 할 수 있다SELECT * FROM A社のテーブル, B社のテーブル;.
    이는 이전 세계에서는 권한 등급이 높은 캐릭터만 할 수 있었다.
    실제로 해 보다
    A, B 볼륨을 만들어 각각 A, B 테이블에 GRANT를 얹는다.
    A권show tables;으로 만든 곳.

    B권show tables;의 곳

    이렇게 각 캐릭터가 참조할 수 있는 테이블이 다르죠?
    이 상태select * from A,B;에서도 다음과 같은 권한 오류가 발생합니다.

    부작용 이전의 행동이다.
    그럼 부작용을 사용해 보세요.(이 기능은 모든 사용자에게 적용됩니다.USE SECONDARY ROLES ALL;그리고 방금 틀린 것을 실행해 보세요select * from A,B;.

    이번 실행은 성공했군.
    지금까지의 권한 등급 설계가 취약하게 무너진 순간이었다.
    그럼 어떡하지?
  • 먼저 사용자를 분할합니다.사용자로 권한을 나누자(RBAC의 죽음).하지만 SSO 상황에서는 어려운 선택이었다.물리적인 사람은 여러 사람의 ID가 필요하기 때문이다.나는 일반 기업들이 이것을 받아들일 수 없다고 생각한다.
  • 부작용을 피하기 위해 운용한다.여기 있습니다.나는 이것이 답이라고 생각한다.
  • Snowlert를 사용하여 부작용의 실행을 체크합니다.10분 정도 늦겠지만 검출이 가능할 거예요.(Snowlet 쓰기 언제)
  • 부작용을 전제로 한 최선의 실천
    현재 Snowflake의 기능 중 가장 골치 아픈 기능은 바로 이 부작용이다.
    나는 가장 좋은 실천 방법을 생각해 내지 못하겠다.
    나는 누군가가 단순히 모르고 좋은 해결 방안을 가지고 있을지도 모른다고 생각한다.
    오시면 꼭 알려주세요.

    좋은 웹페이지 즐겨찾기