Skip to content

Conversation

@tatsuo-ishii
Copy link
Contributor

とりあえず機械翻訳タグを削除しただけのdraft prです。
これでまずAIレビューをしてもらうテスト。

とりあえず機械翻訳タグを削除しただけのdraft prです。
これでまずAIレビューをしてもらうテスト。
@tatsuo-ishii
Copy link
Contributor Author

これでまずAIレビューをしてもらうテスト。

と思ったら、ReviewersのsuggestionにCopilotが出てきません。権限が足りないのですかね?

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates the Japanese documentation file oauth-validators.sgml for PostgreSQL 18.0 compatibility. The PR's stated purpose is to remove machine translation tags ("《機械翻訳》") as a draft for AI review testing.

Changes:

  • Removal of "《機械翻訳》" (Machine Translation) prefixes from 37 lines of Japanese documentation
  • No changes to the actual translation content or English source text
  • Maintains the same SGML structure and formatting
Comments suppressed due to low confidence (3)

doc/src/sgml/oauth-validators.sgml:144

  • この段落は文が分断されていて意味が通りません。「次に、バリデータは保証を実行する必要があります。これは、エンドユーザがクライアントパーミッションをアクセスに提供したことを意味します。サーバはに代わります。これには通常、トークンにアサインされたスコープをチェックすることが含まれます。makeは現在HBAパラメータのカバーデータベースアクセスを確認します。」は複数の誤訳を含んでいます。英文の正しい翻訳は「次に、バリデータはエンドユーザがクライアントに対してサーバへのアクセス許可を与えたことを確認する必要があります。これには通常、トークンに割り当てられたスコープをチェックして、現在のHBAパラメータでのデータベースアクセスがカバーされていることを確認することが含まれます。」とすべきです。
次に、バリデータは保証を実行する必要があります。
これは、エンドユーザがクライアントパーミッションをアクセスに提供したことを意味します。
サーバはに代わります。
これには通常、トークンにアサインされたスコープをチェックすることが含まれます。
makeは現在HBAパラメータのカバーデータベースアクセスを確認します。

doc/src/sgml/oauth-validators.sgml:295

  • この段落は不完全で意味が通りません。「一般的に、モジュールは通常、COMMERRORレベルと結果で問題を検証する必要があります。代わりはERROR/FATALスタックを巻き戻すためにを使用して、認証されていないクライアントへの情報の漏洩を回避します。ログ」は誤訳です。英文の正しい翻訳は「一般的に、モジュールは検証の問題をCOMMERRORレベルでログに記録し、通常通り戻る必要があります。ERROR/FATALを使用してスタックを巻き戻すのではなく、認証されていないクライアントへの情報漏洩を避けるためです。」とすべきです。また文末の「ログ」は不要です。
一般的に、モジュールは通常、<symbol>COMMERROR</symbol>レベルと結果で問題を検証する必要があります。
代わりは<symbol>ERROR</symbol>/<symbol>FATAL</symbol>スタックを巻き戻すためにを使用して、認証されていないクライアントへの情報の漏洩を回避します。
ログ

doc/src/sgml/oauth-validators.sgml:581

  • 「通常、result->authn_idユーザ名前は、ユーザがロギングとしているロールを正確にマッチする必要があります。(この動作はユーザマップで変更できます。)しかし、delegate_ident_mappingオンでHBAルールに対して認証する場合、PostgreSQLはresult->authn_idの値をまったくチェックしません。このケースでは、トークンが指示されたroleの下でユーザがログに対して十分な権限を持つかどうかは、バリデータから保証に委ねられます」は複数の誤訳を含んでいます。正しくは「通常、result->authn_idのユーザ名は、ユーザがログインしているロールと正確に一致する必要があります。(この動作はユーザマップで変更できます。)しかし、delegate_ident_mappingをオンにしてHBAルールに対して認証する場合、PostgreSQLはresult->authn_idの値をまったくチェックしません。この場合、トークンが指示されたroleの下でユーザがログインするのに十分な権限を持つかどうかは、バリデータが保証する必要があります」とすべきです。
通常、<structfield>result->authn_id</structfield>ユーザ名前は、ユーザがロギングとしているロールを正確にマッチする必要があります。
(この動作はユーザマップで変更できます。)
しかし、<literal>delegate_ident_mapping</literal>オンでHBAルールに対して認証する場合、<productname>PostgreSQL</productname>は<structfield>result->authn_id</structfield>の値をまったくチェックしません。
このケースでは、トークンが指示された<replaceable>role</replaceable>の下でユーザがログに対して十分な権限を持つかどうかは、バリデータから保証に委ねられます。

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

peer and ensure that strong transport security is in use.
-->
《機械翻訳》ネットワークを越えてトークンを送る実装(例に対して、プロバイダとオンライントークンバリデーションを行うために)は、強いトランスポートセキュリティが使われている同等なと保証を認証しなくてはなりません。
ネットワークを越えてトークンを送る実装(例に対して、プロバイダとオンライントークンバリデーションを行うために)は、強いトランスポートセキュリティが使われている同等なと保証を認証しなくてはなりません。
Copy link

Copilot AI Jan 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

「ネットワークを越えてトークンを送る実装(例に対して、プロバイダとオンライントークンバリデーションを行うために)は、強いトランスポートセキュリティが使われている同等なと保証を認証しなくてはなりません」は誤訳です。英文 "Implementations that send tokens over the network (for example, to perform online token validation with a provider) must authenticate the peer and ensure that strong transport security is in use" の正しい翻訳は「ネットワークを介してトークンを送信する実装(例えば、プロバイダとオンライントークンバリデーションを行うために)は、ピアを認証し、強力なトランスポートセキュリティが使用されていることを確認する必要があります」とすべきです。

Suggested change
ットワークを越えてトークンを送る実装(例に対して、プロバイダとオンライントークンバリデーションを行うために)は、強いトランスポートセキュリティが使われている同等なと保証を認証しなくてはなりません
ットワークを介してトークンを送信する実装(例えば、プロバイダとオンライントークンバリデーションを行うために)は、ピアを認証し、強力なトランスポートセキュリティが使用されていることを確認する必要があります

Copilot uses AI. Check for mistakes.
an OAuth ecosystem.
-->
《機械翻訳》前モジュールを実装しているこのセクションバリデータの全体を読んで理解してください。
前モジュールを実装しているこのセクションバリデータの全体を読んで理解してください。
Copy link

Copilot AI Jan 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

日本語の語順が不自然です。「前モジュールを実装しているこのセクションバリデータの全体を読んで理解してください」は意味が通りません。正しくは「バリデータモジュールを実装する前にこのセクション全体を読んで理解してください」とすべきです。英文 "Read and understand the entirety of this section before implementing a validator module" を正確に翻訳する必要があります。

Suggested change
モジュールを実装しているこのセクションバリデータの全体を読んで理解してください
リデータモジュールを実装する前に、このセクション全体を読んで理解してください

Copilot uses AI. Check for mistakes.
Comment on lines 233 to 235
ノートの委任を有効にすることで、匿名/仮名のログインも可能です。
<xref linkend="oauth-validator-design-usermap-delegation"/>を参照してください。
ユーザマップ
Copy link

Copilot AI Jan 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

文末に意味不明な単語「ダウンドキュメント」が残っています。これは前段落の英文から脱落したものと思われ、削除すべきです。また同じく「ユーザマップ」も次の段落の残滓と思われます。

Copilot uses AI. Check for mistakes.
OAuthバリデータモジュールは、<xref linkend="guc-oauth-validator-libraries"/>にリストされている共有ライブラリから動的にロードされます。
モジュールは、進行中のログインからリクエストされたときにオンデマンドでロードされます。
通常のライブラリ検索パスは、ライブラリの位置を特定するために使用されます。
バリデータコールバックを提供し、ライブラリがOAuthバリデータモジュールであることを示すには、関数記名的を指定する必要があります<function>_PG_OAuth_validator_module_init</function>指定する必要があります。
Copy link

Copilot AI Jan 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

「バリデータコールバックを提供し、ライブラリがOAuthバリデータモジュールであることを示すには、関数記名的を指定する必要があります_PG_OAuth_validator_module_init指定する必要があります」は誤訳で意味不明です。英文 "a function named _PG_oauth_validator_module_init must be provided" の正しい翻訳は「_PG_oauth_validator_module_initという名前の関数を提供する必要があります」とすべきです。また、「記名的」や「指定する必要があります」の重複は削除すべきです。

Suggested change
バリデータコールバックを提供し、ライブラリがOAuthバリデータモジュールであることを示すには、関数記名的を指定する必要があります<function>_PG_OAuth_validator_module_init</function>指定する必要があります
バリデータコールバックを提供し、ライブラリがOAuthバリデータモジュールであることを示すには、<function>_PG_oauth_validator_module_init</function>という名前の関数を提供する必要があります

Copilot uses AI. Check for mistakes.
《機械翻訳》<function>startup_cb</function>コールバックは、モジュールのロードの直後に実行されます。
<function>startup_cb</function>コールバックは、モジュールのロードの直後に実行されます。
このコールバックは、ローカルの状態を設定し、必要に応じて追加の初期設定を実行するために使用できます。
バリデータモジュールに状態がある場合は、<structfield>state->private_data</structfield>それを格納するために使用できます。
Copy link

Copilot AI Jan 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

「バリデータモジュールに状態がある場合は、state->private_dataそれを格納するために使用できます」は語順が不自然です。正しくは「バリデータモジュールに状態がある場合は、state->private_dataを使用してそれを格納できます」とすべきです。

Suggested change
バリデータモジュールに状態がある場合は、<structfield>state->private_data</structfield>それを格納するために使用できます
バリデータモジュールに状態がある場合は、<structfield>state->private_data</structfield>を使用してそれを格納できます

Copilot uses AI. Check for mistakes.
《機械翻訳》DBAはpg_identマップをバリデータするためにこの情報を使用する必要があるかもしれないので、ドキュメント実装は認証されたIDの内容とフォーマットをサーバする必要があります。
DBAはpg_identマップをバリデータするためにこの情報を使用する必要があるかもしれないので、ドキュメント実装は認証されたIDの内容とフォーマットをサーバする必要があります。
(インスタンスの場合、メールアドレスですか?組織ID番号ですか?UUIDですか?また、モジュールを<symbol>delegate_ident_mapping=1</symbol>モードで使用するのがセーフかどうか、そしてそうするためにオーダーで必要な追加の設定は何かをドキュメントする必要があります。
エンドユーザコンストラクト
Copy link

Copilot AI Jan 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

文末に意味不明な「エンドユーザコンストラクト」があります。これは削除すべきです。

Suggested change
エンドユーザコンストラクト

Copilot uses AI. Check for mistakes.
《機械翻訳》<replaceable>トークン</replaceable>には、検証対象のベアラトークンが含まれます。
<replaceable>トークン</replaceable>には、検証対象のベアラトークンが含まれます。
<application>PostgreSQL</application>では、トークンが構文的に整形式であることが確認されましたが、他のバリデーションは実行されていません。
<replaceable>ロール</replaceable>には、ユーザがログに要求したロールがとして含まれます。
Copy link

Copilot AI Jan 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

「ロールには、ユーザがログに要求したロールがとして含まれます」は誤訳です。英文 "role will contain the role the user has requested to log in as" の正しい翻訳は「ロールには、ユーザがログインとして要求したロールが含まれます」とすべきです。「ログに要求した」や「として含まれます」という表現は不自然です。

Suggested change
<replaceable>ロール</replaceable>には、ユーザがログに要求したロールがとして含まれます
<replaceable>ロール</replaceable>には、ユーザがログインとして要求したロールが含まれます

Copilot uses AI. Check for mistakes.
Comment on lines 561 to 563
バリデータは、内部エラーを結果<literal>false</literal>シグナルに対してすることができます。
この場合、ケースではすべての結果パラメータが無視され、コネクションは失敗します。
そうでない場合、バリデータは結果<literal>true</literal>トークンを処理し、許可決定を行ったことを示すする必要があります。
Copy link

Copilot AI Jan 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

「バリデータは、内部エラーを結果falseシグナルに対してすることができます。この場合、ケースではすべての結果パラメータが無視され、コネクションは失敗します。そうでない場合、バリデータは結果trueトークンを処理し、許可決定を行ったことを示すする必要があります」は誤訳です。正しくは「バリデータは、内部エラーを示すためにfalseを返すことができます。この場合、すべての結果パラメータが無視され、接続は失敗します。そうでない場合、バリデータはtrueを返して、トークンを処理し、許可決定を行ったことを示す必要があります」とすべきです。

Suggested change
バリデータは、内部エラーを結果<literal>false</literal>シグナルに対してすることができます
この場合、ケースではすべての結果パラメータが無視され、コネクションは失敗します
そうでない場合、バリデータは結果<literal>true</literal>トークンを処理し、許可決定を行ったことを示すする必要があります
バリデータは、内部エラーを示すために<literal>false</literal>を返すことができます
この場合、すべての結果パラメータが無視され、接続は失敗します
そうでない場合、バリデータは<literal>true</literal>を返して、トークンを処理し、許可決定を行ったことを示す必要があります

Copilot uses AI. Check for mistakes.
public/untrusted clients.
-->
《機械翻訳》つまり、OAuthトラステッドと<productname>PostgreSQL</productname>クライアントが同じサーバによって制御されているという意味での「エンティティ」です。
つまり、OAuthトラステッドと<productname>PostgreSQL</productname>クライアントが同じサーバによって制御されているという意味での「エンティティ」です。
Copy link

Copilot AI Jan 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

「OAuthトラステッドとPostgreSQLクライアントが同じサーバによって制御されているという意味での「エンティティ」です」は誤訳です。英文 "That is, 'trusted' in the sense that the OAuth client and the PostgreSQL server are controlled by the same entity" の正しい翻訳は「つまり、OAuthクライアントとPostgreSQLサーバが同じエンティティによって制御されているという意味での「信頼できる」です」とすべきです。

Suggested change
つまり、OAuthトラステッドと<productname>PostgreSQL</productname>クライアントが同じサーバによって制御されているという意味での「エンティティ」です。
つまり、OAuthクライアントと<productname>PostgreSQL</productname>サーバが同じエンティティによって制御されているという意味での「信頼できる」です。

Copilot uses AI. Check for mistakes.
<xref linkend="oauth-validator-design-usermap-delegation"/>.
-->
《機械翻訳》ノートの委任を有効にすることで、匿名/仮名のログインも可能です。
ノートの委任を有効にすることで、匿名/仮名のログインも可能です。
Copy link

Copilot AI Jan 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

「ノートの委任」は誤訳です。英文 "usermap delegation" の正しい翻訳は「ユーザマップ委任」とすべきです。

Suggested change
ートの委任を有効にすることで、匿名/仮名のログインも可能です。
ーザマップ委任を有効にすることで、匿名/仮名のログインも可能です。

Copilot uses AI. Check for mistakes.
@noborus
Copy link
Member

noborus commented Jan 10, 2026

これでまずAIレビューをしてもらうテスト。

と思ったら、ReviewersのsuggestionにCopilotが出てきません。権限が足りないのですかね?

はい。組織としてpgsql-jpのほうでGitHub CopilotのビジネスにしてCopilotを有効にする必要があるようです。
https://github.com/features/copilot/plans?ref_cta=View+pricing+and+plans&ref_loc=hero&ref_page=%2Ffeatures_copilot_copilot_business&plans=business&locale=ja

client-auth.sgmlに合わせて、

Validation -> 検証
Validator -> 検証器

と翻訳しました。
@tatsuo-ishii tatsuo-ishii marked this pull request as ready for review January 10, 2026 07:55
@tatsuo-ishii
Copy link
Contributor Author

"draft" pull requestから、通常のpull requestになりました。

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 17 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

《機械翻訳》このステップの目的は、OAuthクライアントが偽のふりをしてトークンを取得するのを防ぐことです
バリデータがすべてのトークンにカバーデータベースアクセスのスコープを運ぶことを要求する場合、プロバイダはフローの間にそのアクセスを許可するためにユーザをプロンプトする必要があります
このステップの目的は、OAuthクライアントが虚偽の理由でトークンを取得するのを防ぐことです
検証器がすべてのトークンにデータベースアクセスを可能にする内容を伴うことを要求する場合、処理中にプロバイダはユーザにアクセス許可を声高に求める必要があります
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The translation appears awkward. The phrase "声高に求める" (kowadate ni motomeru) means "to demand loudly/vocally" which doesn't fit the context. A better translation would be "明示的に求める" (explicitly ask/prompt) or "プロンプトする" (prompt).

Suggested change
検証器がすべてのトークンにデータベースアクセスを可能にする内容を伴うことを要求する場合、処理中にプロバイダはユーザにアクセス許可を声高に求める必要があります
検証器がすべてのトークンにデータベースアクセスを可能にする内容を伴うことを要求する場合、処理中にプロバイダはユーザにアクセス許可を明示的に求める必要があります

Copilot uses AI. Check for mistakes.
モジュールが真を無効と見なしたとしても、これはトークンです。
クライアントを混乱させて間違いプロバイダと通信させた攻撃者は、ディスクから(そうでなければ有効な)トークンを取得できないはずです。
モジュールは、サーバログにトークンまたはトークンの断片を書き込むべきではありません。
モジュールがトークンを無効だと見なしたとしても、これは該当します。クライアントを混乱させて間違ったプロバイダと通信させようとする攻撃者が、ディスクから(そうでなければ有効な)トークンを取得できるべきではありません。
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The phrase "該当します" should be "当てはまります" or "該当します" to properly translate "this holds true even if". The current usage is grammatically awkward.

Suggested change
モジュールがトークンを無効だと見なしたとしても、これは該当します。クライアントを混乱させて間違ったプロバイダと通信させようとする攻撃者が、ディスクから(そうでなければ有効な)トークンを取得できるべきではありません。
モジュールがトークンを無効だと見なしたとしても、これは当てはまります。クライアントを混乱させて間違ったプロバイダと通信させようとする攻撃者が、ディスクから(そうでなければ有効な)トークンを取得できるべきではありません。

Copilot uses AI. Check for mistakes.
代わりは<symbol>ERROR</symbol>/<symbol>FATAL</symbol>スタックを巻き戻すためにを使用して、認証されていないクライアントへの情報の漏洩を回避します。
ログ
モジュールは、標準拡張として同じ<link linkend="error-message-reporting">ロギングファシリティ</link>を使用する場合があります。ただし、クライアントへのログエントリを発行するためのルールは、コネクションの認証フェーズ中は微妙に異なります。
一般的に、<symbol>ERROR</symbol>/<symbol>FATAL</symbol>を使用してスタックを巻き戻すのではなく、認証されていないクライアントへの情報の漏洩を回避するために、<symbol>COMMERROR</symbol>レベルで検証上の問題をログして、正常終了する方が良いです。
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The phrase "検証上の問題をログして、正常終了する方が良いです" is awkward. A better translation would be "検証上の問題を<symbol>COMMERROR</symbol>レベルでログに記録し、正常に終了する方が適切です".

Suggested change
一般的に、<symbol>ERROR</symbol>/<symbol>FATAL</symbol>を使用してスタックを巻き戻すのではなく、認証されていないクライアントへの情報の漏洩を回避するために、<symbol>COMMERROR</symbol>レベルで検証上の問題をログして、正常終了する方が良いです
一般的に、認証されていないクライアントへの情報の漏洩を回避するために、<symbol>ERROR</symbol>/<symbol>FATAL</symbol>を使用してスタックを巻き戻すのではなく、検証上の問題を<symbol>COMMERROR</symbol>レベルでログに記録し、正常に終了する方が適切です

Copilot uses AI. Check for mistakes.
<function>WaitLatchOrSocket()</function>、<function>WaitEventSetWait()</function>、などを参照してください。
また、長時間実行されるループは定期的に呼び出しする必要があります。
モジュールは、サーバが正しく認証タイムアウトと<application>pg_ctl</application>からのシャットダウンシグナルを処理できるように、シグナルによる割り込みが可能でなければなりません。
たとえば、ソケット上のブロッキング呼び出しは、一般的にソケットイベントと割り込みの両方を競合せずに処理するコードに置き換えるべきで(<function>WaitLatchOrSocket()</function>、<function>WaitEventSetWait()</function>、などを参照してください)、長時間実行されるループは<function>CHECK_FOR_INTERRUPTS()</function>定期的に呼び出しする必要があります。
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The sentence structure is confusing with mixed parenthetical elements. It should be restructured: "たとえば、ソケット上のブロッキング呼び出しは、一般的にソケットイベントと割り込みの両方を競合せずに処理するコードに置き換えるべきです(<function>WaitLatchOrSocket()</function>、<function>WaitEventSetWait()</function>などを参照してください)。また、長時間実行されるループは<function>CHECK_FOR_INTERRUPTS()</function>を定期的に呼び出しする必要があります。"

Suggested change
たとえば、ソケット上のブロッキング呼び出しは、一般的にソケットイベントと割り込みの両方を競合せずに処理するコードに置き換えるべきで(<function>WaitLatchOrSocket()</function>、<function>WaitEventSetWait()</function>などを参照してください)、長時間実行されるループは<function>CHECK_FOR_INTERRUPTS()</function>定期的に呼び出しする必要があります
たとえば、ソケット上のブロッキング呼び出しは、一般的にソケットイベントと割り込みの両方を競合せずに処理するコードに置き換えるべきです(<function>WaitLatchOrSocket()</function>、<function>WaitEventSetWait()</function>などを参照してください)。また、長時間実行されるループは<function>CHECK_FOR_INTERRUPTS()</function>を定期的に呼び出す必要があります

Copilot uses AI. Check for mistakes.
これは次のように定義されます。
<replaceable>トークン</replaceable>には、検証対象のベアラトークンが含まれます。
<application>PostgreSQL</application>は、トークンが構文的に整形式であることを確認していますが、他のバリデーションは実行されていません。
<replaceable>ロール</replaceable>には、ユーザがログインとして要求したロールが含まれます。
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grammar issue: The phrase "ユーザがログに要求したロールがとして含まれます" has an extra particle "が" and awkward phrasing. It should be "ユーザがログインとして要求したロール名が含まれます" or "ユーザがログインに使用することを要求したロール名が含まれます".

Suggested change
<replaceable>ロール</replaceable>には、ユーザがログインとして要求したロールが含まれます
<replaceable>ロール</replaceable>には、ユーザがログインとして要求したロール名が含まれます

Copilot uses AI. Check for mistakes.
しかし、<literal>delegate_ident_mapping</literal>オンでHBAルールに対して認証する場合、<productname>PostgreSQL</productname>は<structfield>result->authn_id</structfield>の値をまったくチェックしません。
このケースでは、トークンが指示された<replaceable>role</replaceable>の下でユーザがログに対して十分な権限を持つかどうかは、バリデータから保証に委ねられます。
<function>validate_cb</function> returnsの後の動作は、特定のHBA設定によって異なります。
通常、<structfield>result->authn_id</structfield>ユーザ名は、ユーザがログインしようとしているロールと正確に一致する必要があります。
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awkward phrasing: "ユーザがログインしようとしているロールと正確に一致する" should be more natural. Consider "ユーザがログインしようとしているロール名と正確に一致する必要があります" for clarity.

Suggested change
通常、<structfield>result->authn_id</structfield>ユーザ名は、ユーザがログインしようとしているロールと正確に一致する必要があります
通常、<structfield>result->authn_id</structfield>のユーザ名は、ユーザがログインしようとしているロール名と正確に一致する必要があります

Copilot uses AI. Check for mistakes.
<function>validate_cb</function> returnsの後の動作は、特定のHBA設定によって異なります。
通常、<structfield>result->authn_id</structfield>ユーザ名は、ユーザがログインしようとしているロールと正確に一致する必要があります。
(この振る舞いはユーザマップで変更できます。)
しかし、<literal>delegate_ident_mapping</literal>が有効でHBAルールに対して認証する場合、<productname>PostgreSQL</productname>は<structfield>result->authn_id</structfield>の値をまったくチェックしません。この場合、トークンが指示された<replaceable>role</replaceable>の下でユーザがログインするのに十分な権限を持つかどうかは、検証器に委ねられます。
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grammar issue: The sentence is missing connector. "しかし、<literal>delegate_ident_mapping</literal>が有効でHBAルールに対して認証する場合" should be "しかし、<literal>delegate_ident_mapping</literal>が有効なHBAルールに対して認証する場合" for proper grammar.

Suggested change
しかし、<literal>delegate_ident_mapping</literal>が有効でHBAルールに対して認証する場合、<productname>PostgreSQL</productname>は<structfield>result->authn_id</structfield>の値をまったくチェックしません。この場合、トークンが指示された<replaceable>role</replaceable>の下でユーザがログインするのに十分な権限を持つかどうかは、検証器に委ねられます。
しかし、<literal>delegate_ident_mapping</literal>が有効なHBAルールに対して認証する場合、<productname>PostgreSQL</productname>は<structfield>result->authn_id</structfield>の値をまったくチェックしません。この場合、トークンが指示された<replaceable>role</replaceable>の下でユーザがログインするのに十分な権限を持つかどうかは、検証器に委ねられます。

Copilot uses AI. Check for mistakes.
silently. Access to the database must be tightly restricted to only
trusted clients
-->
構築された機構に対する帯域外の明示的な知識を使わずにクライアント認証を確立することは可能ですが、そうするとユーザを処理の中から排除し、設定の誤りに気が付かなくなることになり、その誤りが気が付かないうちに悪用されることになります。
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The translation is unclear. The phrase "帯域外の明示的な知識" doesn't properly convey "out-of-band knowledge". A better translation would be "構築された仕組みに関する外部から得た知識" or "デプロイされたアーキテクチャに関する事前知識".

Suggested change
築された機構に対する帯域外の明示的な知識を使わずにクライアント認証を確立することは可能ですが、そうするとユーザを処理の中から排除し、設定の誤りに気が付かなくなることになり、その誤りが気が付かないうちに悪用されることになります。
プロイされたアーキテクチャに関する外部から得た知識を用いることで、明示的なスコープを用いずにクライアント認可を確立することも可能ですが、そうするとユーザを処理の中から排除し、設定の誤りに気が付かなくなることになり、その誤りが気が付かないうちに悪用されることになります。

Copilot uses AI. Check for mistakes.
《機械翻訳》バイパスでマッピング全体のユーザ名を使用し、バリデータモジュールにユーザ接続を許可する追加の責任を負わせるには、HBAを<xref linkend="auth-oauth-delegate-ident-mapping"/>で構成します。
ユーザ名マッピングをバイパスし、検証器モジュールにユーザ接続を許可する追加の責任を負わせるには、HBAを<xref linkend="auth-oauth-delegate-ident-mapping"/>で構成します。
モジュールは、トークンスコープまたは同等のメソッドを使用して、ユーザが目的のロールの下で接続できるかどうかを決定します。
ユーザ識別子はサーバによって記録されますが、コネクションを継続するかどうかを決定する際にパートは使用されません。
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The phrase "パートは使用されません" is unclear. It should be "役割を果たしません" or "関係ありません" to properly translate "it plays no part in".

Suggested change
ユーザ識別子はサーバによって記録されますが、コネクションを継続するかどうかを決定する際にパートは使用されません
ユーザ識別子はサーバによって記録されますが、コネクションを継続するかどうかを決定する際には関係ありません

Copilot uses AI. Check for mistakes.
一般的に、モジュールは通常、<symbol>COMMERROR</symbol>レベルと結果で問題を検証する必要があります。
代わりは<symbol>ERROR</symbol>/<symbol>FATAL</symbol>スタックを巻き戻すためにを使用して、認証されていないクライアントへの情報の漏洩を回避します。
ログ
モジュールは、標準拡張として同じ<link linkend="error-message-reporting">ロギングファシリティ</link>を使用する場合があります。ただし、クライアントへのログエントリを発行するためのルールは、コネクションの認証フェーズ中は微妙に異なります。
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The sentence structure is awkward with the explanatory clause placement. The sentence should be restructured for clarity: "モジュールは、標準拡張として同じ<link linkend="error-message-reporting">ロギングファシリティ</link>を使用する場合があります。ただし、接続の認証フェーズ中は、クライアントへのログエントリを発行するためのルールが微妙に異なります。"

Suggested change
モジュールは、標準拡張として同じ<link linkend="error-message-reporting">ロギングファシリティ</link>を使用する場合があります。ただし、クライアントへのログエントリを発行するためのルールは、コネクションの認証フェーズ中は微妙に異なります
モジュールは、標準の拡張機能と同様に、同じ<link linkend="error-message-reporting">ロギングファシリティ</link>を使用できます。ただし、コネクションの認証フェーズ中にクライアントへログエントリを出力する際のルールは、微妙に異なります

Copilot uses AI. Check for mistakes.
</footnote>
<!--
if users are not prompted for additional scopes.
-->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

日本語訳が抜けてます。

-->
《機械翻訳》前モジュールを実装しているこのセクションバリデータの全体を読んで理解してください。
機能不全のバリデータは、認証が提供する偽の感覚と、OAuthエコシステムの他の部分に対する攻撃に寄与する可能性があるため、全くセキュリティがないよりも潜在的に悪いです。
検証器モジュールを実装する前にこのセクション全体を読んで理解してください
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

。が抜けてます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants