Özel Roller ve İkincil Roller

Snowflake Yönetimi, Yönetişimi ve İşbirliği

Emily Melhuish

Technical Curriculum Developer, Snowflake

Düz Rol Senaryolarının Sorunu

Farklı ayrıcalıkları işaret eden analistlerin listesi.

Snowflake Yönetimi, Yönetişimi ve İşbirliği

Erişim Rolleri vs Fonksiyonel Roller

Erişim ve fonksiyonel roller arasındaki farkın kalıtım açısından karşılaştırması

  • Erişim rolleri, belirli nesnelerde belirli ayrıcalıkları tutar
  • Fonksiyonel roller, erişim rollerinin üzerine oturur ve onlardan devralır
1 [Snowflake: Aligning Object Access with Business Functions](https://docs.snowflake.com/en/user-guide/security-access-control-considerations#aligning-object-access-with-business-functions)
Snowflake Yönetimi, Yönetişimi ve İşbirliği

Nasıl Çalışır

Uygulamada nasıl çalışır

  • Erişim rolleri belirli ayrıcalıkları tutar
  • Fonksiyonel roller bir veya daha fazla erişim rolünden devralır
  • Kullanıcılar fonksiyonel rollere atanır
Snowflake Yönetimi, Yönetişimi ve İşbirliği

SQL ile Hiyerarşi Kurma

Adım 1: Bir erişim rolü oluşturun ve nesne ayrıcalıklarını verin

CREATE ROLE credit_read;
GRANT USAGE ON DATABASE claro_db 
TO ROLE credit_read;
GRANT USAGE ON SCHEMA claro_db.core 
TO ROLE credit_read;
GRANT SELECT ON TABLE core.credit_scores
  TO ROLE credit_read;

Adım 2: Bir fonksiyonel rol oluşturun ve erişim rolünü devralın

CREATE ROLE analyst;
GRANT ROLE credit_read TO ROLE analyst;

Adım 3: Fonksiyonel rolü bir kullanıcıya atayın

GRANT ROLE analyst TO USER ana;
Snowflake Yönetimi, Yönetişimi ve İşbirliği

Hesap Rolleri vs Veritabanı Rolleri

Hesap Rolleri Veritabanı Rolleri
Kapsam Herhangi bir veritabanı veya şemayı kapsar Tek bir veritabanıyla sınırlıdır
Kullanıcılara atanır mı? Evet Hayır - bunun yerine bir hesap rolüne verilir
SQL CREATE ROLE CREATE DATABASE ROLE
Kullanım Hesap genelinde iş fonksiyonlarını temsil eder Tek bir veritabanındaki nesne erişimlerini paketler
Snowflake Yönetimi, Yönetişimi ve İşbirliği

İkincil Roller

  • Her oturumda bir birincil rol USE ROLE <Role Name> ile ayarlanır
  • Varsayılan olarak ikincil roller ALL’dır: atanan tüm rolleriniz aktiftir
  • Belirli bir alt küme için USE SECONDARY ROLES <role_name> kullanın

  • Yalnızca birincil role kısıtlamak için USE SECONDARY ROLES NONE

Bir oturumda ikincil rolleri yönetin

USE SECONDARY ROLES ALL;
USE SECONDARY ROLES <role_name>;
USE SECONDARY ROLES NONE;
1 [Snowflake BCR-1692: Secondary Roles Default Change](https://docs.snowflake.com/en/release-notes/bcr-bundles/2024_08/bcr-1692)
Snowflake Yönetimi, Yönetişimi ve İşbirliği

Gelecek Yetkilendirmeleri

Bu şemaya eklenen yeni tablolara otomatik SELECT yetkisi verin

GRANT SELECT ON FUTURE TABLES
  IN SCHEMA core
  TO ROLE credit_read;
Snowflake Yönetimi, Yönetişimi ve İşbirliği

Hadi pratik yapalım!

Snowflake Yönetimi, Yönetişimi ve İşbirliği

Preparing Video For Download...