◾️はじめに
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