Bird
Raised Fist0
Snowflakecloud~10 mins

Reader accounts for non-Snowflake users - Step-by-Step Execution

Choose your learning style10 modes available
Process Flow - Reader accounts for non-Snowflake users
Create Reader Account
↓
Grant Access to Data
↓
Share Data with Reader Account
↓
Non-Snowflake User Connects
↓
Access Shared Data
↓
Use Data Without Full Snowflake Account
This flow shows how a reader account is created and shared with non-Snowflake users so they can access data without needing a full Snowflake account.
Execution Sample
Snowflake
CREATE READER ACCOUNT reader_acc;
CREATE SHARE my_share;
GRANT USAGE ON DATABASE shared_db TO SHARE my_share;
GRANT SELECT ON ALL TABLES IN SCHEMA shared_db.public TO SHARE my_share;
ALTER READER ACCOUNT reader_acc ADD SHARE my_share;
This code creates a reader account, creates a share, grants usage on the database to the share, grants select permissions on tables, and links the share to the reader account.
Process Table
StepActionResultNotes
1CREATE READER ACCOUNT reader_accReader account 'reader_acc' createdReader account is a special Snowflake account for external users
2CREATE SHARE my_shareShare 'my_share' createdShare is container for data to share
3GRANT USAGE ON DATABASE shared_db TO SHARE my_sharemy_share can use shared_dbAllows access to database objects
4GRANT SELECT ON ALL TABLES IN SCHEMA shared_db.public TO SHARE my_shareSelect granted on all tablesAllows read access to tables
5ALTER READER ACCOUNT reader_acc ADD SHARE my_sharemy_share linked to reader_accReader account can now access shared data
6Non-Snowflake user connects using reader_accUser accesses shared dataNo full Snowflake account needed
7User queries dataData returnedRead-only access confirmed
8EndProcess completeReader account enables external data access
💡 Reader account setup complete; non-Snowflake users can now access shared data read-only
Status Tracker
VariableStartAfter Step 1After Step 2After Step 3After Step 5Final
reader_accNoneCreatedCreatedCreatedLinked to shareActive with share access
my_shareNoneNoneCreatedDatabase addedLinked to reader_accActive and shared
shared_dbExistsExistsExistsAdded to shareAdded to shareShared with reader_acc
Key Moments - 3 Insights
Why does the reader account not need a full Snowflake license?
Because the reader account is a special account type that only allows read-only access to shared data, it does not require a full Snowflake user license. This is shown in execution_table rows 1 and 6.
How does the reader account get access to the data?
The share is granted usage on the database and the reader account is linked to the share. This is shown in execution_table rows 3 and 5.
Can the reader account modify the data it accesses?
No, the reader account only has SELECT permissions on the shared tables, so it can only read data, not modify it. This is shown in execution_table row 4.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, at which step is the share linked to the reader account?
AStep 5
BStep 3
CStep 2
DStep 4
💡 Hint
Check the 'Action' column for 'ALTER READER ACCOUNT' in the execution_table.
According to variable_tracker, what is the state of 'reader_acc' after Step 2?
ALinked to share
BOnly created
CCreated and granted DB usage
DInactive
💡 Hint
Look at the 'reader_acc' row and the 'After Step 2' column in variable_tracker.
If SELECT permission was not granted on the tables, what would happen when the non-Snowflake user queries data?
AUser would get read-only access anyway
BUser could modify data
CUser would get an error due to lack of permissions
DUser would create a new share
💡 Hint
Refer to execution_table row 4 about granting SELECT permissions.
Concept Snapshot
Reader accounts let non-Snowflake users access shared data without full accounts.
Create a reader account.
Create a share, grant USAGE on database and SELECT on tables to the share.
Link the share to the reader account.
Users connect via reader account for read-only access.
Full Transcript
This visual execution trace shows how to set up a Snowflake reader account for non-Snowflake users. First, a reader account is created. Then, a share is created. Usage on the database is granted to the share. SELECT permissions are granted on all tables in the schema to the share. The share is then linked to the reader account. Non-Snowflake users connect using this reader account and can query the shared data with read-only access. The variable tracker shows the state changes of the reader account, share, and database through these steps. Key moments clarify why reader accounts do not need full licenses, how access is granted, and that data modification is not allowed. The quiz questions test understanding of the linking step, variable states, and permission effects.

Practice

(1/5)
1. What is the main purpose of a Reader Account in Snowflake?
easy
A. To monitor Snowflake account usage and billing
B. To allow non-Snowflake users to access shared data securely
C. To manage user permissions within a Snowflake account
D. To create a backup of Snowflake data

Solution

  1. Step 1: Understand the role of Reader Accounts

    Reader accounts are designed to let users without Snowflake accounts access shared data safely.
  2. Step 2: Compare options with this purpose

    The options for monitoring usage, creating backups, and managing user permissions describe other Snowflake features unrelated to Reader Accounts.
  3. Final Answer:

    To allow non-Snowflake users to access shared data securely -> Option B
  4. Quick Check:

    Reader Account purpose = secure data access for non-users [OK]
Hint: Reader accounts = access for users without Snowflake [OK]
Common Mistakes:
  • Confusing Reader accounts with user management
  • Thinking Reader accounts are for backups
  • Assuming Reader accounts monitor billing
2. Which SQL command is used to create a Reader Account from an existing share in Snowflake?
easy
A. CREATE READER ACCOUNT
B. CREATE ACCOUNT READER
C. CREATE READER ACCOUNT FROM SHARE
D. CREATE SHARE READER ACCOUNT

Solution

  1. Step 1: Recall the correct syntax for creating Reader Accounts

    The correct command is CREATE READER ACCOUNT ... FROM SHARE ... followed by parameters.
  2. Step 2: Eliminate incorrect syntax options

    Only CREATE READER ACCOUNT FROM SHARE matches the correct syntax including the FROM SHARE clause.
  3. Final Answer:

    CREATE READER ACCOUNT FROM SHARE -> Option C
  4. Quick Check:

    Command to create Reader Account from share = CREATE READER ACCOUNT FROM SHARE [OK]
Hint: Remember exact phrase: CREATE READER ACCOUNT FROM SHARE [OK]
Common Mistakes:
  • Omitting FROM SHARE clause
  • Swapping word order
  • Combining CREATE and SHARE incorrectly
3. Given the SQL snippet:
CREATE READER ACCOUNT partner_reader FROM SHARE partner_share;

What is the expected result of this command?
medium
A. Grants partner_share access to the partner_reader account
B. Creates a new share named partner_reader from the account partner_share
C. Deletes the share named partner_share
D. Creates a new Snowflake account named partner_reader with access to partner_share data

Solution

  1. Step 1: Analyze the CREATE READER ACCOUNT command

    This command creates a new reader account named partner_reader that can access data shared via partner_share.
  2. Step 2: Understand the relationship between reader account and share

    The reader account is a new Snowflake account for external users, linked to the existing share.
  3. Final Answer:

    Creates a new Snowflake account named partner_reader with access to partner_share data -> Option D
  4. Quick Check:

    CREATE READER ACCOUNT creates account with share access [OK]
Hint: Reader account = new account accessing existing share [OK]
Common Mistakes:
  • Confusing share creation with reader account creation
  • Thinking the share is deleted
  • Mixing up grant and create commands
4. You run this command:
CREATE READER ACCOUNT my_reader FROM SHARE;

But get an error. What is the likely cause?
medium
A. Missing share name after FROM SHARE
B. Reader accounts cannot be created from shares
C. Syntax requires USING keyword before share name
D. Reader account name cannot contain underscores

Solution

  1. Step 1: Check the command syntax

    The command must specify the share name after FROM SHARE. Here, it is missing.
  2. Step 2: Verify other options

    Reader accounts can be created from shares, no USING keyword is needed, and underscores are allowed in names.
  3. Final Answer:

    Missing share name after FROM SHARE -> Option A
  4. Quick Check:

    FROM SHARE must be followed by share name [OK]
Hint: Always specify share name after FROM SHARE [OK]
Common Mistakes:
  • Omitting share name
  • Adding unnecessary keywords
  • Assuming naming restrictions that don't exist
5. A company wants to share data with a partner who does not have a Snowflake account. Which steps correctly describe how to enable this using Reader Accounts?
hard
A. Create a share with the data, then create a Reader Account from that share for the partner
B. Create a Reader Account first, then create a share inside that account
C. Ask the partner to create a Snowflake account, then grant access
D. Export data to CSV and send it manually

Solution

  1. Step 1: Understand Reader Account workflow

    First, create a share containing the data to share.
  2. Step 2: Create a Reader Account from the share

    This creates a Snowflake account for the partner to access the shared data without needing their own account.
  3. Step 3: Evaluate other options

    Create a Reader Account first, then create a share inside that account reverses the order incorrectly; C requires partner to have an account; D is manual and not using Snowflake features.
  4. Final Answer:

    Create a share with the data, then create a Reader Account from that share for the partner -> Option A
  5. Quick Check:

    Share data first, then create Reader Account [OK]
Hint: Share data first, then create Reader Account [OK]
Common Mistakes:
  • Creating Reader Account before share
  • Assuming partner must have Snowflake account
  • Using manual data export instead of Reader Account
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard