2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ServiceNowAdvent Calendar 2020

Day 14

[ServiceNow]暗号化で地味に苦労した話

Last updated at Posted at 2020-12-13

 昨今のセキュリティが重要視されている中、ServiceNowにもフィールドの値を暗号化する機能が当然あります。ServiceNowの暗号化機能を検証していた際に少し苦労したのでその点について記述していきます。

#問題
同じ暗号化コンテキスト(暗号化・復号化鍵のようなもの)を設定したユーザAとBにおいて、Aで暗号化した値が、Bから見て復号化した値がフィールドに表示されない。

#####期待値
image.png

#####検証結果(impersonate userで)
image.png

#結論
暗号化の検証作業では代理操作を使うな!
ServiceNowの特徴である代理操作を使うと、暗号化の検証は正しく行えません。
(冷静に考えれば、本来見えてはいけないものが代理操作で見えてしまうのは、本末転倒ですからね。。)

公式のDocsにも書かれています。
image.png
代理操作

#詳細
具体的な検証手順について書いていきます。

#####メジャーバージョン
・Orlando

#####暗号化種類
カラムレベル暗号化(暗号化のサポート)

#####前提
・プラグインを入れる
・設定は"security_admin"ロールを持つユーザ

#####手順

  1. 暗号化コンテキストを設定
    image.png
  2. 暗号化コンテキストをロールに紐づける(必要があれば専用のロールを作成)
    image.png
  3. 任意のテーブルの既存のカラムの属性を変更(または新規でカラムを作成)
    image.png
  4. あとは検証(属性を変更したカラムに値を入れたり、更新したり、コンテキストを持っていない人から見えないか確認する)←この検証の時に代理操作機能は使用しないこと!!
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?