次の方法で共有


セキュリティとレジストリ (Visual Basic)

このページでは、レジストリにデータを格納する場合のセキュリティへの影響について説明します。

権限

レジストリ キーが ACL (アクセス制御リスト) によって保護されている場合でも、パスワードなどのシークレットをプレーン テキストとしてレジストリに格納することは安全ではありません。

レジストリを操作すると、システム リソースや保護された情報への不適切なアクセスが許可され、セキュリティが損なわれる可能性があります。 これらのプロパティを使用するには、レジストリ変数へのアクセスを制御する RegistryPermissionAccess 列挙体からの読み取りと書き込みのアクセス許可が必要です。 完全信頼で実行されているコード (既定のセキュリティ ポリシーでは、ユーザーのローカル ハード ディスクにインストールされているコード) には、レジストリにアクセスするために必要なアクセス許可があります。 詳細については、クラス RegistryPermission 参照してください。

レジストリ変数は、 RegistryPermission のないコードがアクセスできるメモリの場所に格納しないでください。 同様に、アクセス許可を付与する場合は、ジョブを完了するために必要な最小限の特権を付与します。

レジストリのアクセス許可のアクセス値は、 RegistryPermissionAccess 列挙体によって定義されます。 次の表では、そのメンバーについて詳しく説明します。

価値 レジストリ変数へのアクセス
AllAccess 作成、読み取り、書き込み
Create 創造する
NoAccess アクセス権なし
Read お読みください
Write 書く

レジストリ キーの値のチェック

レジストリ値を作成するときは、その値が既に存在する場合の処理を決定する必要があります。 別のプロセス (おそらく悪意のあるプロセス) は、既に値を作成し、それにアクセスできる可能性があります。 レジストリ値にデータを格納すると、データは他のプロセスで使用できます。 これを回避するには、 GetValue メソッドを使用します。 キーがまだ存在しない場合は、 Nothing を返します。

Von Bedeutung

Web アプリケーションからレジストリを読み取る場合、現在のユーザーの ID は、Web アプリケーションに実装されている認証と偽装に依存します。

こちらも参照ください