2003年11月27日
『Yukon のセキュリティを見てみよう』
先日、南紀白浜に家族で遊びに行ってきました。
前の晩から降り続く雨が、朝、少しやんで日が差したとき、虹が目の前に広がりました。
手を伸ばせば届きそうなところで、大きく広がっていて、消えていくまで、写真を撮影したりして騒ぎました。
すっかり冷え込んできましたが、みなさんは、どんな秋を満喫していますか ?
●@Seattle
PASSJ 掲示板「喫茶室」のボードリーダー江青さんが、先日シアトルで行われた PASS Conference の様子をブログにまとめられています。タイトルは、「@Seattle」
http://www.myprofile.ne.jp/1966-12_25+blog
アメリカの SQL Server 事情がリアルに伝えられていますね。SQL Server の開発責任者、PASS のリーダーの方々のコメントには、元気付けられます。
その中でも、初日に江青さんが受けた印象がとても新鮮です。
「神様に仕えるような感じで、マイクロソフトの人たちがピュアに Yukon を作っている」
引用元: http://www.myprofile.ne.jp/blog/archive/1966-12_25/1
●Yukon のセキュリティを見てみよう
次期 SQL Server コードネーム Yukon の情報が少しずつ公開され始めています。そこで、今回は、セキュリティ面でどのような改良がなされたのかをいくつかみてみましょう。
※ただし、これらの情報は Yukon リリースまでに変更になる可能性があります。
参照: Introduction to SQL Server Yukon Relational Engine Security
Features
http://www.microsoft.com/technet/prodtechnol/sql/next/SQLSYSec.asp
この英語のドキュメントから、いくつかピックアップしてみます。
★パスワードポリシーの導入
Yukon が、Windows Server 2003 以上の OS 上で動作している場合、パスワードとアカウント ロックアウトのポリシーが利用できるようになります。パスワードのポリシーは、すでに
Windows へのログイン認証ではおなじみの機能で、パスワードの長さ、変更禁止期間、有効期間、履歴の記録などのポリシーがあります。アカウント
ロックアウトのポリシーも、おなじみで、何回かログオンに失敗した場合、一定時間アカウントをロックアウトする機能です。
これらのポリシーが SQL Server 認証でも利用できるようになります。ポリシーは、Windows へのログイン認証と同じポリシーが適用されますので、管理者は、別々にポリシーを管理する必要はありません。
これにあわせて、CREATE LOGIN, ALTER LOGIN のステートメントにオプションが追加されています。CHECK_EXPIRATION
= {ON | OFF} は、SQL Server 認証ログインに対して有効で、パスワードの有効期間についてのポリシーを有効にするかどうかを指定できます。CHECK_POLICY
= {ON | OFF}は、SQL Server 認証ログインに対して有効で、パスワードポリシーを有効にするかどうかを指定できます。
ALTER LOGIN には、ロックアウトされたアカウントをアンロックする機能も提供されます。
★ユーザーとスキーマの分離
ANSI SQL-92 では、「スキーマ」はデータベースオブジェクトの集合で、ひとりの所有者をもち、ひとつのネームスペースを提供するとあります。ただし、SQL
Server 2000 のスキーマは、実質上、単なる所有者でしかありません。
テーブル例: pubs.dbo.authors
この例の dbo の部分がスキーマになります。所有者でしかないため、スキーマをオブジェクトのグループ化用に使っている事例はみかけません。たとえば、多数のテーブルをサブシステム単位にグループ化できると便利なはずです。
テーブル例: pubs.[顧客管理].[顧客テーブル] pubs.[販売管理].[発注実績テーブル]
いや、SQL Server 2000 でも、このようにすることができますが、そのためには、データベースユーザーとして、「顧客管理」や「販売管理」を登録しておく必要があり、テーブル作成時には、このユーザーでログインする必要があります。面倒なので、多くの方は、次のようにしていると思います。
現実例: pubs.dbo.[顧客管理_顧客テーブル]
Yukon では、スキーマとユーザーの関係を分けて使えるようにしました。たとえば、「顧客管理」というデータベースユーザーを削除したい場合でも、pubs.[顧客管理].[顧客テーブル」の所有者を変更しておく必要はありません。ユーザーを削除した後、別のユーザーにスキーマを割り当てればいいようになりました。
具体的な例として、Yukon では、システムが利用するテーブルやビューのスキーマは、「sys」になりました。テーブル情報は、sys.tables
にあります。また、CREATE SCHEMA , ALTER SCHEMA, DELETE SCHEMA も拡張されました。
簡単ですが、すでに公開されている Yukon のセキュリティ部分での改良からふたつ、ピックアップしてみました。
●マイクロソフトの方の話の初めは、セキュリティから
最近、マイクロソフトのイベントや製品発表の資料をみると、気づくことがあります。
「マイクロソフトは、まず初めにセキュリティからはじめる」
そうです。必ずといっていいほど、セキュリティからはじめています。
例:次世代のデータベース管理
http://www.microsoft.com/japan/sql/evaluation/yukon.asp
よろしければ、一度、気にしてみていただければと思います。
さて、年末なにかとあわただしくなります。来月早々には、.NET Dev Con がありますし、サポート情報読み合わせ会もあります。お忙しいとは思いますが、いろいろなところでお会いできることを楽しみにしています。
|