Photo by Bruce Warrington on Unsplash

How Snowflake can help organisations to secure their data

David Oyegoke
Slalom Data & AI
Published in
3 min readSep 29, 2020

--

This is the fourth blog in Slalom’s Snowflake series.

In our last blog, we explored access control in Snowflake and how to get it right, first time.

In this post, we’ll be covering how Snowflake can help organisations to secure their data.

GDPR is the European General Data Protection Regulation that governs the capture, retention and the use of Personally identifiable information (PII).

When it comes to PII, organisations have the following responsibilities:

  • PII must be stored securely and its confidentiality maintained
  • Access to PII must be on a need-to-know or need-to-use basis
  • PII must be removed from database systems when no longer needed

Individuals, such as employees or customers also have the following rights when it comes to their PII:

  • Individuals must give informed consent before organisations can use their PII
  • Individuals have the right to correct or request data held on them
  • Subject to rules, individuals can have their PII removed from an organisation’s database

Snowflake Solution

Snowflake provides many ways to secure sensitive data, thereby helping organisations to comply with the GDPR regulations.

The following features can help secure data in Snowflake:

Security:

Access Control:

Data Architecture:

  • Making it easy to isolate sensitive data, and secure it
  • Enabling you to anonymise data on-demand or when a data retention period expires
  • Making it easy to support data ageing and eventual removal from Snowflake

How should sensitive data be stored in Snowflake?

There are two ways to store sensitive data in Snowflake.

Integrated

  • Sensitive data is stored in existing tables
  • Row-based views are used to dynamically mask sensitive data

Pros:

  • Simple to implement — single table
  • Works well for raw data through masking view
  • Data classification is easy

Cons:

  • Data removal is difficult if data is duplicated
  • If data is cloned, access view must be reapplied

or

Isolated

  • Sensitive data (PII) is isolated and stored in separate tables
  • RBAC is used to secure data

Pros:

  • Sensitive data is explicitly defined
  • There is a single point of access and security
  • There is a single copy of data to anonymise or remove

Cons:

  • New tables are required to store sensitive data
  • Not suitable for a raw data lake

How can I access sensitive data in Snowflake?

There are two ways to access sensitive data in Snowflake:

Fixed Masking

  • Uses dual views — Plain text and masked views
  • Access control is through RBAC and schema
  • Default schema determines user authority

Pros: It is explicit and uses fixed schema access

Cons: Fixed access with each table and less flexible

or

Dynamic Masking

  • Sensitive data is accessed from a single location
  • Access control is through row-based view dynamic masking
  • Snowflake column level dynamic data masking

Pros:

  • Simple access through single view
  • Dynamic access within each table
  • Controlled by metadata and it is immediately applied

Cons:

  • It requires CURRENT_USER() in session which can create problems for BI tools
  • Access control is implicit and not obvious

Failure to comply with GDPR can have serious consequences. Breaking GDPR regulations can leave your organisation open to enforcement action that can damage both public reputation and bank balance. But to quote Elizabeth Denham, UK Information Commission Officer: “There’s a carrot here as well as a stick: get data protection right, and you can see a real business benefit.”

See Managing Security in Snowflake for more information.

How Slalom can help

Slalom has the experience to help your business make the most of Snowflake and set the stage for long-term growth and sustainability.

Our Snowflake credentials include:

  • Snowflake Partner of the Year for three consecutive years — 2018, 2019 and 2020
  • Over 200 Snowflake certified consultants
  • Over 300 Snowflake projects delivered

In our next blog, we explore Snowflake Streams and Tasks.

David Oyegoke is a Data & Analytics Consultant based in Slalom’s London, UK office. Ashish Billore is a Data & Analytics Solution Architect, also based in Slalom’s London, UK office.

Slalom is a modern consulting firm focused on strategy, technology, and business transformation.

--

--