sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQL:pgcryptoで列を暗号化する

    シークレットストレージは、暗号メカニズムを使用する場合の一般的な問題です。

    pgcryptoはキーストレージを提供しません。必要な場所にキーを自由に保存し、可能な限り保護することができます。

    同じDBAによって管理されている場合、キーを別のデータベースに保存しても、DBAが同じ方法でアクセスする可能性があるため、セキュリティはそれほど高くありません。

    理想的には、クエリを作成するために、キーを安全なボールトに保存し、アプリケーションに要求します。リクエストがselect * from pg_stat_activityを介して実行されている間も、DBAからは表示されます。 。

    set session my.vars.cryptokey = 'secret';を使用して、SQLセッション全体で使用するためのキーを設定できます。 次に、次の構文でクエリに使用します:current_setting('my.vars.cryptokey')::text

    アプリケーションの観点から(ほぼ)透過的であるために、PostgreSQLルールはsecure_columnの翻訳に役立つ場合があります セッションに保存されたキーを使用して関数を復号化するための呼び出し。挿入するには、事前挿入トリガーが必要です。




    1. SQLを使用して実行可能コードをテーブルレコードに保存することは可能ですか?

    2. MySQLネストクエリ選択ステートメント

    3. Plan Explorer 3.0ウェビナー–サンプルとQ&A

    4. データベースの同じ列に行の複数の入力を保存するにはどうすればよいですか?