कस्टम रोल्स और सेकेंडरी रोल्स

Snowflake Management, Governance & Collaboration

Emily Melhuish

Technical Curriculum Developer, Snowflake

फ्लैट रोल परिदृश्यों की समस्या

विभिन्न प्रिविलेज़ की ओर इशारा करते विश्लेषकों की सूची.

Snowflake Management, Governance & Collaboration

एक्सेस रोल्स बनाम फंक्शनल रोल्स

एक स्प्लिट जो एक्सेस और फंक्शनल रोल्स के बीच अंतर दिखाता है, इनहेरिटेड रोल्स के संदर्भ में

  • एक्सेस रोल्स में विशिष्ट ऑब्जेक्ट्स पर विशिष्ट प्रिविलेज़ होते हैं
  • फंक्शनल रोल्स ऊपर होते हैं और एक्सेस रोल्स से इनहेरिट करते हैं
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 Management, Governance & Collaboration

यह कैसे काम करता है

व्यवहार में यह कैसे काम करता है

  • एक्सेस रोल्स में विशिष्ट प्रिविलेज़ होते हैं
  • फंक्शनल रोल्स एक या अधिक एक्सेस रोल्स से इनहेरिट करते हैं
  • उपयोगकर्ताओं को फंक्शनल रोल्स असाइन किए जाते हैं
Snowflake Management, Governance & Collaboration

SQL में हाइरार्की बनाना

चरण 1: एक एक्सेस रोल बनाएँ और उसे ऑब्जेक्ट प्रिविलेज़ ग्रांट करें

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;

चरण 2: एक फंक्शनल रोल बनाएँ और एक्सेस रोल इनहेरिट करें

CREATE ROLE analyst;
GRANT ROLE credit_read TO ROLE analyst;

चरण 3: उपयोगकर्ता को फंक्शनल रोल असाइन करें

GRANT ROLE analyst TO USER ana;
Snowflake Management, Governance & Collaboration

खाता-रोल्स बनाम डेटाबेस-रोल्स

खाता रोल्स डेटाबेस रोल्स
दायरा किसी भी डेटाबेस या स्कीमा में फैले एक ही डेटाबेस तक सीमित
उपयोगकर्ताओं को असाइन? हाँ नहीं — खाते के रोल को ग्रांट किए जाते हैं
SQL CREATE ROLE CREATE DATABASE ROLE
उपयोग मामला खाते में जॉब फ़ंक्शन्स को दर्शाना एक डेटाबेस के भीतर ऑब्जेक्ट एक्सेस बंडल करना
Snowflake Management, Governance & Collaboration

सेकेंडरी रोल्स

  • प्रत्येक सत्र में प्राथमिक रोल USE ROLE <Role Name> से सेट होता है
  • डिफ़ॉल्ट रूप से सेकेंडरी रोल्स ALL होते हैं: आपके सभी असाइन किए गए रोल सक्रिय
  • किसी विशेष सबसेट को सक्रिय करने के लिए USE SECONDARY ROLES <role_name> उपयोग करें

  • केवल प्राथमिक रोल तक सीमित करने हेतु USE SECONDARY ROLES NONE

सत्र में सेकेंडरी रोल्स नियंत्रित करें

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 Management, Governance & Collaboration

फ्यूचर ग्रांट्स

इस स्कीमा में जो भी नई टेबल जुड़ें, उन पर SELECT स्वतः ग्रांट करें

GRANT SELECT ON FUTURE TABLES
  IN SCHEMA core
  TO ROLE credit_read;
Snowflake Management, Governance & Collaboration

Ayo berlatih!

Snowflake Management, Governance & Collaboration

Preparing Video For Download...