LoginSignup
3
2

More than 5 years have passed since last update.

FileTableの共有フォルダーにアクセス権を付与する

Last updated at Posted at 2016-08-07

概要

特定のFileTableの共有フォルダーに特定のWindowsユーザーのアクセス権を付与する方法。

一応、MSDN

FileTable セキュリティとファイル システム アクセス
ファイル システム API には、FileTable に格納されているファイルまたはディレクトリへのハンドルを開くための、FileTable の行全体に対する適切な SQL Server 権限 (つまり、テーブル レベルの権限) が必要です。 FileTable の列に対する適切な SQL Server 権限がユーザーに与えられていない場合、ファイル システム アクセスは拒否されます。

という説明があるが、これだけだと具体的にどうすればいいかわかりにくいため、補足的なメモ。

前提

FileTable自体は正常に作成済み(管理者権限ユーザーで共有フォルダーにアクセス可能)であること。

FileTableを使用可能とするための一連の手順については、以下のページが参考になる。

フォルダーの「セキュリティ」の設定は必要ない

一般的に共有フォルダーのアクセス権を設定する場合、フォルダー自体のセキュリティを設定(エクスプローラでフォルダーのプロパティを表示して「セキュリティ」タブを操作)するが、FileTableの共有フォルダーの場合はその必要はない。

FileTableの共有フォルダーのアクセス権設定は、SQL Server Management Studio上の操作で完結する。

インスタンスにログインを作成する

共有フォルダーへのアクセスを許可したいWindowsユーザーがSQL Serverインスタンスのログインとして追加されていない場合、新規に作成する。

USE [master]
GO

-- ログインの作成
CREATE LOGIN [MYDOMAIN\USER1] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[日本語];

img01.png

データベースにユーザーを作成し権限を付与する

FileTableが属するデータベースに、上記のログインと紐づくユーザーを作成する。
ユーザーにはFileTableに対するGRANT ALLと同等の権限(DELETE/INSERT/REFERENCES/SELECT/UPDATE)およびVIEW DEFINITION権限を付与する。

USE [mydatabase]
GO

-- ユーザーの作成
CREATE USER [MYDOMAIN\USER1] FOR LOGIN [MYDOMAIN\USER1] WITH DEFAULT_SCHEMA=[dbo];

-- ユーザーへの権限付与
GRANT DELETE ON OBJECT::[dbo].[sample_filetable] TO [MYDOMAIN\USER1];
GRANT INSERT ON OBJECT::[dbo].[sample_filetable] TO [MYDOMAIN\USER1];
GRANT REFERENCES ON OBJECT::[dbo].[sample_filetable] TO [MYDOMAIN\USER1];
GRANT SELECT ON OBJECT::[dbo].[sample_filetable] TO [MYDOMAIN\USER1];
GRANT UPDATE ON OBJECT::[dbo].[sample_filetable] TO [MYDOMAIN\USER1];
GRANT VIEW DEFINITION ON OBJECT::[dbo].[sample_filetable] TO [MYDOMAIN\USER1];

作成されたユーザーの例
img02.png

付与された権限の例
picture03.png

以上で、指定したユーザーから指定した共有フォルダーへのアクセスが許可される。
img04.png

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2