特権定数 (承認)

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

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

オペレーティング システムは、次の表の Description 列の "User Right" に続く文字列を使用して特権を表します。 オペレーティング システムは、ローカル セキュリティ 設定 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 で評価されます。 この特権は、 RegSaveKeyRegSaveKeyExfunctions で必要です。 この権限が保持されている場合、次のアクセス権が付与されます。
  • READ_CONTROL
  • ACCESS_SYSTEM_SECURITY
  • FILE_GENERIC_READ
  • FILE_TRAVERSE
ユーザー権限: ファイルとディレクトリをバックアップします。
ファイルがリムーバブル ドライブ上にあり、"リムーバブル Storageの監査" が有効になっている場合は、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 および SP1 以前の Windows XP: 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
ユーザー権限: ファイルとディレクトリを復元します。
ファイルがリムーバブル ドライブにあり、"Audit Removable Storage" が有効になっている場合、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" として定義されます。

必要条件

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

関連項目

特権