やりたいこと
ユーザーをAzure Data Lake Storage Gen2 にある、コンテナ1つだけに閲覧権限を付けたい。
(閲覧権限のついているコンテナ以外のデータは見えないままにしたい)
やること
- ADLS Gen2(リソース)に「閲覧者」権限を付与する。
- 閲覧権限付けたいコンテナで「ストレージ BLOB データ閲覧者」権限を付与する。
ロール説明
「閲覧者」ロールにデータの読み込み権限はない
閲覧者ロールは Azure Resource Manager のロールであり、ユーザーにストレージ アカウントのリソースの表示を許可しますが、変更は許可しません。 これは Azure Storage 内のデータに読み取りアクセス許可を提供しませんが、アカウント管理リソースに対してのみです。 ユーザーが Azure portal 内の BLOB コンテナーに移動できるようにするには、閲覧者ロールが必要です。
BLOB データにアクセスするための Azure ロールを割り当てる - Azure Storage | Microsoft Docs
リソースに対して「閲覧者」を付けておくことで、リソースの閲覧ができるようになる。が、データのアクセスはこのロールは関係なさそう。
「ストレージ BLOB データ閲覧者」ロールがデータの読み込み権限を付与する
たとえば、ストレージ BLOB データ共同作成者ロールを sample-container という名前のコンテナーのレベルで Mary というユーザーに割り当てると、Mary にはそのコンテナー内のすべての BLOB に対する読み取り、書き込み、および削除のアクセス権が付与されます。 ただし、Mary が Azure portal で BLOB を表示する場合、ストレージ BLOB データ共同作成者ロール自体は、BLOB を表示するためにポータル内でその BLOB に移動するための十分なアクセス許可を提供しません。 ポータル内を移動し、そこに表示されている他のリソースを表示するには、追加のアクセス許可が必要です。
BLOB データにアクセスするための Azure ロールを割り当てる - Azure Storage | Microsoft Docs
データの読み込みを許可するには「ストレージ BLOB データ閲覧者」ロールが必要。ただし、このロールだけしかついていない状態では、リソースの表示(「閲覧者」ロール)がそもそもできないので、データの閲覧もできなくなりそう。
注意点
リソースにつけた「閲覧者」ロールによって、ストレージ内のコンテナの一覧はユーザーが見ることができますが、コンテナ内にアクセスできるのは「ストレージ BLOB データ閲覧者」ロールのついているコンテナのみになります。