Internet Engineering Task Force (IETF)                          J. Gould
Request for Comments: 9537                                      D. Smith
Category: Standards Track                                 VeriSign, Inc.
ISSN: 2070-1721                                                J. Kolker
                                                               R. Carney
                                                            GoDaddy Inc.
                                                              March 2024
        
Redacted Fields in the Registration Data Access Protocol (RDAP) Response
登録データアクセスプロトコル(RDAP)応答の編集フィールド
Abstract
概要

This document describes a Registration Data Access Protocol (RDAP) extension for specifying methods of redaction of RDAP responses and explicitly identifying redacted RDAP response fields, using JSONPath as the default expression language.

このドキュメントでは、JSONPATHをデフォルトの表現言語として使用して、RDAP応答の編集方法を指定し、編集されたRDAP応答フィールドを明示的に識別するための登録データアクセスプロトコル(RDAP)拡張機能について説明します。

Status of This Memo
本文書の位置付け

This is an Internet Standards Track document.

これは、インターネット標準トラックドキュメントです。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.

このドキュメントは、インターネットエンジニアリングタスクフォース(IETF)の製品です。IETFコミュニティのコンセンサスを表しています。公開レビューを受けており、インターネットエンジニアリングステアリンググループ(IESG)からの出版が承認されています。インターネット標準の詳細については、RFC 7841のセクション2で入手できます。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc9537.

このドキュメントの現在のステータス、任意のERRATA、およびそのフィードバックを提供する方法に関する情報は、https://www.rfc-editor.org/info/rfc9537で取得できます。

著作権表示

Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved.

著作権(c)2024 IETF Trustおよび文書著者として特定された人。無断転載を禁じます。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.

このドキュメントは、BCP 78およびIETFドキュメント(https://trustee.ietf.org/license-info)に関連するIETF Trustの法的規定の対象となります。この文書に関するあなたの権利と制限を説明するので、これらの文書を注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、セクション4.Eで説明されている法的規定のセクション4.Eで説明されており、改訂されたBSDライセンスで説明されている保証なしで提供されるように、改訂されたBSDライセンステキストを含める必要があります。

Table of Contents
目次
   1.  Introduction
   2.  Conventions Used in This Document
   3.  Redaction Methods
     3.1.  Redaction by Removal Method
     3.2.  Redaction by Empty Value Method
     3.3.  Redaction by Partial Value Method
     3.4.  Redaction by Replacement Value Method
   4.  Redacted RDAP Response
     4.1.  RDAP Conformance
     4.2.  "redacted" Member
   5.  JSONPath Considerations
     5.1.  JSONPath Client Considerations
     5.2.  JSONPath Server Considerations
   6.  IANA Considerations
     6.1.  RDAP Extensions Registry
     6.2.  RDAP JSON Values Registry
   7.  Security Considerations
   8.  References
     8.1.  Normative References
     8.2.  Informative References
   Acknowledgements
   Authors' Addresses
        
1. Introduction
1. はじめに

This document describes an RDAP extension for specifying methods of redaction of RDAP responses and explicitly identifying redacted RDAP response fields, using JSONPath as the default expression language. A redacted RDAP field is one that has data removed or replaced in the RDAP response due to server policy, such as the lack of client privilege to receive the field. This extension can be used to identify redacted RDAP fields in any RDAP object class, as defined in [RFC9083], or RDAP fields defined in RDAP extensions. Because an RDAP response may exclude a field due to either the lack of data or the lack of RDAP client privileges, this extension is used to explicitly specify which RDAP fields are not included in the RDAP response due to redaction. It thereby provides a capability for disambiguation between redaction and other possible reasons for data or field absence.

このドキュメントでは、JSONPATHをデフォルトの表現言語として使用して、RDAP応答の編集方法を指定し、編集されたRDAP応答フィールドを明示的に識別するRDAP拡張機能について説明します。編集されたRDAPフィールドは、フィールドを受信するためのクライアントの特権の欠如など、サーバーポリシーのためにRDAP応答でデータを削除または置き換えたものです。この拡張機能は、[RFC9083]で定義されているRDAPオブジェクトクラスの編集されたRDAPフィールド、またはRDAP拡張で定義されたRDAPフィールドを識別するために使用できます。RDAP応答は、データの不足またはRDAPクライアントの特権の欠如のいずれかのためにフィールドを除外する可能性があるため、この拡張機能は、編集によりRDAP応答に含まれていないRDAPフィールドを明示的に指定するために使用されます。それにより、編集とデータや現場不在の他の考えられる理由との間の曖昧性を除去する能力を提供します。

In [RFC9082], RDAP supports both lookup and search queries, where a lookup query responds with a single object and a search query responds with a list of objects. This document applies to redaction of a single object of a lookup response and in each of the objects of a search response.

[RFC9082]では、RDAPはルックアップクエリと検索クエリの両方をサポートします。ここでは、1つのオブジェクトでルックアップクエリが応答し、検索クエリはオブジェクトのリストで応答します。このドキュメントは、ルックアップ応答の単一のオブジェクトの編集に適用され、検索応答の各オブジェクトに適用されます。

JSONPath, as defined in [RFC9535], is used as the default expression language to reference RDAP fields that have been redacted. The redacted JSON fields will be removed, have empty values, have partial values, or be replaced in the RDAP response. JSON is defined by [RFC8259].

[RFC9535]で定義されているJSonPathは、編集されたRDAPフィールドを参照するデフォルトの式式言語として使用されます。編集されたJSONフィールドは削除され、空の値があるか、部分的な値があるか、RDAP応答で置き換えられます。JSONは[RFC8259]で定義されています。

2. Conventions Used in This Document
2. このドキュメントで使用されている規則

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

「必須」、「必要」、「必須」、「shall」、「shall」、「suff」、 "not"、 "becommended"、 "becommented"、 "may"、 "optional「このドキュメントでは、BCP 14 [RFC2119] [RFC8174]で説明されているように解釈されます。

The JSON examples include extra line breaks and empty space. For instance, the JSONPath expressions are broken out into multiple lines when required for illustration.

JSONの例には、追加のラインブレークと空きスペースが含まれます。たとえば、JSONPATH式は、イラストに必要な場合に複数の行に分割されます。

The JSONPath expressions in the examples are for illustration purposes with single-role entities, and the exact expressions to be used by the server are out of scope.

例のJSONPATH式は、単一ロールエンティティを備えたイラストの目的であり、サーバーが使用する正確な式は範囲外です。

3. Redaction Methods
3. 編集方法

Redaction in RDAP can be handled in multiple ways. The resulting redacted RDAP response MUST comply with the format defined in the RDAP RFCs, such as [RFC9083] and updates. The use of placeholder text for the values of the RDAP fields, such as "XXXX", MUST NOT be used for redaction, since the placeholder text value may not match the format requirements of each of the RDAP fields, which could provide an inconsistent and unreliable redaction signal. This section covers the redaction methods that can be used with the redaction signaling defined in Section 4.2.

RDAPでの編集は、複数の方法で処理できます。結果の編集されたRDAP応答は、[RFC9083]や更新などのRDAP RFCで定義されている形式に準拠する必要があります。「xxxx」などのRDAPフィールドの値にプレースホルダーテキストを使用することは、編集に使用してはなりません。プレースホルダーのテキスト値は、各RDAPフィールドの形式要件と一致しない可能性があり、一貫性がなく、一貫性がなく、信頼できない編集信号。このセクションでは、セクション4.2で定義された編集シグナル伝達で使用できる編集方法について説明します。

RDAP responses, as defined in [RFC9083], include a mix of JSON objects and JSON arrays, where JSON arrays are heavily used for entity objects with jCard [RFC7095]. jCard is a JSON representation of vCard [RFC6350] that inherits its dependency on arrays. An example is the vCard "ADR" property [RFC6350], or the jCard "adr" property [RFC7095], which defines a sequence of address components. According to [RFC6350], when an "ADR" property component value is missing, the associated component separator MUST still be specified. jCard extends the use of arrays with each individual vCard property being represented by an array of three fixed elements, followed by one or more additional elements. The mix of JSON objects and JSON arrays impacts the methods used for redaction in RDAP.

[RFC9083]で定義されているRDAP応答には、JSONオブジェクトとJSONアレイの組み合わせが含まれています。ここでは、JSONアレイはJCARD [RFC7095]のエンティティオブジェクトによく使用されます。JCardは、Arrayへの依存性を継承するVCard [RFC6350]のJSON表現です。例は、VCard "ADR"プロパティ[RFC6350]、またはアドレスコンポーネントのシーケンスを定義するJCard「ADR」プロパティ[RFC7095]です。[RFC6350]によると、「ADR」プロパントコンポーネント値が欠落している場合、関連するコンポーネントセパレーターを指定する必要があります。JCardは、個々のVCARDプロパティが3つの固定要素の配列で表され、その後1つ以上の追加要素で表される配列の使用を拡張します。JSONオブジェクトとJSONアレイの組み合わせは、RDAPでの編集に使用される方法に影響を与えます。

The redaction of RDAP fields fall into the four categories defined in the following subsections.

RDAPフィールドの編集は、次のサブセクションで定義されている4つのカテゴリに分類されます。

3.1. Redaction by Removal Method
3.1. 除去方法による編集

The Redaction by Removal Method is when the RDAP field is removed from the RDAP response, which is the default method. The Redaction by Removal Method can be done for all RDAP response fields except for response fields using the position in an array to signal the redacted field (e.g., the JSON arrays used with jCard). RDAP extensions, such as the one described in "Using JSContact in Registration Data Access Protocol (RDAP) JSON Responses" [RDAP-JSCONTACT], do not have a dependency on the use of positional JSON arrays and are therefore suited for the Redaction by Removal Method.

削除による編集方法は、RDAPフィールドがデフォルトの方法であるRDAP応答から削除された場合です。削除方法による編集方法は、配列内の位置を使用して編集されたフィールド(JCardで使用されるJSONアレイなど)を使用して応答フィールドを除き、すべてのRDAP応答フィールドに対して実行できます。「登録データアクセスプロトコル(RDAP)JSON応答」[RDAP-JSCONTACT]で説明されているようなRDAP拡張機能は、位置JSONアレイの使用に依存しないため、除去による編集に適しています。方法。

When an RDAP object is redacted by removal, all of the RDAP object's child fields are also removed. Only the redacted RDAP object needs to be referenced in the list of redacted fields, as defined in Section 4.2.

RDAPオブジェクトが削除によって編集されると、RDAPオブジェクトのすべての子フィールドも削除されます。セクション4.2で定義されているように、編集されたRDAPオブジェクトのみを編集したフィールドのリストで参照する必要があります。

An example of redacting an RDAP object is removing the administrative contact from the RDAP response and including the following "redacted" member:

RDAPオブジェクトを編集する例は、RDAP応答から管理接触を削除し、次の「編集された」メンバーを含めることです。

   "redacted": [
     {
       "name": {
         "description": "Administrative Contact"
       },
       "prePath": "$.entities[?(@.roles[0]=='administrative')]",
       "method": "removal"
     }
   ]
        

Figure 1: Redacted Administrative Contact

図1:編集された管理上の連絡先

The Redaction by Removal Method MUST NOT be used to remove an element of an array where the position of the element in the array determines semantic meaning. For example, removal of an individual data field in jCard will result in a non-conformant jCard array definition.

削除方法による編集方法を使用して、配列内の要素の位置がセマンティックの意味を決定する配列の要素を削除してはなりません。たとえば、JCARDで個々のデータフィールドを削除すると、不適合なJCARDアレイ定義が生じます。

3.2. Redaction by Empty Value Method
3.2. 空の値法による編集

The Redaction by Empty Value Method is when a redacted field is not removed but its value is set to an empty value, such as "" for a jCard text ("text") property or null for a non-text property. The empty jCard values ("" or null) are referenced in the "redacted" member in place of the jCard property name in an array, such as referencing the "fn" jCard property value at position 3 instead of referencing the "fn" jCard property name at position 0. The Redaction by Empty Value Method MUST be used only when redacting JSON response fields that use the position in an array to signal the redacted field (e.g., jCard arrays). Optional jCard properties MUST use the Redaction by Removal Method (Section 3.1) to redact the entire property. The required jCard "fn" property, defined in Section 6.2.1 of vCard [RFC6350], MUST use the Redaction by Empty Value Method to redact the property value. Removing the "fn" property would violate vCard [RFC6350], and removing the property value would violate the fixed array positions defined in jCard.

空の値による編集は、編集されたフィールドが削除されないが、その値がjcardテキスト(「テキスト」)プロパティの「」などの空の値または非テキストプロパティのnullなどの空の値に設定される場合です。空のjcard値( ""またはnull)は、「fn」jcardを参照する代わりに、位置3で「fn」jcardプロパティ値を参照するなど、配列内のjcardプロパティ名の代わりに「編集された」メンバーで参照されます。位置0のプロパティ名。空の値による編集は、配列内の位置を使用して編集されたフィールド(JCard配列など)を編集する場合にのみ使用する必要があります。オプションのJCardプロパティは、削除方法(セクション3.1)による編集を使用して、プロパティ全体を編集する必要があります。VCARD [RFC6350]のセクション6.2.1で定義されている必要なJCard "FN"プロパティは、空の値による編集を使用してプロパティ値を編集する必要があります。「FN」プロパティを削除すると、VCARD [RFC6350]に違反し、プロパティ値を削除すると、JCardで定義された固定配列位置に違反します。

   [
     "fn",
     {},
     "text",
     ""
   ]
        

Figure 2: Redacted "fn" jCard Property Using the Redaction by Empty Value Method

図2:空の値による編集を使用して編集された「FN」JCardプロパティ

An example of the "redacted" member for the redacted "fn" jCard property value, which is array position 3:

編集された "FN" JCARDプロパティ値の「編集された」メンバーの例、つまり配列位置3:

   "redacted": [
     {
       "name": {
         "description": "Registrant Name"
       },
       "postPath": "$.entities[?(@.roles[0]=='registrant')].
         vcardArray[1][?(@[0]=='fn')][3]",
       "pathLang": "jsonpath",
       "method": "emptyValue",
       "reason": {
         "description": "Server policy"
       }
     }
   ]
        

Figure 3: Redacted Registrant Name Using an Array Position

図3:配列位置を使用して編集された登録者名

3.3. Redaction by Partial Value Method
3.3. 部分価値法による編集

The Redaction by Partial Value Method is when a redacted field is not removed but its value has a portion of the data removed, such as for the "label" or "fn" jCard properties. The partial values are referenced in the "redacted" member in place of the property name in an array, such as referencing the "fn" jCard property value at position 3 instead of referencing the "fn" jCard property name at position 0. The Redaction by Partial Value Method SHOULD be used only when redacting JSON response fields that use a formatted value, where a portion of the value is removed.

部分値による編集方法は、編集されたフィールドが削除されないが、その値には「ラベル」や「FN」JCardプロパティなど、データの一部が削除された場合です。部分的な値は、配列内のプロパティ名の代わりに「編集された」メンバーで参照されます。たとえば、位置0の「fn」jcardプロパティ名を参照する代わりに、位置3の「fn」jcardプロパティ値を参照します。部分値によっては、フォーマットされた値を使用するJSON応答フィールドを編集する場合にのみ使用する必要があります。ここでは、値の一部が削除されます。

An example of the "label" jCard property in Section 3.3.1.3 of [RFC7095] that redacts "123 Maple Ave\nSuite 901\n":

[RFC7095]のセクション3.3.1.3の「ラベル」JCardプロパティの例「123 Maple Ave \ nsuite 901 \ n」を編集する例:

   ["adr",
     {
       "type":"home",
       "label":"Vancouver\nBC\n1239\n"
     },
     "text",
     [
       "", "", "", "", "", "", ""
     ]
   ]
        

Figure 4: Redacted "label" jCard Property

図4:編集された「ラベル」JCardプロパティ

An example of the "redacted" member for the redacted "label" jCard property value, based on Section 3.3.1.3 of [RFC7095]:

[RFC7095]のセクション3.3.1.3に基づいて、編集された「JCARDプロパティ値」の「編集された」メンバーの例:

   "redacted": [
     {
       "name": {
         "description": "Home Address Label"
       },
       "postPath": "$.vcardArray[1][?(@[0]=='adr')][1].label",
       "pathLang": "jsonpath",
       "method": "partialValue",
       "reason": {
         "description": "Server policy"
       }
     }
   ]
        

Figure 5: Redacted Label Using the Redaction by Partial Value Method

図5:部分価値法による編集を使用した編集ラベル

3.4. Redaction by Replacement Value Method
3.4. 交換価値法による編集

The Redaction by Replacement Value Method is when a redacted field is not removed but its value is replaced with a different value, such as protecting the "email" jCard property value with an anonymized email "text" value or the use of an alternative "uri" value to a web form. Replacing a property value is a form of redaction, since it protects the true property value for privacy reasons.

交換値による編集方法は、編集されたフィールドが削除されないが、その値が匿名の電子メール「テキスト」値で「電子メール」JCARDプロパティ値を保護するか、「URI」の使用など、異なる値に置き換える場合です。「Webフォームへの価値。プロパティ値を置き換えることは、プライバシー上の理由で真のプロパティ値を保護するため、編集の一形態です。

   [
     "email",
     {},
     "text",
     "anonymized123@example.com"
   ]
        

Figure 6: Redacted "email" jCard Property Using the Redaction by Replacement Value Method with an Anonymized Email

図6:匿名化された電子メールを使用して、編集値による編集を使用して編集された「電子メール」jcardプロパティ

   "redacted": [
     {
       "name": {
         "description": "Registrant Email"
       },
       "postPath": "$.entities[?(@.roles[0]=='registrant')].
                  vcardArray[1][?(@[0]=='email')][3]",
       "pathLang": "jsonpath",
       "method": "replacementValue",
     }
   ]
        

Figure 7: Redacted Email Using a Replacement Value with an Anonymized "text" Value

図7:匿名化された「テキスト」値で交換値を使用した編集された電子メール

   [
     "contact-uri",
     {},
     "uri",
     "https://email.example.com/123"
   ]
        

Figure 8: Redacted "email" jCard Property Using the Redaction by Replacement Value Method with a "contact-uri" jCard Property to a Web Form

図8:編集された「電子メール」jcardプロパティは、redaction by redaction by force jcardプロパティを使用して、「contact-uri」jcardプロパティをWebフォームに

   "redacted": [
     {
       "name": {
         "description": "Registrant Email"
       },
       "prePath": "$.entities[?(@.roles[0]=='registrant')].
                  vcardArray[1][?(@[0]=='email')]",
       "replacementPath": "$.entities[?(@.roles[0]=='registrant')].
                  vcardArray[1][?(@[0]=='contact-uri')]",
       "pathLang": "jsonpath",
       "method": "replacementValue",
     }
   ]
        

Figure 9: Redacted Email Using a Replacement Value with a "contact-uri" jCard Property to a Web Form

図9:「Contact-URI」JCARDプロパティを使用した交換用値を使用して、Webフォームに編集された電子メール

4. Redacted RDAP Response
4. 編集されたRDAP応答
4.1. RDAP Conformance
4.1. RDAPの適合

RDAP responses that contain values described in this document MUST indicate conformance with this specification by including an "rdapConformance" [RFC9083] value of "redacted". The "redacted" extension identifier is described in Section 6.1.

このドキュメントで説明されている値を含むRDAP応答は、「RDAPCONFORMANCE」[RFC9083]値の「編集」の値を含めることにより、この仕様との適合性を示す必要があります。「編集された」拡張識別子は、セクション6.1で説明されています。

   "rdapConformance": [
     "rdap_level_0",
     "redacted"
   ]
        

Figure 10: "rdapConformance" with Redacted Extension

図10:編集された拡張機能を備えた「rdapconformance」

4.2. "redacted" Member
4.2. 「編集された」メンバー

The "redacted" member MUST be added to the RDAP response when there is one or more redacted fields. The "redacted" member is included as a member of the object instance in a lookup response, such as the object classes defined in [RFC9083], and as a member of the object instances in a search response.

「編集された」メンバーは、1つ以上の編集されたフィールドがある場合、RDAP応答に追加する必要があります。「編集された」メンバーは、[RFC9083]で定義されているオブジェクトクラスなど、ルックアップ応答のオブジェクトインスタンスのメンバーとして、および検索応答のオブジェクトインスタンスのメンバーとして含まれます。

The server, including a redacted signal, provides an unauthorized client additional information related to the existence of data and MAY exclude the redacted members for RDAP fields that are considered a privacy issue in providing a data existence signal. The server MAY choose to publish a redaction policy describing how this extension is implemented for their constituency. The contents of such a policy are outside the scope of this specification.

編集された信号を含むサーバーは、データの存在に関連する不正なクライアントの追加情報を提供し、データ存在信号を提供する際にプライバシー問題と見なされるRDAPフィールドの編集されたメンバーを除外する場合があります。サーバーは、この拡張機能が選挙区のためにどのように実装されるかを説明する編集ポリシーを公開することを選択できます。このようなポリシーの内容は、この仕様の範囲外です。

The "redacted" member contains an array of objects with the following child members:

「編集された」メンバーには、次の子メンバーがいるオブジェクトの配列が含まれています。

"name":

"名前":

REQUIRED logical name for the redacted field. The logical name used for the redacted field is up to server policy. The logical name is defined using an object with a "type" field denoting a registered redacted name (see Section 6.2) or a "description" field denoting an unregistered redacted name. The registered redacted names and the chosen unregistered names can meet the needs of different RDAP services or industries.

編集されたフィールドに必要な論理名。編集されたフィールドに使用される論理名は、サーバーポリシーに合っています。論理名は、登録された編集名(セクション6.2を参照)または未登録の編集名を示す「説明」フィールドを示す「タイプ」フィールドを持つオブジェクトを使用して定義されます。登録された編集された名前と選択された未登録の名前は、さまざまなRDAPサービスまたは業界のニーズを満たすことができます。

"prePath":

「Prepath」:

OPTIONAL JSON path expression referencing a redacted JSON field in the pre-redacted response, using the expression language defined by the "pathLang" member. The "prePath" member MAY be set when the redacted field does not exist in the redacted response for the Redaction by Removal Method (Section 3.1) and the Redaction by Replacement Value Method (Section 3.4). The "prePath" member MUST NOT be set when the "postPath" member is set.

オプションのJSONパス式は、「Pathlang」メンバーによって定義された式言語を使用して、再編集された応答で編集されたJSONフィールドを参照します。「Prepath」メンバーは、削除方法(セクション3.1)および交換価値法(セクション3.4)による編集の編集された応答に編集されたフィールドが存在しない場合に設定できます。「PostPath」メンバーが設定されている場合、「Prepath」メンバーを設定してはなりません。

"postPath":

「PostPath」:

OPTIONAL JSON path expression referencing a redacted JSON field in the redacted (post-redacted) response, using the expression language defined by the "pathLang" member. The "postPath" member MUST be set when the redacted field does exist in the redacted response for the Redaction by Empty Value Method (Section 3.2), the Redaction by Partial Value Method (Section 3.3), and the Redaction by Replacement Value Method (Section 3.4). The "postPath" member MUST NOT be set when the "prePath" member is set.

「Pathlang」メンバーによって定義された式言語を使用して、編集された(後の)応答で編集されたJSONフィールドを参照するオプションのJSONパス式式。「PostPath」メンバーは、編集されたフィールドが、空の値による編集の編集された応答(セクション3.2)、部分価値法による編集(セクション3.3)、および交換値による編集(セクションによる編集)に存在する場合に設定する必要があります。3.4)。「PostPath」メンバーは、「Prepath」メンバーが設定されたときに設定してはなりません。

"replacementPath":

「交換パス」:

OPTIONAL JSON path expression of the replacement field of the redacted field with the Redaction by Replacement Value Method (Section 3.4), using the expression language defined by the "pathLang" member.

「Pathlang」メンバーによって定義された式言語を使用して、交換値による編集値による編集フィールドの交換場のオプションのJSONパス式(セクション3.4)による編集フィールド(セクション3.4)。

"pathLang":

「Pathlang」:

OPTIONAL JSON path expression language used, with the default value of "jsonpath" for JSONPath [RFC9535]. Other JSON path expression languages registered with the "redacted expression language" Type in the "RDAP JSON Values" registry MAY be used based on server policy.

JSONPATH [RFC9535]の「JSONPATH」のデフォルト値で、オプションのJSONパス式式言語が使用されています。「RDAP JSON値」レジストリで「編集された式」タイプに登録された他のJSONパス式言語は、サーバーポリシーに基づいて使用できます。

"method":

"方法":

OPTIONAL redaction method used, with one of the following values:

次の値のいずれかで使用されているオプションの編集方法:

* "removal" indicating the Redaction by Removal Method (Section 3.1),

* 除去方法による編集を示す「除去」(セクション3.1)、

* "emptyValue" indicating the Redaction by Empty Value Method (Section 3.2),

* 空の値法による編集を示す「空き値」(セクション3.2)、

* "partialValue" indicating the Redaction by Partial Value Method (Section 3.3), or

* 「部分値」は、部分価値法(セクション3.3)による編集を示す、または

* "replacementValue" indicating the Redaction by Replacement Value Method (Section 3.4).

* 交換値法による編集を示す「交換用バリュー」(セクション3.4)。

The default value is "removal" when not provided.

デフォルト値は、提供されていない場合は「削除」です。

"reason":

"理由":

OPTIONAL human-readable reason(s) for the redacted field in the language defined by the "lang" [RFC9083] member. The default language is "en" if the "lang" [RFC9083] member is not specified. The reason is defined using an object with an OPTIONAL "type" field denoting a registered redacted reason (see Section 6.2) and an OPTIONAL "description" field denoting an unregistered redacted reason. The "description" field MUST NOT be a client processing dependency.

「Lang」[RFC9083]メンバーによって定義された言語の編集されたフィールドのオプションの人間読み取り可能な理由。「Lang」[RFC9083]メンバーが指定されていない場合、デフォルト言語は「EN」です。この理由は、登録された編集された理由(セクション6.2を参照)を示すオプションの「タイプ」フィールドと、登録されていない編集された理由を示すオプションの「説明」フィールドを使用して定義されます。「説明」フィールドは、クライアントの処理依存関係であってはなりません。

Example of the unredacted version of an RDAP lookup response:

RDAPルックアップ応答の編集されていないバージョンの例:

       {
         "rdapConformance": [
           "rdap_level_0"
         ],
         "objectClassName": "domain",
         "handle": "ABC123",
         "ldhName": "example.com",
         "secureDNS": {
           "delegationSigned": false
         },
         "notices": [
           {
             "title": "Terms of Use",
             "description": [
               "Service subject to Terms of Use."
             ],
             "links": [
               {
                 "rel": "self",
                 "href": "https://www.example.com/terms-of-use",
                 "type": "text/html",
                 "value": "https://www.example.com/terms-of-use"
               }
             ]
           }
         ],
         "nameservers": [
           {
             "objectClassName": "nameserver",
             "ldhName": "ns1.example.com"
           },
           {
             "objectClassName": "nameserver",
             "ldhName": "ns2.example.com"
           }
         ],
         "entities": [
           {
             "objectClassName": "entity",
             "handle": "123",
             "roles": [
               "registrar"
             ],
             "publicIds": [
               {
                 "type": "IANA Registrar ID",
                 "identifier": "1"
               }
             ],
             "vcardArray": [
               "vcard",
               [
                 [
                   "version",
                   {},
                   "text",
                   "4.0"
                 ],
                 [
                   "fn",
                   {},
                   "text",
                   "Example Registrar Inc."
                 ],
                 [
                   "adr",
                   {},
                   "text",
                   [
                     "",
                     "Suite 100",
                     "123 Example Dr.",
                     "Dulles",
                     "VA",
                     "20166-6503",
                     "US"
                   ]
                 ],
                 [
                   "email",
                   {},
                   "text",
                   "contact@organization.example"
                 ],
                 [
                   "tel",
                   {
                     "type": "voice"
                   },
                   "uri",
                   "tel:+1.7035555555;ext=1234"
                 ],
                 [
                   "tel",
                   {
                     "type": "fax"
                   },
                   "uri",
                   "tel:+1.7035555556"
                 ]
               ]
             ],
             "entities": [
               {
                 "objectClassName": "entity",
                 "roles": [
                   "abuse"
                 ],
                 "vcardArray": [
                   "vcard",
                   [
                     [
                       "version",
                       {},
                       "text",
                       "4.0"
                     ],
                     [
                       "fn",
                       {},
                       "text",
                       "Abuse Contact"
                     ],
                     [
                       "email",
                       {},
                       "text",
                       "abuse@organization.example"
                     ],
                     [
                       "tel",
                       {
                         "type": "voice"
                       },
                       "uri",
                       "tel:+1.7035555555;ext=1234"
                     ]
                   ]
                 ]
               }
             ]
           },
           {
             "objectClassName": "entity",
             "handle": "XXXX",
             "roles": [
               "registrant"
             ],
             "vcardArray": [
               "vcard",
               [
                 [
                   "version",
                   {},
                   "text",
                   "4.0"
                 ],
                 [
                   "fn",
                   {},
                   "text",
                   "Registrant User"
                 ],
                 [
                   "org",
                   {},
                   "text",
                   "Example Inc."
                 ],
                 [
                   "adr",
                   {},
                   "text",
                   [
                     "",
                     "Suite 1235",
                     "4321 Rue Somewhere",
                     "Quebec",
                     "QC",
                     "G1V 2M2",
                     "Canada"
                   ]
                 ],
                 [
                   "email",
                   {},
                   "text",
                   "registrant.user@example.com"
                 ],
                 [
                   "tel",
                   {
                     "type": "voice"
                   },
                   "uri",
                   "tel:+1-555-555-1235;ext=123"
                 ],
                 [
                   "tel",
                   {
                     "type": "fax"
                   },
                   "uri",
                   "tel:+1-555-555-5321"
                 ]
               ]
             ]
           },
           {
             "objectClassName": "entity",
             "handle": "YYYY",
             "roles": [
               "technical"
             ],
             "vcardArray": [
               "vcard",
               [
                 [
                   "version",
                   {},
                   "text",
                   "4.0"
                 ],
                 [
                   "fn",
                   {},
                   "text",
                   "Technical User"
                 ],
                 [
                   "org",
                   {},
                   "text",
                   "Example Inc."
                 ],
                 [
                   "adr",
                   {},
                   "text",
                   [
                     "",
                     "Suite 1234",
                     "4321 Rue Somewhere",
                     "Quebec",
                     "QC",
                     "G1V 2M2",
                     "Canada"
                   ]
                 ],
                 [
                   "email",
                   {},
                   "text",
                   "technical.user@example.com"
                 ],
                 [
                   "tel",
                   {
                     "type": "voice"
                   },
                   "uri",
                   "tel:+1-555-555-1234;ext=321"
                 ],
                 [
                   "tel",
                   {
                     "type": "fax"
                   },
                   "uri",
                   "tel:+1-555-555-4321"
                 ]
               ]
             ]
           },
           {
             "objectClassName": "entity",
             "handle": "ZZZZ",
             "roles": [
               "administrative"
             ],
             "vcardArray": [
               "vcard",
               [
                 [
                   "version",
                   {},
                   "text",
                   "4.0"
                 ],
                 [
                   "fn",
                   {},
                   "text",
                   "Administrative User"
                 ],
                 [
                   "org",
                   {},
                   "text",
                   "Example Inc."
                 ],
                 [
                   "adr",
                   {},
                   "text",
                   [
                     "",
                     "Suite 1236",
                     "4321 Rue Somewhere",
                     "Quebec",
                     "QC",
                     "G1V 2M2",
                     "Canada"
                   ]
                 ],
                 [
                   "email",
                   {},
                   "text",
                   "administrative.user@example.com"
                 ],
                 [
                   "tel",
                   {
                     "type": "voice"
                   },
                   "uri",
                   "tel:+1-555-555-1236;ext=789"
                 ],
                 [
                   "tel",
                   {
                     "type": "fax"
                   },
                   "uri",
                   "tel:+1-555-555-6321"
                 ]
               ]
             ]
           },
           {
             "objectClassName": "entity",
             "handle": "WWWW",
             "roles": [
               "billing"
             ],
             "vcardArray": [
               "vcard",
               [
                 [
                   "version",
                   {},
                   "text",
                   "4.0"
                 ],
                 [
                   "fn",
                   {},
                   "text",
                   "Billing User"
                 ],
                 [
                   "email",
                   {},
                   "text",
                   "billing.user@example.com"
                 ]
               ]
             ]
           }
         ],
         "events": [
           {
             "eventAction": "registration",
             "eventDate": "1997-06-03T00:00:00Z"
           },
           {
             "eventAction": "last changed",
             "eventDate": "2020-05-28T01:35:00Z"
           },
           {
             "eventAction": "expiration",
             "eventDate": "2021-06-03T04:00:00Z"
           }
         ],
         "status": [
           "server delete prohibited",
           "server update prohibited",
           "server transfer prohibited",
           "client transfer prohibited"
         ]
       }
        

Figure 11: Unredacted RDAP Lookup Response

図11:編集されていないRDAPルックアップ応答

Example of the redacted version of an RDAP lookup response:

RDAPルックアップ応答の編集バージョンの例:

       {
         "rdapConformance": [
           "rdap_level_0",
           "redacted"
         ],
         "objectClassName": "domain",
         "ldhName": "example.com",
         "secureDNS": {
           "delegationSigned": false
         },
         "notices": [
           {
             "title": "Terms of Use",
             "description": [
               "Service subject to Terms of Use."
             ],
             "links": [
               {
                 "rel": "self",
                 "href": "https://www.example.com/terms-of-use",
                 "type": "text/html",
                 "value": "https://www.example.com/terms-of-use"
               }
             ]
           }
         ],
         "nameservers": [
           {
             "objectClassName": "nameserver",
             "ldhName": "ns1.example.com"
           },
           {
             "objectClassName": "nameserver",
             "ldhName": "ns2.example.com"
           }
         ],
         "entities": [
           {
             "objectClassName": "entity",
             "handle": "123",
             "roles": [
               "registrar"
             ],
             "publicIds": [
               {
                 "type": "IANA Registrar ID",
                 "identifier": "1"
               }
             ],
             "vcardArray": [
               "vcard",
               [
                 [
                   "version",
                   {},
                   "text",
                   "4.0"
                 ],
                 [
                   "fn",
                   {},
                   "text",
                   "Example Registrar Inc."
                 ],
                 [
                   "adr",
                   {},
                   "text",
                   [
                     "",
                     "Suite 100",
                     "123 Example Dr.",
                     "Dulles",
                     "VA",
                     "20166-6503",
                     "US"
                   ]
                 ],
                 [
                   "email",
                   {},
                   "text",
                   "contact@organization.example"
                 ],
                 [
                   "tel",
                   {
                     "type": "voice"
                   },
                   "uri",
                   "tel:+1.7035555555"
                 ],
                 [
                   "tel",
                   {
                     "type": "fax"
                   },
                   "uri",
                   "tel:+1.7035555556"
                 ]
               ]
             ],
             "entities": [
               {
                 "objectClassName": "entity",
                 "roles": [
                   "abuse"
                 ],
                 "vcardArray": [
                   "vcard",
                   [
                     [
                       "version",
                       {},
                       "text",
                       "4.0"
                     ],
                     [
                       "fn",
                       {},
                       "text",
                       "Abuse Contact"
                     ],
                     [
                       "email",
                       {},
                       "text",
                       "abuse@organization.example"
                     ],
                     [
                       "tel",
                       {
                         "type": "voice"
                       },
                       "uri",
                       "tel:+1.7035555555"
                     ]
                   ]
                 ]
               }
             ]
           },
           {
             "objectClassName": "entity",
             "handle": "XXXX",
             "roles": [
               "registrant"
             ],
             "vcardArray": [
               "vcard",
               [
                 [
                   "version",
                   {},
                   "text",
                   "4.0"
                 ],
                 [
                   "fn",
                   {},
                   "text",
                   ""
                 ],
                 [
                   "adr",
                   {},
                   "text",
                   [
                     "",
                     "",
                     "",
                     "",
                     "QC",
                     "",
                     "Canada"
                   ]
                 ]
               ]
             ]
           },
           {
             "objectClassName": "entity",
             "handle": "YYYY",
             "roles": [
               "technical"
             ],
             "vcardArray": [
               "vcard",
               [
                 [
                   "version",
                   {},
                   "text",
                   "4.0"
                 ],
                 [
                   "fn",
                   {},
                   "text",
                   ""
                 ],
                 [
                   "org",
                   {},
                   "text",
                   "Example Inc."
                 ],
                 [
                   "adr",
                   {},
                   "text",
                   [
                     "",
                     "Suite 1234",
                     "4321 Rue Somewhere",
                     "Quebec",
                     "QC",
                     "G1V 2M2",
                     "Canada"
                   ]
                 ]
               ]
             ]
           }
         ],
         "events": [
           {
             "eventAction": "registration",
             "eventDate": "1997-06-03T00:00:00Z"
           },
           {
             "eventAction": "last changed",
             "eventDate": "2020-05-28T01:35:00Z"
           },
           {
             "eventAction": "expiration",
             "eventDate": "2021-06-03T04:00:00Z"
           }
         ],
         "status": [
           "server delete prohibited",
           "server update prohibited",
           "server transfer prohibited",
           "client transfer prohibited"
         ],
         "redacted": [
           {
             "name": {
               "description": "Registry Domain ID"
             },
             "prePath": "$.handle",
             "pathLang": "jsonpath",
             "method": "removal",
             "reason": {
               "description": "Server policy"
             }
           },
           {
             "name": {
               "description": "Registrant Name"
             },
             "postPath": "$.entities[?(@.roles[0]=='registrant')].
               vcardArray[1][?(@[0]=='fn')][3]",
             "pathLang": "jsonpath",
             "method": "emptyValue",
             "reason": {
               "description": "Server policy"
             }
           },
           {
             "name": {
               "description": "Registrant Organization"
             },
             "prePath": "$.entities[?(@.roles[0]=='registrant')].
               vcardArray[1][?(@[0]=='org')]",
             "pathLang": "jsonpath",
             "method": "removal",
             "reason": {
               "description": "Server policy"
             }
           },
           {
             "name": {
               "description": "Registrant Street"
             },
             "postPath": "$.entities[?(@.roles[0]=='registrant')].
               vcardArray[1][?(@[0]=='adr')][3][:3]",
             "pathLang": "jsonpath",
             "method": "emptyValue",
             "reason": {
               "description": "Server policy"
             }
           },
           {
             "name": {
               "description": "Registrant City"
             },
             "postPath": "$.entities[?(@.roles[0]=='registrant')].
               vcardArray[1][?(@[0]=='adr')][3][3]",
             "pathLang": "jsonpath",
             "method": "emptyValue",
             "reason": {
               "description": "Server policy"
             }
           },
           {
             "name": {
               "description": "Registrant Postal Code"
             },
             "postPath": "$.entities[?(@.roles[0]=='registrant')].
               vcardArray[1][?(@[0]=='adr')][3][5]",
             "pathLang": "jsonpath",
             "method": "emptyValue",
             "reason": {
               "description": "Server policy"
             }
           },
           {
             "name": {
               "description": "Registrant Email"
             },
             "prePath": "$.entities[?(@.roles[0]=='registrant')].
               vcardArray[1][?(@[0]=='email')]",
             "method": "removal",
             "reason": {
               "description": "Server policy"
             }
           },
           {
             "name": {
               "description": "Registrant Phone"
             },
             "prePath": "$.entities[?(@.roles[0]=='registrant')].
               vcardArray[1][?(@[1].type=='voice')]",
             "method": "removal",
             "reason": {
               "description": "Server policy"
             }
           },
           {
             "name": {
               "description": "Technical Name"
             },
             "postPath": "$.entities[?(@.roles[0]=='technical')].
               vcardArray[1][?(@[0]=='fn')][3]",
             "method": "emptyValue",
             "reason": {
               "description": "Server policy"
             }
           },
           {
             "name": {
               "description": "Technical Email"
             },
             "prePath": "$.entities[?(@.roles[0]=='technical')].
               vcardArray[1][?(@[0]=='email')]",
             "method": "removal",
             "reason": {
               "description": "Server policy"
             }
           },
           {
             "name": {
               "description": "Technical Phone"
             },
             "prePath": "$.entities[?(@.roles[0]=='technical')].
               vcardArray[1][?(@[1].type=='voice')]",
             "method": "removal",
             "reason": {
               "description": "Server policy"
             }
           },
           {
             "name": {
               "description": "Technical Fax"
             },
             "prePath": "$.entities[?(@.roles[0]=='technical')].
               vcardArray[1][?(@[1].type=='fax')]",
             "reason": {
               "description": "Client request"
             }
           },
           {
             "name": {
               "description": "Administrative Contact"
             },
             "prePath": "$.entities[?(@.roles[0]=='administrative')]",
             "method": "removal",
             "reason": {
               "description": "Refer to the technical contact"
             }
           },
           {
             "name": {
               "description": "Billing Contact"
             },
             "prePath": "$.entities[?(@.roles[0]=='billing')]",
             "method": "removal",
             "reason": {
               "description": "Refer to the registrant contact"
             }
           }
         ]
       }
        

Figure 12: Redacted RDAP Lookup Response

図12:編集されたRDAPルックアップ応答

Example of the unredacted version of an RDAP search response:

RDAP検索応答の編集されていないバージョンの例:

     {
       "rdapConformance": [
         "rdap_level_0"
       ],
       "domainSearchResults":[
         {
           "objectClassName": "domain",
           "handle": "ABC121",
           "ldhName": "example1.com",
           "links":[
             {
               "value":"https://example.com/rdap/domain/example1.com",
               "rel":"self",
               "href":"https://example.com/rdap/domain/example1.com",
               "type":"application/rdap+json"
             },
             {
               "value":"https://example.com/rdap/domain/example1.com",
               "rel":"related",
               "href":"https://example.com/rdap/domain/example1.com",
               "type":"application/rdap+json"
             }
           ]
         },
         {
           "objectClassName": "domain",
           "handle": "ABC122",
           "ldhName": "example2.com",
           "links":[
             {
               "value":"https://example.com/rdap/domain/example2.com",
               "rel":"self",
               "href":"https://example.com/rdap/domain/example2.com",
               "type":"application/rdap+json"
             },
             {
               "value":"https://example.com/rdap/domain/example2.com",
               "rel":"related",
               "href":"https://example.com/rdap/domain/example2.com",
               "type":"application/rdap+json"
             }
           ]
         }
       ]
     }
        

Figure 13: Unredacted RDAP Search Response

図13:編集されていないRDAP検索応答

Example of the redacted version of an RDAP search response:

RDAP検索応答の編集バージョンの例:

     {
       "rdapConformance": [
         "rdap_level_0",
         "redacted"
       ],
       "domainSearchResults":[
         {
           "objectClassName": "domain",
           "ldhName": "example1.com",
           "links":[
             {
               "value":"https://example.com/rdap/domain/example1.com",
               "rel":"self",
               "href":"https://example.com/rdap/domain/example1.com",
               "type":"application/rdap+json"
             },
             {
               "value":"https://example.com/rdap/domain/example1.com",
               "rel":"related",
               "href":"https://example.com/rdap/domain/example1.com",
               "type":"application/rdap+json"
             }
           ],
           "redacted": [
             {
               "name": {
                 "type": "Registry Domain ID"
               },
               "prePath": "$.domainSearchResults[0].handle",
               "pathLang": "jsonpath",
               "method": "removal",
               "reason": {
                 "type": "Server policy"
               }
             }
           ]
         },
         {
           "objectClassName": "domain",
           "ldhName": "example2.com",
           "links":[
             {
               "value":"https://example.com/rdap/domain/example2.com",
               "rel":"self",
               "href":"https://example.com/rdap/domain/example2.com",
               "type":"application/rdap+json"
             },
             {
               "value":"https://example.com/rdap/domain/example2.com",
               "rel":"related",
               "href":"https://example.com/rdap/domain/example2.com",
               "type":"application/rdap+json"
             }
           ],
           "redacted": [
             {
               "name": {
                 "description": "Registry Domain ID"
               },
               "prePath": "$.domainSearchResults[1].handle",
               "pathLang": "jsonpath",
               "method": "removal",
               "reason": {
                 "description": "Server policy"
               }
             }
           ]
         }
       ]
     }
        

Figure 14: Redacted RDAP Search Response

図14:編集されたRDAP検索応答

5. JSONPath Considerations
5. jsonpathの考慮事項

JSONPath [RFC9535] is the default JSON path expression language. This section includes JSONPath considerations for clients and servers.

JSONPATH [RFC9535]は、デフォルトのJSON PATH EXPRESSRINGRANGUENAGEです。このセクションには、クライアントとサーバーのJSONPathの考慮事項が含まれています。

5.1. JSONPath Client Considerations
5.1. JSONPATHクライアントの考慮事項

This section covers considerations for clients that receive responses from servers using JSONPath [RFC9535] to identify redacted RDAP fields with the "prePath", "postPath", or "replacementPath" member of redacted objects in the "redacted" member. The list of JSONPath client considerations include:

このセクションでは、jsonpath [RFC9535]を使用してサーバーから応答を受け取ったクライアントの考慮事項をカバーして、編集されたRDAPフィールドを「編集された」メンバーの編集されたオブジェクトの「PREPATH」、「POSTPATH」、または「交換パス」メンバーを識別します。JSONPATHクライアントの考慮事項のリストには次のものがあります。

1. When the server is using the Redaction by Removal Method (Section 3.1) or the Redaction by Replacement Value Method (Section 3.4) with an alternative field value, the JSONPath expression of the "prePath" member will not resolve successfully with the redacted response. The client can key off the "name" member for display logic related to the redaction.

1. サーバーが削除方法(セクション3.1)または交換値による編集を代替フィールド値で使用している場合、「Prepath」メンバーのJSONPATH式は、編集された応答で正常に解決しません。クライアントは、編集に関連するディスプレイロジックの「名前」メンバーをキーオフできます。

5.2. JSONPath Server Considerations
5.2. JSONPATHサーバーの考慮事項

This section covers considerations for servers using JSONPath [RFC9535] to identify redacted RDAP fields with the "prePath", "postPath", or "replacementPath" member of redacted objects in the "redacted" member. The list of JSONPath considerations include:

このセクションでは、jsonpath [RFC9535]を使用したサーバーの考慮事項については、「編集された」メンバーの編集されたオブジェクトの「prepath」、「postpath」、または「facterementpatt」メンバーで編集されたRDAPフィールドを識別します。JSonPathの考慮事項のリストには次のものがあります。

1. Use absolute paths with the '$' JSONPath element. An example is "$.handle" for the "Registry Domain ID" in a lookup response or "$.domainSearchResults[0].handle" in a search response.

1. 「$」jsonpath要素で絶対パスを使用します。例は、ルックアップ応答の「レジストリドメインID」の「$ .handle」または「$ .domainsearchResults [0] .handle」の検索応答です。

2. Validate a JSONPath expression with the non-redacted RDAP response when using the "prePath" member, where evaluating the expression results in returning the redacted field.

2. 「Prepath」メンバーを使用するときに、非再編集されたRDAP応答でJSONPATH式を検証します。式を評価すると、編集されたフィールドが返されます。

3. Reference the removed object field when redacting an entire object by the Redaction by Removal Method (Section 3.1), where all of the object's child fields are explicitly removed. An example is "$.entities[?(@.roles[0]=='administrative')]" for the entire "Administrative Contact".

3. 削除されたオブジェクトフィールドを参照してください。オブジェクト全体を削除方法(セクション3.1)によって編集するときに、オブジェクトのすべての子フィールドが明示的に削除されます。例は、「$ .Entities [?(@。Loles[0] == 'Administrative')]」です。

4. Use multiple bases for the redaction of certain content. For example, if server policy is such that all administrative-role entities are redacted and all technical-role entities are redacted, then an entity having both the administrative role and the technical role could be redacted for two different reasons. In this situation, a server is required to include at least one "redacted" entry, but it should consider including a separate "redacted" entry for each applicable basis for redaction to clearly document the server policies that are relevant to redaction in each instance.

4. 特定のコンテンツの編集には、複数のベースを使用します。たとえば、サーバーポリシーがすべての管理ロールエンティティが編集され、すべてのテクニカルロールエンティティが編集されるような場合、管理役割と技術的役割の両方を持つエンティティが2つの異なる理由で編集される可能性があります。この状況では、サーバーは少なくとも1つの「編集された」エントリを含める必要がありますが、各インスタンスで編集に関連するサーバーポリシーを明確に文書化するために、redactionの各該当する基準に個別の「編集された」エントリを含めることを検討する必要があります。

5. Reference the removed field when using the Redaction by Removal Method (Section 3.1). An example is "$.handle" for the "Registry Domain ID".

5. 削除方法による編集方法を使用する場合、削除されたフィールドを参照してください(セクション3.1)。例は、「レジストリドメインID」の「$ .HANDLE」です。

6. Reference index 0 of the jCard property array, which is the jCard "name" property, with a filter expression containing the name of the field when redacting a jCard field using the Redaction by Removal Method (Section 3.1). An example is "$.entities[?(@.role s[0]=='registrant')].vcardArray[1][?(@[0]=='email')]" for the "Registrant Email".

6. JCardプロパティアレイの参照インデックス0は、JCardの「名前」プロパティであり、削除方法(セクション3.1)を使用してJCardフィールドを編集するときにフィールドの名前を含むフィルター式をフィルター式を含みます。例は、「$ .Entities [?(@。LOLES [0] == '登録者')]。vcardArray [1] [?(@[0] == 'email')]」です。。

7. Reference the jCard field value or values redacted by array index 3 and greater when redacting a jCard field using the Redaction by Empty Value Method (Section 3.2). The jCard property array index 3 and greater contain the property values, where the property values set with an empty value are referenced directly in place of the jCard property name. Servers can then systematically redact the jCard field value or values based on the JSONPath expressions, and clients will directly know which jCard property values have been redacted. An example is "$.entities[?(@.roles[0 ]=='registrant')].vcardArray[1][?(@[0]=='fn')][3]" for the "Registrant Name" or "$.entities[?(@.roles[0]=='registrant')].vca rdArray[1][?(@[0]=='adr')][3][5]" for the "Registrant Postal Code".

7. Array Index 3で編集されるJCardフィールド値または値を参照してください。空の値による編集を使用してJCardフィールドを編集する場合は大きくなります(セクション3.2)。JCardプロパティアレイインデックス3以降は、空の値で設定されたプロパティ値がJCardプロパティ名の代わりに直接参照されるプロパティ値を含みます。サーバーは、JSONPATH式に基づいてJCARDフィールド値または値を体系的に編集でき、クライアントはどのJCARDプロパティ値が編集されているかを直接知ることができます。例は、「$ .Entities [?(@。loles[0] == '登録者')]。vcardarray[1] [?(@[0] == 'fn')] [3]です。name "または" $ .Entities [?(@。loles[0] == '登録者')]。vcardarray [1] [?(@[0] == 'adr')] [3] [5] "「登録郵便番号」の場合。

8. RDAP extensions should define any special JSONPath considerations required to identify redacted RDAP fields if these considerations are insufficient.

8. RDAP拡張機能は、これらの考慮事項が不十分な場合、編集されたRDAPフィールドを識別するために必要な特別なJSONPATHの考慮事項を定義する必要があります。

6. IANA Considerations
6. IANAの考慮事項
6.1. RDAP Extensions Registry
6.1. RDAP拡張機能レジストリ

IANA has registered the following value in the "RDAP Extensions" registry:

IANAは、「RDAP拡張機能」レジストリに次の値を登録しています。

Extension Identifier:

拡張識別子:

redacted

編集された

Registry Operator:

レジストリオペレーター:

Any

どれでも

Specification:

仕様:

RFC 9537

RFC 9537

Contact:

接触:

IETF <iesg@ietf.org>

ietf <iesg@ietf.org>

Intended Usage:

意図された使用法:

This extension identifies the redacted fields in an RDAP response.

この拡張機能は、RDAP応答で編集されたフィールドを識別します。

6.2. RDAP JSON Values Registry
6.2. RDAP JSON値レジストリ

Section 10.2 of [RFC9083] defines the "RDAP JSON Values" registry with predefined Type field values and a registration policy of Expert Review [RFC8126]. This specification defines three new Type field values that can be used to register predefined redacted name, reason, and expression language values. IANA has updated the "RDAP JSON Values" registry to accept these additional Type field values as follows:

[RFC9083]のセクション10.2は、定義済みのタイプフィールド値と専門家レビューの登録ポリシー[RFC8126]を持つ「RDAP JSON値」レジストリを定義します。この仕様では、事前定義された編集された名前、理由、および式の言語値を登録するために使用できる3つの新しいタイプフィールド値を定義します。IANAは「RDAP JSON値」レジストリを更新して、これらの追加のタイプフィールド値を次のように受け入れました。

"redacted name":

「編集された名前」:

Redacted name being registered. The registered redacted name is referenced using the "type" field of the redacted "name" field.

登録されている編集された名前。登録された編集済み名は、編集された「名前」フィールドの「タイプ」フィールドを使用して参照されます。

"redacted reason":

「編集された理由」:

Redacted reason being registered. The registered redacted reason is referenced using the "type" field of the redacted "reason" field.

登録されている編集された理由。登録された編集された理由は、編集された「理由」フィールドの「タイプ」フィールドを使用して参照されます。

"redacted expression language":

「編集された表現言語」:

Redacted expression language being registered. The registered redacted expression language is referenced using the "pathLang" field.

登録されている編集された表現言語。登録された編集式式言語は、「Pathlang」フィールドを使用して参照されます。

IANA has also listed this document as a reference for the "RDAP JSON Values" registry and has registered the following value:

IANAはまた、このドキュメントを「RDAP JSON値」レジストリのリファレンスとしてリストし、次の値を登録しています。

Value:

値:

jsonpath

jsonpath

Type:

タイプ:

redacted expression language

編集された表現言語

Description:

説明:

JSON path expression language, as defined in RFC 9535.

RFC 9535で定義されているJSON PATH式表現言語。

Registrant:

登録者:

IETF

IETF

Contact Information:

連絡先:

iesg@ietf.org

iesg@ietf.org

Reference:

参照:

RFC 9537

RFC 9537

7. Security Considerations
7. セキュリティに関する考慮事項

The extension described in this document does not provide any security services beyond those described by [RFC9083].

このドキュメントで説明されている拡張機能は、[RFC9083]で説明されているものを超えたセキュリティサービスを提供しません。

8. References
8. 参考文献
8.1. Normative References
8.1. 引用文献
   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.
        
   [RFC6350]  Perreault, S., "vCard Format Specification", RFC 6350,
              DOI 10.17487/RFC6350, August 2011,
              <https://www.rfc-editor.org/info/rfc6350>.
        
   [RFC7095]  Kewisch, P., "jCard: The JSON Format for vCard", RFC 7095,
              DOI 10.17487/RFC7095, January 2014,
              <https://www.rfc-editor.org/info/rfc7095>.
        
   [RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
              Writing an IANA Considerations Section in RFCs", BCP 26,
              RFC 8126, DOI 10.17487/RFC8126, June 2017,
              <https://www.rfc-editor.org/info/rfc8126>.
        
   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.
        
   [RFC8259]  Bray, T., Ed., "The JavaScript Object Notation (JSON) Data
              Interchange Format", STD 90, RFC 8259,
              DOI 10.17487/RFC8259, December 2017,
              <https://www.rfc-editor.org/info/rfc8259>.
        
   [RFC9082]  Hollenbeck, S. and A. Newton, "Registration Data Access
              Protocol (RDAP) Query Format", STD 95, RFC 9082,
              DOI 10.17487/RFC9082, June 2021,
              <https://www.rfc-editor.org/info/rfc9082>.
        
   [RFC9083]  Hollenbeck, S. and A. Newton, "JSON Responses for the
              Registration Data Access Protocol (RDAP)", STD 95,
              RFC 9083, DOI 10.17487/RFC9083, June 2021,
              <https://www.rfc-editor.org/info/rfc9083>.
        
   [RFC9535]  Gössner, S., Ed., Normington, G., Ed., and C. Bormann,
              Ed., "JSONPath: Query Expressions for JSON", RFC 9535,
              DOI 10.17487/RFC9535, February 2024,
              <https://www.rfc-editor.org/info/rfc9535>.
        
8.2. Informative References
8.2. 参考引用
   [RDAP-JSCONTACT]
              Loffredo, M. and G. Brown, "Using JSContact in
              Registration Data Access Protocol (RDAP) JSON Responses",
              Work in Progress, Internet-Draft, draft-ietf-regext-rdap-
              jscontact-17, 7 December 2023,
              <https://datatracker.ietf.org/doc/html/draft-ietf-regext-
              rdap-jscontact-17>.
        
Acknowledgements
謝辞

The authors wish to thank the following persons for their feedback and suggestions: Marc Blanchet, Tom Harrison, Scott Hollenbeck, Pawel Kowalik, Mario Loffredo, Gustavo Lozano, Andy Newton, Jasdip Singh, and Rick Wilhelm.

著者は、マーク・ブランシェ、トム・ハリソン、スコット・ホレンベック、パウエル・コワリク、マリオ・ロフレッド、グスタボ・ロザノ、アンディ・ニュートン、ジャスディップ・シン、リック・ウィルヘルムのフィードバックと提案について、次の人に感謝したいと考えています。

Authors' Addresses
著者のアドレス
   James Gould
   VeriSign, Inc.
   12061 Bluemont Way
   Reston, VA 20190
   United States of America
   Email: jgould@verisign.com
   URI:   http://www.verisign.com
        
   David Smith
   VeriSign, Inc.
   12061 Bluemont Way
   Reston, VA 20190
   United States of America
   Email: dsmith@verisign.com
   URI:   http://www.verisign.com
        
   Jody Kolker
   GoDaddy Inc.
   14455 N. Hayden Rd., #219
   Scottsdale, AZ 85260
   United States of America
   Email: jkolker@godaddy.com
   URI:   http://www.godaddy.com
        
   Roger Carney
   GoDaddy Inc.
   14455 N. Hayden Rd., #219
   Scottsdale, AZ 85260
   United States of America
   Email: rcarney@godaddy.com
   URI:   http://www.godaddy.com