レコードプロデューサーからのデータの暗号化

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:5分
  • レコードプロデューサーレコードから暗号化ルールを作成し、レコードプロデューサーからの挿入を許可するように エッジ暗号化 プロキシサーバーを設定します。

    始める前に

    必要なロール:security_admin

    レコードプロデューサーを使用すると、エンドユーザーはインシデントレコードなどのタスクベースのレコードをサービスカタログおよびサービスポータルから作成できます。レコードプロデューサーが、暗号化対象としてマークされたフィールドにデータを挿入しようとすると、無効な挿入のメッセージが表示され、データはフィールドに保存されません。

    レコードプロデューサーからのデータを暗号化するには、ターゲットフィールドに対して暗号化設定を定義する必要があります。レコード プロデューサーから暗号化ルールを作成する前に、ターゲットフィールドとテーブルの暗号化設定を作成済みであることを確認してください。「フィールド暗号化を作成する」を参照してください。レコード プロデューサーから添付ファイルを暗号化するには、「添付ファイルの暗号化を設定する」の手順を実行します。

    手順

    1. エッジ暗号化 プロキシサーバー経由でインスタンスにログインします。
    2. 移動先 サービスカタログ > カタログ定義 > Record Producer (レコードプロデューサー).
    3. レコードプロデューサーレコードを作成するか、既存のレコードプロデューサーレコードを開きます。
    4. [関連リンク] で、[エッジ暗号化のルールを作成] を選択します。
      暗号化対象としてにマークされたフィールドにレコード プロデューサーから送信されたデータを暗号化するための、2 つの非アクティブな暗号化ルールが自動的に作成されます。
      暗号化ルール 説明
      <RecordProducerName> サービスカタログからの POST パラメーターを処理し、インスタンス内のフィールドに変数をマップするために作成されたルール。
      <RecordProducerName>Json サービスポータルからの JSON ペイロードを処理し、インスタンス内のフィールドに変数をマップするために作成されたルール。
    5. レコード プロデューサーによって作成された必要な暗号化ルールを有効にします。
      1. 移動先 エッジ暗号化の設定 > ルール > すべて.
      2. レコード プロデューサーの使用場所に応じて、レコード プロデューサーによって作成された関連する暗号化ルールを開き、[有効] フラグを選択します。
        レコード プロデューサーをサービスカタログで使用する場合は、<RecordProducerName> 暗号化ルールを有効にします。レコード プロデューサーをサービスポータルで使用する場合は、<RecordProducerName>Json 暗号化ルールを有効にします。
    6. オプション: 暗号化ルールの [アクション] フィールドを調べ、必要なフィールド名またはステートメントがあれば追加します。

      レコード プロデューサーが変数をテーブルのフィールドに直接マップする場合は、暗号化ルールによって変数が正しいフィールドに自動的にマップされます。ただし、変数がプラットフォームのさまざまなスクリプトを介して間接的にマップされる場合は、それぞれの変数が正しいフィールドにマップされるように、状況に応じてルールを更新する必要があります。

      次の暗号化ルールはレポート機能停止レコード プロデューサーから作成されたもので、サービスカタログからの POST パラメーターを処理してインスタンス内のフィールドに変数をマップします。'FILL ME IN' の部分をターゲットフィールドに置き換えます。

      エッジ暗号化ルール:レポート機能停止

      次の暗号化ルールはレポート機能停止レコード プロデューサーから作成されたもので、サービスポータルからの JSON ペイロードを処理してインスタンス内のフィールドに変数をマップします。スクリプト化された変数をターゲットフィールドにマップするステートメントを追加します。

      エッジ暗号化ルール:ReportOutageJson

      レコード プロデューサーからのペイロードを調べてみると、error_message 要素に short_description フィールドの値が格納されています。次のステートメントを追加することで、スクリプト化された変数 error_message を short_description フィールドにマップできます。

      if (jsonElement.getName() == 'error_message')
              jsonElement.valueFor(tableName, 'short_description');

      [アクション] フィールドの値は次のようになります。

      function ReportOutageJsonAction(request) {
      	var tableName = 'incident';
      	// Some fields are set in script, additional parameter lines may need to be added
      	// current.comments is accessed via script from notes; // assignment to current.comments does NOT replace existing values
      	// current.short_description is accessed via script from short_description;
      	// current.description is accessed via script from current.short_description;
      	// current.caller_id is accessed via script from gs.getUserID();
      	var jsonContent = request.getAsJsonContent();
      	for (var jsonElementItr = jsonContent.getIterator('variables'); jsonElementItr.hasNext();) {
      		var jsonElement = jsonElementItr.next();
      		if (jsonElement.getName() == 'error_message')
      			jsonElement.valueFor(tableName, 'short_description');
                    } else {
      		        jsonElement.valueFor(tableName, jsonElement.getName());
      	}
      }

    タスクの結果

    2 つの暗号化ルールにより、サービスカタログサービスポータルのどちらでも、暗号化対象としてマークされたフィールドにレコード プロデューサーから値を挿入できます。