【Snowflake】Snowflake 〜 アクセス制御種類 〜

◾️はじめに

https://dk521123.hatenablog.com/entry/2021/11/16/231010

でやっていたアクセス制御だが、
DACとかRBACとか色々整理できていなかったので
整理していく

目次

【0】Snowflakeアクセス制御の種類
【1】DAC (Discretionary Access Control)
【2】RBAC(Role-Based Access Control)
【3】UBAC (User-Based Access Control)
【4】補足:Snowflake未サポートのアクセス制御
 1)MAC(Mandatory Access Control)
 2)ABAC (Attribute-Based Access Control)

【0】Snowflakeアクセス制御の種類

https://docs.snowflake.com/ja/user-guide/security-access-control-overview.html

アクセス制御に対するSnowflakeのアプローチは、
DAC/RBACの側面を組み合わせたもの
Access control type Snowflake support Memo
DAC YES -
RBAC YES -
UBAC NO(*) 将来的にはサポートされる(https://docs.snowflake.com/LIMITEDACCESS/ubac-overview
MAC NO -
ABAC NO 205/05/13現在はNOだが今後は未定

【1】DAC (Discretionary Access Control)

* DAC (ダック) =  任意アクセス制御
* 各オブジェクトに所有者がおり、
 所有者はそのオブジェクトへのアクセスを許可

cf. Discretionary(ディスクレショナリ) = 裁量的

【2】RBAC(Role-Based Access Control)

* RBAC(アールバック) =  ロールベースアクセス制御
* 個々のユーザごとではなく、
 ユーザに割り当てられたロール(role:役割)ごとに
 権限を付与する方式

メリット

* シンプルさ(管理の容易さ)

デメリット

* ロールの爆発的増加

【3】UBAC (User-Based Access Control)

* UBAC(ユーバック) =  ユーザベースアクセス制御
* 権限をユーザに直接付与する

https://docs.snowflake.com/LIMITEDACCESS/ubac-overview

PREVIEW FEATURE — PRIVATE

Support for this feature is currently not in production
 and is available only to selected accounts.

メリット

* 特定ユーザ間の迅速な対応
 => 限定的な場面におけるロール管理の手間削減できる

デメリット

* アクセス制御の複雑さ

【4】補足:Snowflake未サポートのアクセス制御

* Snowflakeとは関係ないが、上記以外のアクセス制御を紹介する

1)MAC(Mandatory Access Control)

* MAC = 強制アクセス制御
* リソース所有者の意図に関らず、
 システムの管理者により一定のアクセス制御を強制する方式
* 例として、SELinux (以下の関連記事を参照のこと)

SELinux
https://dk521123.hatenablog.com/entry/2017/12/10/222000

2)ABAC (Attribute-Based Access Control)

* ABAC = 属性ベースアクセス制御

メリット

* 非常に細かなルールを作成可能

デメリット

* 正確な実装が求めらる
 => 最初にシステムの設定を間違えると、修正に時間がかかる

関連記事

Snowflake ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/11/02/130111
Snowflake ~ 入門編 / Hello world
https://dk521123.hatenablog.com/entry/2021/11/22/212520
Snowflake ~ アクセス制御 ~
https://dk521123.hatenablog.com/entry/2021/11/16/231010
Linuxパーミッション / アクセス権限 ~
https://dk521123.hatenablog.com/entry/2022/07/01/000000
SELinux
https://dk521123.hatenablog.com/entry/2017/12/10/222000