特権定数 (承認)

特権は、ユーザー アカウントが実行できるシステム操作の種類を決定します。 管理者がユーザー アカウントとグループ アカウントに特権を割り当てます。 各ユーザーの特権には、ユーザーとユーザーが属するグループに許可されたものが含まれます。

"アクセス トークン" の特権を取得および調整する関数は、"ローカル一意識別子" (LUID) の型を使用して特権を識別します。 LookupPrivilegeValue 関数を使用して、特権定数に対応するローカル システム上の LUID を決定します。 LookupPrivilegeName 関数を使用して、LUID をそれに対応する文字列定数に変換します。

オペレーティング システムは、次の表の「説明」列の "ユーザー権利" に続く文字列を使用して特権を表します。 オペレーティング システムは、ローカル セキュリティの設定 Microsoft 管理コンソール (MMC) スナップインの [ユーザー権利の割り当て] ノードの [ポリシー] 列にユーザー権利の文字列を表示します。

BOOL EnablePrivilege()
{
    LUID PrivilegeRequired ;
    BOOL bRes = FALSE;
  
    bRes = LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &PrivilegeRequired);

    // ...

    return bRes;
}

GitHub 上の Windows クラシック サンプルからの例。

定数

定数/値 説明
SE_ASSIGNPRIMARYTOKEN_NAME
TEXT("SeAssignPrimaryTokenPrivilege")
プロセスの "プライマリ トークン" を割り当てるために必要。
ユーザー権利: プロセス レベル トークンを置き換えます。
SE_AUDIT_NAME
TEXT("SeAuditPrivilege")
監査ログ エントリを生成するために必要。 サーバーをセキュリティで保護するには、この特権を付与します。
ユーザー権利: セキュリティ監査を生成します。
SE_BACKUP_NAME
TEXT("SeBackupPrivilege")
バックアップ操作を実行するために必要。 この特権により、ファイルに対して指定された "アクセス制御リスト" (ACL) に関係なく、システムはすべてのファイルに対してすべての読み取りアクセス制御を許可します。 読み取り以外のアクセス要求は、引き続き ACL で評価されます。 この特権は、RegSaveKey 関数と RegSaveKeyEx 関数が必要とします。 この権限が保持されている場合、次のアクセス権が許可されます。
  • READ_CONTROL
  • ACCESS_SYSTEM_SECURITY
  • FILE_GENERIC_READ
  • FILE_TRAVERSE
ユーザー権利: ファイルとディレクトリをバックアップします。
ファイルがリムーバブル ドライブ上にあり、"リムーバブル記憶域の監査" が有効になっている場合、SE_SECURITY_NAME には ACCESS_SYSTEM_SECURITY が必要です。
SE_CHANGE_NOTIFY_NAME
TEXT("SeChangeNotifyPrivilege")
ファイルまたはディレクトリへの変更の通知を受信するために必要。 この特権により、システムがすべての走査アクセス チェックをスキップするようにもなります。 これは、既定ですべてのユーザーに対して有効になっています。
ユーザー権利: 走査チェックをバイパスします。
SE_CREATE_GLOBAL_NAME
TEXT("SeCreateGlobalPrivilege")
ターミナル サービス セッション中にグローバル名前空間に名前付きファイル マッピング オブジェクトを作成するために必要。 この特権は、管理者、サービス、およびローカル システム アカウントに対して既定で有効になっています。
ユーザー権利: グローバル オブジェクトを作成します。
SE_CREATE_PAGEFILE_NAME
TEXT("SeCreatePagefilePrivilege")
ページング ファイルを作成するために必要。
ユーザー権利: ページング ファイルを作成します。
SE_CREATE_PERMANENT_NAME
TEXT("SeCreatePermanentPrivilege")
永続的オブジェクトを作成するために必要。
ユーザー権利: 永続的オブジェクトを作成します。
SE_CREATE_SYMBOLIC_LINK_NAME
TEXT("SeCreateSymbolicLinkPrivilege")
シンボリック リンクを作成するために必要。
ユーザー権利: シンボリック リンクを作成します。
SE_CREATE_TOKEN_NAME
TEXT("SeCreateTokenPrivilege")
プライマリ トークンを作成するために必要。
ユーザー権利: トークン オブジェクトを作成します。
"トークン オブジェクトの作成" ポリシーを使用して、この特権をユーザー アカウントに追加することはできません。 また、Windows API を使用してこの特権を所有プロセスに追加することはできません。Windows Server 2003 および Windows XP SP1 以前: Windows API は、この特権を所有プロセスに追加できます。

SE_DEBUG_NAME
TEXT("SeDebugPrivilege")
別のアカウントで所有するプロセスのメモリをデバッグおよび調整するために必要。
ユーザー権利: プログラムをデバッグします。
SE_DELEGATE_SESSION_USER_IMPERSONATE_NAME
TEXT("SeDelegateSessionUserImpersonatePrivilege")
同じセッション内の別のユーザーの偽装トークンを取得するために必要。
ユーザー権利: 他のユーザーを偽装します。
SE_ENABLE_DELEGATION_NAME
TEXT("SeEnableDelegationPrivilege")
コンピューターとユーザー アカウントに委任先として信頼できるマークを付けるために必要。
ユーザー権利: コンピューターとユーザー アカウントを委任先として信頼できるようにします。
SE_IMPERSONATE_NAME
TEXT("SeImpersonatePrivilege")
偽装するために必要。
ユーザー権利: 認証後にクライアントを偽装します。
SE_INC_BASE_PRIORITY_NAME
TEXT("SeIncreaseBasePriorityPrivilege")
プロセスの基本優先順位を上げるために必要。
ユーザー権利: スケジューリング優先順位を上げます。
SE_INCREASE_QUOTA_NAME
TEXT("SeIncreaseQuotaPrivilege")
プロセスに割り当てられたクォータを増やすために必要。
ユーザー権利: プロセスのメモリ クォータを調整します。
SE_INC_WORKING_SET_NAME
TEXT("SeIncreaseWorkingSetPrivilege")
ユーザーのコンテキストで実行されるアプリケーションに対して、より多くのメモリを割り当てるために必要。
ユーザー権利: プロセス ワーキング セットを増やします。
SE_LOAD_DRIVER_NAME
TEXT("SeLoadDriverPrivilege")
デバイス ドライバーの読み込みまたはアンロードに必要。
ユーザー権利: デバイス ドライバーのロードとアンロードを行います。
SE_LOCK_MEMORY_NAME
TEXT("SeLockMemoryPrivilege")
メモリ内の物理ページをロックするために必要。
ユーザー権利: メモリ内のページをロックします。
SE_MACHINE_ACCOUNT_NAME
TEXT("SeMachineAccountPrivilege")
コンピューター アカウントを作成するために必要。
ユーザー権利: ドメインにワークステーションを追加します。
SE_MANAGE_VOLUME_NAME
TEXT("SeManageVolumePrivilege")
ボリューム管理特権を有効にするために必要。
ユーザー権利: ボリュームの保守タスクを実行します。
SE_PROF_SINGLE_PROCESS_NAME
TEXT("SeProfileSingleProcessPrivilege")
1 つのプロセスのプロファイル情報を収集するために必要。
ユーザー権利: 1 つのプロセスをプロファイリングします。
SE_RELABEL_NAME
TEXT("SeRelabelPrivilege")
オブジェクトの必須整合性レベルを変更するために必要。
ユーザー権利: オブジェクト ラベルを変更します。
SE_REMOTE_SHUTDOWN_NAME
TEXT("SeRemoteShutdownPrivilege")
ネットワーク要求を使用してシステムをシャットダウンするために必要。
ユーザー権利: リモート システムから強制的にシャットダウンします。
SE_RESTORE_NAME
TEXT("SeRestorePrivilege")
復元操作を実行するために必要。 この特権により、ファイルに対して指定された ACL に関係なく、システムはすべてのファイルに対してすべての書き込みアクセス制御を許可します。 書き込み以外のアクセス要求は、引き続き ACL で評価されます。 また、この特権を使用すると、任意の有効なユーザーまたはグループ SID をファイルの所有者として設定できます。 この特権は、RegLoadKey 関数に必要です。 この権限が保持されている場合、次のアクセス権が許可されます。
  • WRITE_DAC
  • WRITE_OWNER
  • ACCESS_SYSTEM_SECURITY
  • FILE_GENERIC_WRITE
  • FILE_ADD_FILE
  • FILE_ADD_SUBDIRECTORY
  • DELETE
ユーザー権利: ファイルとディレクトリを復元します。
ファイルがリムーバブル ドライブ上にあり、"リムーバブル記憶域の監査" が有効になっている場合、SE_SECURITY_NAME には ACCESS_SYSTEM_SECURITY が必要です。
SE_SECURITY_NAME
TEXT("SeSecurityPrivilege")
監査メッセージの制御や表示などの、セキュリティ関連のさまざまな機能を実行するために必要。 この特権は、その保有者をセキュリティ オペレーターであると識別します。
ユーザー権利: 監査とセキュリティ ログを管理します。
SE_SHUTDOWN_NAME
TEXT("SeShutdownPrivilege")
ローカル システムをシャットダウンするために必要。
ユーザー権利: システムをシャットダウンします。
SE_SYNC_AGENT_NAME
TEXT("SeSyncAgentPrivilege")
ドメイン コントローラーが "ライトウェイト ディレクトリ アクセス プロトコル" ディレクトリ同期サービスを使用するために必要。 この権限は、オブジェクトとプロパティの保護に関係なく、ディレクトリ内のすべてのオブジェクトとプロパティを保有者が読み取ることができるようにします。 既定では、これらの権限はドメイン コントローラーの管理者と LocalSystem アカウントに割り当てられます。
ユーザー権利: ディレクトリ サービス データを同期します。
SE_SYSTEM_ENVIRONMENT_NAME
TEXT("SeSystemEnvironmentPrivilege")
構成情報の格納に不揮発性 RAM を使用するシステムで、そのタイプのメモリを変更するために必要。
ユーザー権利: ファームウェア環境値を変更します。
SE_SYSTEM_PROFILE_NAME
TEXT("SeSystemProfilePrivilege")
システム全体のプロファイル情報を収集するために必要。
ユーザー権利: システム パフォーマンスをプロファイリングします。
SE_SYSTEMTIME_NAME
TEXT("SeSystemtimePrivilege")
システム時刻を変更するために必要。
ユーザー権利: システム時刻を変更します。
SE_TAKE_OWNERSHIP_NAME
TEXT("SeTakeOwnershipPrivilege")
随意アクセス権を許可されずにオブジェクトの所有権を取得するために必要。 この特権を使用すると、保有者の値には、保有者がオブジェクトの保有者として正当に割り当てることができる値のみを設定できるようになります。
ユーザー権利: ファイルとその他のオブジェクトの所有権を取得します。
SE_TCB_NAME
TEXT("SeTcbPrivilege")
この特権は、保有者を信頼されたコンピューター ベースの一部であると識別します。 一部の信頼された保護されているサブシステムに、この特権が許可されます。
ユーザー権利: オペレーティング システムの一部として機能します。
SE_TIME_ZONE_NAME
TEXT("SeTimeZonePrivilege")
コンピューターの内部クロックに関連付けられているタイム ゾーンを調整するために必要。
ユーザー権利: タイム ゾーンを変更します。
SE_TRUSTED_CREDMAN_ACCESS_NAME
TEXT("SeTrustedCredManAccessPrivilege")
信頼された発信者として資格情報マネージャーにアクセスするために必要。
ユーザー権利: 信頼された発信者として資格情報マネージャーにアクセスします。
SE_UNDOCK_NAME
TEXT("SeUndockPrivilege")
ノート PC を装着解除するために必要。
ユーザー権利: ドッキング ステーションからコンピューターを取り外します。
SE_UNSOLICITED_INPUT_NAME
TEXT("SeUnsolicitedInputPrivilege")
"ターミナル" デバイスから要求されていない入力を読み取るために必要。
ユーザー権利: 該当なし。

解説

特権定数は、Winnt.h に文字列として定義されます。 たとえば、SE_AUDIT_NAME 定数は "SeAuditPrivilege" と定義されます。

要件

要件 Value
サポートされている最小のクライアント
Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー
Windows Server 2003 (デスクトップ アプリのみ)
ヘッダー
Winnt.h

関連項目

特権