権限とは?
|
今回は、前回に引き続き、権限の設定です。「ロール」という、ユーザーやログインのグループ機能についてチャレンジします。ロールを利用することによって、個々のユーザーへ権限を設定するのではなく、グループに対して権限の設定が可能になるため、設定をよりシンプルにすることができます。 画面1 新規ロールの作成ダイアログボックス。ここで「追加」ボタンを押してユーザーを追加する(画面をクリックすると拡大表示します) 画面2 ロールメンバに参加可能なユーザーの一覧が表示されるので、必要なユーザーを順に追加する (7) データベースロールのプロパティ画面が下の画面3のとおりであることを確認し、「OK」ボタンを押して終了する 画面3 画面1からロールメンバが追加された状態。この状態であることを確認して「OK」ボタンを押す(画面をクリックすると拡大表示します) これで、ロールCardInfoUsersが作成できました。ただし、まだこの状態では、ロールCardInfoUsersのメンバは、データベースに対して何もすることができません。ユーザーを新規作成したときに、データベースオブジェクトに対する権限がまったく設定されていなかったのと同じですね。 (2) データベースロールのプロパティ画面が表示されるので、「権限」ボタンをクリックする (4) 「OK」ボタンを押して、権限の設定画面、データベースロールのプロパティ画面を閉じる これで、権限の設定は完了しました。実際にクエリアナライザを使用して、tanakaとyamadaでそれぞれログインし、CardInfoテーブル、CardInfoViewにアクセスできることを確認してみましょう。 これまでの例で、CardInfoUsersというロールに対して権限を設定することにより、ロールのメンバであるユーザーtanakaとyamadaに対して権限が付与されることが分かりました。ここで、ユーザーtanakaとyamadaに対しては、個別に権限が設定されていないことをプロパティで確認してみてください。 画面5 ユーザーtanakaのプロパティを参照してみると、先ほど設定した権限が個別のユーザーには反映されていないことが分かる(画面をクリックすると拡大表示します) ロールに対して設定したすべての権限は、すべてのメンバに対して適用されます。また、ロールの権限を変更すると、ロールのメンバ全員に対してその権限の変更が適用されます。データベース・アプリケーションを構築する際、あらかじめアプリケーション運用に際して必要になる役割を定義し、それを「ロール」として設定し、ロールに対して権限設定を行う運用とすれば、テーブルやビューが追加されたときに、すべてのメンバに対して権限の設定変更を行う必要がなくなり、運用をシンプルにすることが可能です。 さて、ロールに所属させておけば、メンバの権限を設定する必要がないことを説明しました。逆に、ロールに所属しているメンバに対して権限を設定すると、そのメンバに与えられる権限はどうなるのでしょうか? 画面6 ユーザーyamadaに「DELETE」権限を付与する(画面をクリックすると拡大表示します) 無事に削除が実行できたでしょうか? 例題4のとおり、ロールに権限が設定されていない場合、メンバに対して権限を付与すればその権限が有効になります。例題4では、CardInfoテーブルに対するDELETE権限は、ロールCardInfoUsersに対しては設定されていなかったため、メンバのユーザーyamadaに対して設定したDELETE権限が有効になったわけです。 このように、ロールの権限とメンバの権限は、それぞれの権限を合わせた権限がメンバに対して付与されます。 では次に、ロールに与えられた権限を拒否する場合はどうするのでしょうか。例えば、ユーザtanakaはロールCardInfoUsersのメンバですので、CardInfoテーブルに対してINSERTの権限が与えられています。これを、ユーザーtanakaだけはCardInfoテーブルに対して挿入(INSERT)ができないように設定するとします。 画面7 ユーザーtanakaのプロパティを開き、CardInfoデータベースへの「INSERT」権限を明示的に拒否する(画面をクリックすると拡大表示します) 例題5のとおり、ロールで権限が設定されていても、メンバで権限を拒否すると、結果としてメンバの権限は拒否されることが確認できました。逆に、メンバで権限が設定されていても、ロールで権限が拒否されていれば、結果としてメンバの権限は拒否されます。例えば、ロールCardInfoUsersに対して、CardInfoテーブルのDELETE権限を拒否に設定すると、先ほどyamadaに対して許可したDELETE権限が拒否されるのが確認できますので、実際に実行してみてください。 ロールとメンバの権限に関して、設定と実際に付与される権限を一覧でまとめると、以下の表のとおりになります。 つまり、「許可が1つもないと拒否」「拒否が1つでもあると拒否」と覚えるとよいでしょう。 これまでの例で気が付いたかもしれませんが、ロールの一覧には、今回作成したCardInfoUsers以外にもいくつかのロールが表示されています。 画面8 Enterprise Managerでロールの一覧を表示させたところ。今回作成したCardInfoUsers以外にも、あらかじめロールが用意されていることが分かる(画面をクリックすると全体を表示します) 「db_accessadmin」など、「db_」が頭に付いたロールと、「public」というロールがあるのを確認できますね。これらは、「固定データベースロール」といって、SQL Serverでデータベースを作成すると自動的に作成される標準のロールです。それぞれのロールは、データベースに対しての権限があらかじめ設定されているため、条件が合えば新たにロールを作成せずに、これらの固定データベースロールを使用した方が便利なことがあります。各ロールの設定内容は下記の表のとおりです。 データベース内のすべてのテーブル、ビューに対してデータの参照権限(SELECT)を付与 「SQL Server 2000 データベース ロール」のロールおよびメンバ、さらにデータベース内のステートメント権限およびオブジェクト権限を管理 特に、db_datareader、db_datawriterは、すべてのテーブルとビューに対しての権限を設定することが可能です。ほとんどのテーブルやビューに対して権限を許可し、一部のテーブルやビューに対して権限を拒否する場合は、db_datareaderやdb_datawriterのメンバに指定し、ユーザーの権限を設定する方が、テーブル数が多い場合に便利です。 この一覧にない固定データベースロールが「public」です。ロールpublicは、データベースのすべてのユーザーがメンバとして自動的に指定されるロールです。ユーザーを新規に作成すると、必ずロールpublicのメンバに指定されます。先の例で作成したユーザーyamadaとtanakaもロールpublicのメンバに指定されているので、確認してみてください。 画面9 ロールpublicには、すべてのユーザーがメンバとして自動的に登録される。ユーザーyamadaが所属するロールの一覧を確認してみると、特に設定していないのにpublicに所属していることが分かる(画面をクリックすると拡大表示します) ただし、ロールpublicには権限の設定がまったくされていないので、1つ1つのオブジェクトに対して権限を設定する必要があります。データベースのすべてのユーザーに一律の権限を設定する際は、新たにロールを作成するのではなく、ロールpublicに対して権限を設定すると便利です。 今回は、Enterprise Managerを使用したロールの設定について解説しました。次回はSQLでの権限設定について紹介する予定です 5分で絶対に分かるSIP (2007/11/16)インターネットで電話をかけるためには、発信や着信、応答、切断といった制御が必要です。その手順を取り決めたシグナリングプロトコルの1つ、SIPを5分で理解しましょう 携帯メールポータビリティは開国を迫る黒船となるか (2007/10/31) 丹後から日本のケータイにもの申す。TANGOメールは携帯電話ネットワークのオープン化への第一歩となるか? 「はてな」を作り出す人的ネットワークの仕組みとは (2007/8/24) 次々とWeb2.0的サービスをリリースするはてな。拡大する組織の中で行われているコミュニケーションのかたちとは? @IT ネットワーク用語辞典 (2007/8/22)ネットワーク管理者のための用語集です。「LAN」や「IPアドレス」といった基本中の基本から、「HTTP」などのプロトコル、「ping」などのコマンドまで、幅広く解説します ホワイトペーパー利用者に「Amazonギフト券」を抽選で100名様にプレゼント!――TechTargetジャパン リニューアル・キャンペーン |
[ 226] ロールを利用したグループ単位での権限設定
[引用サイト] http://www.atmarkit.co.jp/fnetwork/rensai/sql18/sql1.html
|
宮城県では、昭和55年に「市町村長への事務委任規則」を制定して以来、住民に身近な行政をできる限り身近な地方公共団体において処理することを基本とし、市町村に対する権限移譲を積極的に進めております。 平成15年度から平成17年度までの3か年を実施機関としています。この要綱では、「移譲可能事務一覧」に示された88事務から、市町村の希望に基づき事務を委譲する「個別移譲方式」を新たに取り入れました。 平成17年4月には、移譲可能事務を135事務とし、実施期間を平成19年度まで延長するとともに、事務移譲の方式について、これまでの「個別移譲方式」に加え、「環境」、「子育て」等関連事務をパッケージ化し、市町村がその規模やまちづくりの方向性を踏まえて希望する事務を一括して移譲する「包括移譲方式」を新たに取り入れました。 平成18年6月には、移譲可能事務の追加及び削除を行い、移譲可能事務を137事務としました。 権限移譲可能と判断した事務については、県からの財源措置はもちろん、移譲を受けた市町村から県に対し、職員の派遣の求めがあった場合には、移譲事務量を勘案しながら人的支援措置も行うなど、県からの権限移譲により、住民に身近な基礎的自治体である市町村が、自らの責任と判断で、地域づくりができる環境づくりを一層推進します。 11の権限の他、火薬類取締法と液化石油ガスの保安の確保及び取引の適正化に関する法律の2法律に基づく多くの権限を移譲しました。 宮城県では、現在、次の4つの条例規則を県から市町村への権限移譲の根拠としています(平成12年の地方分権推進一括法の施行により、「市町村長に対する事務委任規則」を条例化しています。)。 特に、県に提出する申請等の書類の経由(市町村が窓口となって受理し、県に送付すること。)事務については、県の事務処理の効率化と県民の利便性の向上に一定の効果を持ちますが、対等・協力の関係にある県と市町村の役割分担をあいまいにし、市町村の事務処理の効率化を阻害するおそれがあると考え、県民の利便性に著しく影響するもの等に限定することとし、抑制に努めております。経由事務については、根拠となる条例規則を権限移譲とは別に定め、区別しています。 なお、これらの条例規則の他、公害防止に関する権限については公害防止条例を、文化財保護に関する申請等の書類の経由事務については文化財保護法施行条例を根拠として市町村に移譲しています。 事務処理の特例に関する条例に基づき市町村が処理する事務の範囲を定める規則(平成12年規則第64号) 申請等の受理の特例に関する条例に基づき市町村が処理する事務の範囲を定める規則(平成12年規則第65号) |
[ 227] 宮城県/市町村課/県から市町村への権限移譲
[引用サイト] http://www.pref.miyagi.jp/sichouson/kengen/000kengenijou.htm
|
Serverでは、テーブルやビューといったSQL Serverのオブジェクトに対して権限を設定することが可能です。権限の設定により、特定のユーザーのみが参照できるビューや、特定のユーザーは参照可能だがデータの追加や更新ができないテーブル、などを作成することが可能になります。 画面1 SQL Serverログインを一覧表示させたところ(画面をクリックすると拡大表示します) Serverログインは、データベースに対するすべての操作が許可されているシステム管理者用のログイン名です。連載ではこれまで、すべてsaというSQL Enterprise Managerで表示されているSQL Serverログインを右クリックし、「プロパティ」を選択すると表示される画面で確認できます。 画面2 SQL Serverログイン名「sa」のプロパティを表示させたところ(画面をクリックすると拡大表示します) 「認証」が「Windows認証」に設定されているのが確認できますね。Windows認証は、SQL Serverではなく、Windowsによってログイン名とパスワードの認証が実行されます。ドメインが構築されている環境では、ドメインユーザーの指定も可能です。 Windows認証の便利なところは、ログイン名の一括管理が可能であるため、管理者の作業を減らせることです。もう1つは、Windowsにログオンしていれば、SQL Serverに接続する際にSQL Serverログインとパスワードを入力しなくてよいため、ユーザーも便利であるということです。特に、何日目ごとにパスワード変更を強制する、といったセキュリティポリシー設定に関してはWindowsの方が細かく設定できるので、セキュリティの向上のためにもWindows認証の方がお勧めできます。 画面4 SQL Serverログインを新規作成する場合には、Enterprise Managerで「ログイン」アイコンを右クリック、表示されるメニューから「新規ログイン」を選択する(画面をクリックすると全体を表示します) 画面5 SQL Serverログインの新規作成画面(画面をクリックすると拡大表示します) 「規定値」のデータベース設定は、SQL Serverに接続した際にデフォルトでアクセスするデータベースを指定します。こうすることにより、ログインした後に毎回データベースを選択する手間を省けます。 (1) クエリアナライザを起動し、作成したSQL Serverログインでログインする 画面6 新規作成したSQL ServerログインでKeppinListビューを表示させようとしたところ、「権限がない」旨のエラーが表示されて失敗してしまった(画面をクリックすると拡大表示します) ログインは正常にできたものの、KeppinListビューの参照はエラーが表示されて失敗してしまいましたね。これは、新規に作成したSQL Serverログインには、どのデータベースオブジェクトに対しても権限が設定されていないために起こります。 では次に、rensaiログインに対して、KeppinListビューに対する権限の割り当てを実施しましょう。まずは、データベースに対する権限を設定します。 (3) データベースのリストにおいて、「Northwind」データベースをチェックする 画面7 新規作成したSQL Serverログイン「rensai」に、「Northwind」データベースへのアクセス権限を設定する(画面をクリックすると拡大表示します) 続いて、データベースのユーザーを確認します。まずは、ユーザーリストを表示させてみましょう。 先ほど作成した「rensaiログイン」と同名のユーザーが登録されているのが確認できます。SQL Serverでは、SQL Serverへのログインアカウントと、データベースのユーザーを別々に管理しています。例題4の操作でSQL Serverログインに対してデータベースアクセスの設定を行うと、自動的にSQL Serverログインと同名のユーザーがデータベースに対して登録されます。このときユーザーは、1つのSQL Serverに対して「rensai」でログインしているときは、Northwindデータベースに対しては、「rensai」ユーザーとして認識されます。この後説明するテーブルやビューなど、データベースオブジェクトに対する権限設定は、SQL SQL Serverログインと、ユーザーが別に管理される考え方は若干複雑ですが、デフォルトの操作で同じ名前で登録されるので、混乱は少ないでしょう。 では次に、「rensai」ユーザーがKeppinListビューにアクセスできるよう設定しましょう。 では、権限が無事設定されたことを確認するために、クエリアナライザで再度、例題3を実行してみましょう。問題なく結果リストが表示されたでしょうか? データベースのテーブルやビューに対しては、SELECT、INSERT、UPDATE、DELETEの権限がそれぞれ設定できます。例題6で最初に権限の設定画面を開いたときは、すべてのチェックボックスが空白の状態でしたね。この状態では、System Administrator権限のあるユーザーしか、オブジェクトにアクセスすることはできません。 例題6で、KeppinListに対してSELECTをチェックしましたが、これによりユーザーに対してSELECT権限が付与されます。逆に、明示的に権限を拒否することも可能です。この場合は、SELECTのチェックボックスにチェックが入った状態で、もう一度クリックし、×印の状態に設定することで拒否できます。 画面10 画面9のチェックが入った状態から、さらにクリックすることで×印になる。こうすることで、明示的に権限を拒否することが可能となる(画面をクリックすると拡大表示します) チェックが付いていない初期状態でもアクセスが許可されないのに、わざわざ明示的に拒否を指定する必要があるのか、と思いませんでしたか? これは、次回説明する「権限の継承」に大きく関係しますので、覚えておいてください。 今回は、Enterprise Managerを使用した権限の設定について解説しました。次回は「ロール」という権限のグループについて紹介する予定です 5分で絶対に分かるSIP (2007/11/16)インターネットで電話をかけるためには、発信や着信、応答、切断といった制御が必要です。その手順を取り決めたシグナリングプロトコルの1つ、SIPを5分で理解しましょう 携帯メールポータビリティは開国を迫る黒船となるか (2007/10/31) 丹後から日本のケータイにもの申す。TANGOメールは携帯電話ネットワークのオープン化への第一歩となるか? 「はてな」を作り出す人的ネットワークの仕組みとは (2007/8/24) 次々とWeb2.0的サービスをリリースするはてな。拡大する組織の中で行われているコミュニケーションのかたちとは? @IT ネットワーク用語辞典 (2007/8/22)ネットワーク管理者のための用語集です。「LAN」や「IPアドレス」といった基本中の基本から、「HTTP」などのプロトコル、「ping」などのコマンドまで、幅広く解説します ホワイトペーパー利用者に「Amazonギフト券」を抽選で100名様にプレゼント!――TechTargetジャパン リニューアル・キャンペーン |
[ 228] SQL Serverのオブジェクトに権限を設定する
[引用サイト] http://www.atmarkit.co.jp/fnetwork/rensai/sql17/sql1.html
|
平成18年5月に策定した「栃木県権限移譲基本方針」に基づき、この度、「栃木県権限移譲推進計画」を策定しました。 この計画は、市町村の意向を踏まえて平成18年5月に策定した「栃木県権限移譲基本方針」に基づき、移譲を行う権限の内容や移譲市町及び移譲年度を明らかにし、計画的な権限移譲を推進するために策定したものである。 住民の利便性等の観点から同一年度において全市町村又は一定規模の市に一律に移譲するものである。(該当地区を有しない市町を除く。) 選択パッケージは、市町村が独自のまちづくりを行ううえで必要と判断したものについて、移譲年度も含め市町村の希望に応じて権限を移譲するものである。 パッケージの内容は法令により異なり、他の法令と関連性の低い法令は単独のパッケージとして整理し、相互に関連性の高い法令については複数の法令を一つのパッケージとして整理した。 全市町村、人口7万5千人以上の市、人口15万人以上の市、中核市の4つの人口区分に特定行政庁(建築基準法第2条第32号に定める建築主事を置く市町村)の区分を加え、合計5つの区分に分けて権限移譲を進める。 なお、人口7万5千人以上の市対象の項目については、人口規模が満たない場合であっても、市町村の希望に応じて移譲を行っていく。 原則として、地方自治法第252条の17の2(条例による事務処理の特例)等の規定に基づき、「栃木県知事の権限に属する事務の処理の特例に関する条例」及び「栃木県教育委員会の権限に属する事務の処理の特例に関する条例」(以下「特例条例」という。)」を改正することにより移譲する。 ただし、栃木県土砂等の埋立て等による土壌の汚染及び災害の発生の防止に関する条例に基づく事務については、当該条例の対象地域から該当市町を除外し、各市町において条例を制定することにより移譲するものとする。 また、栃木県景観条例に基づく事務については、景観行政団体への移行を進める場合には、市町において独自に当該条例を定めることで対応することとし、それ以外は特例条例を改正することで移譲するものとする。 県内全市町を対象とした「市町村権限移譲調整会議」を開催し、当該計画の実施状況について検討、意見交換等を行うとともに、計画の推進と新たな移譲項目の追加等について協議、調整を行うものとする。 本計画は、県からの提案及び市町村の要望を踏まえて、権限移譲推進期間内において毎年度見直しを行い、改訂するものとする。 権限の移譲により、申請書の提出先が県から市町村に変更されるなど、住民に直接影響を与える可能性があることから、県及び市町村は、広報の実施など広く県民に対する周知に努めることとする。 移譲された権限が、市町村において円滑に実施されるよう、県は市町村に対して財政措置、人的支援等の支援措置を講じることとする。 |
[ 229] 栃木県権限移譲推進計画について
[引用サイト] http://www.pref.tochigi.jp/gyokaku/kengen/keikaku-gaiyou.htm
