SQL Server 向けアプリケーション サービス データベースのロールとビュー

更新 : 2007 年 11 月

ASP.NET アプリケーション サービス向けの SQL Server プロバイダ データベースには、ASP.NET のメンバシップ、ロール マネージャ、プロファイル、Web パーツのパーソナル化、および Web イベントをサポートする多くのデータベース オブジェクト (ストアド プロシージャやテーブルなど) が用意されています。このデータベースには、特定の機能をサポートするために必要なオブジェクトのみにアクセスを制限するロールとビューが含まれます。これにより、SQL Server データベースに接続するための ID に必要最小限のアクセス許可を付与して、アプリケーションのセキュリティを向上させることができます。

データベースのロール

このデータベースには、SQL Server プロバイダの機能をサポートするデータベース オブジェクトに必要なアクセス許可のみを付与するロールが用意されています。アプリケーションのセキュリティを強化するために、データベース アカウントを作成し、機能に必要なロールだけを持つメンバとしてそのアカウントを追加できます。

データベースのロールは 3 種類用意されています。

  • FullAccess   管理者のアクセス許可を持っていなくても、機能をサポートするすべてのデータベース オブジェクトにアクセスできます。

  • BasicAccess   ユーザーが機能を利用するための最小限のアクセス許可を提供します。

  • ReportingAccess   機能の検索および参照ができるアクセス許可を提供します。

各アプリケーション機能は、独自のロール セットをサポートします。たとえば、このデータベースには **aspnet_**MembershipFullAccess ロール、**aspnet_**RolesFullAccess ロールなどが含まれます。

メンバシップのロール

次の表は、ASP.NET メンバシップをサポートするデータベース ロール、ロールでサポートされているメソッド、およびロールの使用を許可されているデータベース ビューの一覧です。

ロール

メソッドのアクセス許可

ビューのアクセス許可

aspnet_Membership_FullAccess

すべてのメンバシップ メソッド

vw_aspnet_Applications

vw_aspnet_Users

vw_aspnet_MembershipUsers

aspnet_Membership_BasicAccess

ValidateUser

UpdateUser

GetNumberOfUsersOnline

GetPassword

GetUser

GetUserNameByEmail

(なし)

aspnet_Membership_ReportingAccess

FindUsersByEmail

FindUsersByName

GetAllUsers

GetNumberOfUsersOnline

GetUser

GetUserNameByEmail

vw_aspnet_Applications

vw_aspnet_Users

vw_aspnet_MembershipUsers

ロール マネージャのロール

次の表は、ASP.NET ロールをサポートするデータベース ロール、ロールでサポートされているメソッド、およびロールの使用を許可されているデータベース ビューの一覧です。

ロール

メソッドのアクセス許可

ビューのアクセス許可

aspnet_Roles_FullAccess

すべてのロール マネージャ メソッド

vw_aspnet_Applications

vw_aspnet_Users

vw_aspnet_Roles

vw_aspnet_UsersInRoles

aspnet_Roles_BasicAccess

GetRolesForUser

IsUserInRole

(なし)

aspnet_Roles_ReportingAccess

FindUsersInRole

GetAllRoles

GetRolesForUser

GetUsersInRole

IsUserInRole

RoleExists

vw_aspnet_Applications

vw_aspnet_Users

vw_aspnet_Roles

vw_aspnet_UsersInRoles

プロファイルのロール

次の表は、ASP.NET プロファイルをサポートするデータベース ロール、ロールでサポートされているメソッド、およびロールの使用を許可されているデータベース ビューの一覧です。

ロール

メソッドのアクセス許可

ビューのアクセス許可

aspnet_Profile_FullAccess

すべてのプロファイル メソッド

vw_aspnet_Applications

vw_aspnet_Users

vw_aspnet_Profiles

aspnet_Profile_BasicAccess

GetPropertyValues

SetPropertyValues

(なし)

aspnet_Profile_ReportingAccess

GetAllProfiles

GetAllInactiveProfiles

GetNumberOfInactiveProfiles

FindProfilesByUserName

FindInactiveProfilesByUserName

vw_aspnet_Applications

vw_aspnet_Users

vw_aspnet_Profiles

Web パーツのパーソナル化のロール

次の表は、Web パーツのパーソナル化をサポートするデータベース ロール、ロールでサポートされているメソッド、およびロールの使用が許可されているデータベース ビューの一覧です。

ロール

メソッドのアクセス許可

ビューのアクセス許可

aspnet_Personalization_FullAccess

SQL プロバイダのすべての機能

vw_aspnet_Applications

vw_aspnet_Users

vw_aspnet_WebPartState_User

vw_aspnet_WebPartState_Shared

vw_aspnet_WebPartState_Paths

aspnet_Personalization_BasicAccess

LoadPersonalizationBlobs

LoadPersonalizationState

ResetPersonalizationState

ResetPersonalizationBlob

SavePersonalizationBlob

SavePersonalizationState

(なし)

aspnet_Personalization_ReportingAccess

FindState

GetCountOfState

vw_aspnet_Applications

vw_aspnet_Users

vw_aspnet_WebPartState_Paths

vw_aspnet_WebPartState_Shared

vw_aspnet_WebPartState_User

Web イベントのロール

次の表は、Web イベントをサポートするデータベース ロール、ロールでサポートされているメソッド、およびロールの使用が許可されているデータベース ビューの一覧です。

ロール

アクセス許可

aspnet_WebEvent_FullAccess

Web イベント機能をすべて利用できます。

データベースのビュー

SQL Server プロバイダ データベースには、直接データベース テーブルにアクセスしなくても特定の機能のデータにアクセスできる、定義済みのビューが用意されています。用意されているビューは読み取りアクセス専用です。これらのビューを使用して、データベース内のデータを更新しようとしないでください。更新はすべて、各機能の .NET Framework クラスを使用して行う必要があります。

ms164596.alert_note(ja-jp,VS.90).gifメモ :

SQL Server プロバイダ データベースには、日時値は世界協定時刻 (UTC: Universal Coordinated Time) 形式で格納されます。その結果、これらのビューは、UTC 形式の日時値を返します。特定の ASP.NET 機能に組み込まれている DateTime 型のプロパティは、Web サーバーのタイム ゾーン設定に基づいたローカル日時を返します。

次の表は、SQL Server プロバイダ データベースで使用できるデータベース ビューと、各ビューに返される情報の一覧です。一部のビューではプライベート情報 (メンバシップ ユーザーのパスワードの質問と解答など) が表示されるため、重要な情報を必要のないソースに公開しないでください。

ビュー

説明

vw_aspnet_Applications

すべてのアプリケーションに関する次の情報を表示します。

  • アプリケーション名

  • アプリケーションの説明

  • 一意のアプリケーション識別子

vw_aspnet_Users

次の情報を含むユーザーの一覧をアプリケーションごとに表示します。

  • ユーザー名

  • ユーザーの一意の識別子

  • ユーザーの最後のアクティビティ日時

  • ユーザーのモバイル エイリアス (該当する場合)

  • ユーザーが匿名ユーザーであるかどうか

  • 関連付けられたアプリケーションの一意の識別子

ms164596.alert_note(ja-jp,VS.90).gifメモ :
ユーザーの一覧には、インストールされているすべての ASP.NET アプリケーション機能のユーザーが反映されていますが、これらのユーザーがどの機能に関連付けられているかは反映されていません。

vw_aspnet_MembershipUsers

次の情報を含めて、ユーザーの一意の識別子に関連付けられた ASP.NET メンバシップ ユーザーの一覧を表示します。

  • ユーザー名

  • 電子メール アドレス

  • パスワードの質問と解答

  • メンバシップの承認

  • パスワード形式の識別子

  • ユーザーのモバイル PIN とモバイル エイリアス (該当する場合)

  • 作成日時

  • 最終ログイン日時

  • 最終パスワード変更日時

  • 最終アクティビティの日時

  • ユーザーが最後にロックアウトされた日時

  • 現在のロックアウト ステータス

  • パスワードの入力に失敗した回数とパスワード入力ウィンドウが開始された日時

  • パスワードの解答の入力に失敗した回数とパスワードの解答の入力ウィンドウが開始された日時

  • コメント (ある場合)

vw_aspnet_Roles

次のロール情報を表示します。

  • アプリケーションごとのロールの一意のリスト

  • ロールの名前

  • ロールの一意の識別子

  • ロールの説明

  • 関連付けられたアプリケーションの一意の識別子

vw_aspnet_UsersInRoles

ユーザーとロールの一意の識別子によって、どのユーザーがどのロールに関連付けられているかが表示されます。

vw_aspnet_Profiles

次のユーザー プロファイル情報を表示します。

  • 各プロファイルのユーザー (ユーザーの一意の識別子で保存されます)

  • プロファイルの最終更新日時

  • プロファイル データのサイズ

vw_aspnet_WebPartState_Path

次の Web パーツの状態パス情報を表示します。

  • 各パスの一意の ID

  • 各パスに関連付けられたアプリケーション

  • パス

vw_aspnet_WebPartState_Shared

次の Web パーツの状態情報を表示します。

  • 一意のパス ID

  • データのサイズ

  • パスに関連付けられている共有データの最終更新日

vw_aspnet_WebPartState_User

次の Web パーツのユーザー情報を表示します。

  • 各パーソナル化データのユーザー (ユーザーの一意の識別子で保存されます)

  • データのパス ID

  • ユーザー スコープのデータのサイズ

  • ユーザー スコープのデータの最終更新日

参照

その他の技術情報

SQL Server 向けアプリケーション サービス データベースの作成と構成

ASP.NET リファレンス