diff --git a/translations/ja_JP/23.0/authorization_services.po b/translations/ja_JP/23.0/authorization_services.po new file mode 100644 index 000000000..1aff11507 --- /dev/null +++ b/translations/ja_JP/23.0/authorization_services.po @@ -0,0 +1,6456 @@ +# +# Translators: +# Hisanobu Okuda , 2024 +# Shinsuke UEDA, 2024 +# n.watanabe , 2024 +# masahiro suzuki , 2024 +# KojiNose , 2024 +# Hiroyuki Wada , 2024 +# Tsukasa Amano , 2024 +# Kohei Tamura , 2024 +# +msgid "" +msgstr "" +"Last-Translator: Kohei Tamura , 2024\n" +"Language-Team: Japanese (Japan) (https://app.transifex.com/openstandia/teams/79437/ja_JP/)\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Language: ja_JP\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "{authorizationguide_name}" +msgstr "{authorizationguide_name}" + +msgid "*{release_header_guide}* icon:angle-down[]" +msgstr "*{release_header_guide}* icon:angle-down[]" + +msgid "{gettingstarted_link}[{gettingstarted_name_short}]" +msgstr "{gettingstarted_link}[{gettingstarted_name_short}]" + +msgid "{adapterguide_link}[{adapterguide_name_short}]" +msgstr "{adapterguide_link}[{adapterguide_name_short}]" + +msgid "{adminguide_link}[{adminguide_name_short}]" +msgstr "{adminguide_link}[{adminguide_name_short}]" + +msgid "{developerguide_link}[{developerguide_name_short}]" +msgstr "{developerguide_link}[{developerguide_name_short}]" + +msgid "{upgradingguide_link}[{upgradingguide_name_short}]" +msgstr "{upgradingguide_link}[{upgradingguide_name_short}]" + +msgid "{releasenotes_link}[{releasenotes_name_short}]" +msgstr "{releasenotes_link}[{releasenotes_name_short}]" + +msgid "Version *{project_version}*" +msgstr "バージョン *{project_version}*" + +msgid "Authorization services overview" +msgstr "認可サービスの概要" + +msgid "" +"{project_name} supports fine-grained authorization policies and is able to " +"combine different access control mechanisms such as:" +msgstr "" +"{project_name}はきめ細かい認可ポリシーをサポートし、以下のような異なるアクセス・コントロール機構を組み合わせることができます。" + +msgid "**Attribute-based access control (ABAC)**" +msgstr "**属性ベースのアクセス・コントロール(ABAC)**" + +msgid "**Role-based access control (RBAC)**" +msgstr "**ロールベースのアクセス・コントロール(RBAC)**" + +msgid "**User-based access control (UBAC)**" +msgstr "**ユーザーベースのアクセス・コントロール(UBAC)**" + +msgid "**Context-based access control (CBAC)**" +msgstr "**コンテキストベースのアクセス・コントロール(CBAC)**" + +msgid "**Rule-based access control**" +msgstr "**ルールベースのアクセス・コントロール**" + +msgid "Using JavaScript" +msgstr "JavaScriptを使用" + +msgid "**Time-based access control**" +msgstr "**時間ベースのアクセス・コントロール**" + +msgid "" +"**Support for custom access control mechanisms (ACMs) through a Service " +"Provider Interface (SPI)**" +msgstr "**サービス・プロバイダー・インタフェース(SPI)によるカスタムACM(Access Control Mechanism)のサポート**" + +msgid "" +"{project_name} is based on a set of administrative UIs and a RESTful API, " +"and provides the necessary means to create permissions for your protected " +"resources and scopes, associate those permissions with authorization " +"policies, and enforce authorization decisions in your applications and " +"services." +msgstr "" +"{project_name}は、一連の管理UIとRESTful " +"APIに基づいており、保護されるリソースとスコープのパーミッションを作成し、そのパーミッションを認可ポリシーに関連づけ、アプリケーションやサービスで認可判断を行うために必要な手段を提供します。" + +msgid "" +"Resource servers (applications or services serving protected resources) " +"usually rely on some kind of information to decide if access should be " +"granted to a protected resource. For RESTful-based resource servers, that " +"information is usually obtained from a security token, usually sent as a " +"bearer token on every request to the server. For web applications that rely " +"on a session to authenticate users, that information is usually stored in a " +"user's session and retrieved from there for each request." +msgstr "" +"リソースサーバー(保護されたリソースを提供するアプリケーションまたはサービス)は、保護されたリソースへのアクセスを許可すべきかどうかを判定するために、何らかの情報を頼りにします。" +" " +"RESTfulベースのリソースサーバーの場合、通常、その情報はセキュリティー・トークンから取得されます。そのトークンは、通常、リソースサーバーへのリクエストのたびにベアラートークンとして送信されます。ユーザーを認証するためにセッションに依存するWebアプリケーションの場合、通常、その情報はユーザーのセッションに格納され、リクエストのたびにそこから取得されます。" + +msgid "" +"Frequently, resource servers only perform authorization decisions based on " +"role-based access control (RBAC), where the roles granted to the user trying" +" to access protected resources are checked against the roles mapped to these" +" same resources. While roles are very useful and used by applications, they " +"also have a few limitations:" +msgstr "" +"多くの場合、リソースサーバーはロールベースのアクセス・コントロール(RBAC)に基づいて認可判断のみを行います。ロールベースのアクセス・コントロールでは、保護されたリソースにアクセスしようとするユーザーに付与されたロールが、同リソースにマップされたロールに対してチェックされます。ロールは非常に有用で、アプリケーションにより使用されますが、以下のようないくつかの制限もあります。" + +msgid "" +"Resources and roles are tightly coupled and changes to roles (such as " +"adding, removing, or changing an access context) can impact multiple " +"resources" +msgstr "" +"リソースとロールは密結合されており、ロールへの変更(アクセス・コンテキストの追加、削除、変更など)は複数のリソースに影響を与える可能性があります。" + +msgid "" +"Changes to your security requirements can imply deep changes to application " +"code to reflect these changes" +msgstr "セキュリティー要件の変更を反映するためには、アプリケーションのコードの大幅な変更が必要となる可能性があります。" + +msgid "" +"Depending on your application size, role management might become difficult " +"and error-prone" +msgstr "アプリケーションのサイズによっては、ロール管理が困難になり、エラーを起こしやすくなる可能性があります。" + +msgid "" +"It is not the most flexible access control mechanism. Roles do not represent" +" who you are and lack contextual information. If you have been granted a " +"role, you have at least some access." +msgstr "" +"これは最も柔軟なアクセス・コントロール機構ではありません。ロールは、誰であるかを表すものではなく、コンテキスト情報が欠けています。ロールが付与されているということは、少なくともいくらかのアクセス権を持っている、ということを表すだけです。" + +msgid "" +"Considering that today we need to consider heterogeneous environments where " +"users are distributed across different regions, with different local " +"policies, using different devices, and with a high demand for information " +"sharing, {project_name} Authorization Services can help you improve the " +"authorization capabilities of your applications and services by providing:" +msgstr "" +"今日、ユーザーは異なるローカルポリシーの異なる地域におり、異なるデバイスを使用し、情報共有のニーズが高い異種環境を考慮する必要があります。{project_name}認可サービスは以下を提供し、アプリケーションやサービスの認可機能を向上させるのに役立つでしょう。" + +msgid "" +"Resource protection using fine-grained authorization policies and different " +"access control mechanisms" +msgstr "きめ細かい認可ポリシーと異なるアクセス・コントロール機構を使用したリソース保護" + +msgid "Centralized Resource, Permission, and Policy Management" +msgstr "一元的なリソース、アクセス許可、およびポリシー管理" + +msgid "Centralized Policy Decision Point" +msgstr "一元的なポリシー決定点" + +msgid "REST security based on a set of REST-based authorization services" +msgstr "一連のRESTベースの認可サービスに基づくRESTセキュリティー" + +msgid "Authorization workflows and User-Managed Access" +msgstr "認可ワークフローとUser-Managed Access" + +msgid "" +"The infrastructure to help avoid code replication across projects (and " +"redeploys) and quickly adapt to changes in your security requirements." +msgstr "プロジェクト間でのコードの複製(と再デプロイ)を防止し、セキュリティー要件の変更に迅速に対応するのに役立つ基盤" + +msgid "Architecture" +msgstr "アーキテクチャー" + +msgid "" +"image:images/authz-arch-overview.png[alt=\"{project_name} AuthZ architecture" +" overview\"]" +msgstr "" +"image:images/authz-arch-overview.png[alt=\"{project_name} AuthZ architecture" +" overview\"]" + +msgid "" +"From a design perspective, Authorization Services is based on a well-defined" +" set of authorization patterns providing these capabilities:" +msgstr "設計の観点から、認可サービスは、明確に定義された認可パターンのセットに基づいて次の機能を提供します。" + +msgid "**Policy Administration Point (PAP)**" +msgstr "**ポリシー管理ポイント(PAP)**" + +msgid "" +"Provides a set of UIs based on the {project_name} Administration Console to " +"manage resource servers, resources, scopes, permissions, and policies. Part " +"of this is also accomplished remotely through the use of the " +"<<_service_protection_api, Protection API>>." +msgstr "" +"リソースサーバー、リソース、スコープ、パーミッション、およびポリシーを管理するための{project_name}管理コンソールに基づいたUIのセットを提供します。このうちの一部は、<<_service_protection_api," +" Protection API>>を使用してリモートでも実現できます。" + +msgid "**Policy Decision Point (PDP)**" +msgstr "**ポリシー決定点(PDP)**" + +msgid "" +"Provides a distributable policy decision point to where authorization " +"requests are sent and policies are evaluated accordingly with the " +"permissions being requested. For more information, see " +"<<_service_obtaining_permissions, Obtaining Permissions>>." +msgstr "" +"認可リクエストが送信され、リクエストが許可されることでポリシーが評価される場所に配布可能なポリシー決定点を提供します。詳細については、<<_service_obtaining_permissions," +" パーミッションの取得>>を参照してください。" + +msgid "**Policy Enforcement Point (PEP)**" +msgstr "**ポリシー実施ポイント(PEP)**" + +msgid "" +"Provides implementations for different environments to actually enforce " +"authorization decisions at the resource server side. {project_name} provides" +" some built-in <<_enforcer_overview, Policy Enforcers>>." +msgstr "" +"異なる環境に実装を提供し、リソースサーバー側で実際に認可の決定を実施します。{project_name}には、組み込みの<<_enforcer_overview," +" ポリシー・エンフォーサー>>が用意されています。" + +msgid "**Policy Information Point (PIP)**" +msgstr "**ポリシー情報ポイント(PIP)**" + +msgid "" +"Being based on {project_name} Authentication Server, you can obtain " +"attributes from identities and runtime environment during the evaluation of " +"authorization policies." +msgstr "{project_name}認証サーバーに基づいて、認可ポリシーの評価中にアイデンティティーとラインタイム環境から属性を取得できます。" + +msgid "The authorization process" +msgstr "認可プロセス" + +msgid "" +"Three main processes define the necessary steps to understand how to use " +"{project_name} to enable fine-grained authorization to your applications:" +msgstr "" +"アプリケーションに対するきめ細かな認可を可能にするために、{project_name}の使用方法を理解する上で必要な手順を定義する3つの主要なプロセスは、以下のとおりです。" + +msgid "*Resource Management*" +msgstr "*リソースの管理*" + +msgid "*Permission and Policy Management*" +msgstr "*パーミッションとポリシーの管理*" + +msgid "*Policy Enforcement*" +msgstr "*ポリシーの実施*" + +msgid "Resource management" +msgstr "リソースの管理" + +msgid "" +"*Resource Management* involves all the necessary steps to define what is " +"being protected." +msgstr "*リソースの管理* には、何が保護されているかを定義するために必要なすべてのステップが含まれます。" + +msgid "" +"image:images/resource-mgmt-process.png[alt=\"Resource management overview\"]" +msgstr "" +"image:images/resource-mgmt-process.png[alt=\"Resource management overview\"]" + +msgid "" +"First, you need to specify {project_name} what are you looking to protect, " +"which usually represents a web application or a set of one or more services." +" For more information on resource servers see <<_overview_terminology, " +"Terminology>>." +msgstr "" +"まず、保護しようとしているものを{project_name}に指定する必要があります。これは通常、Webアプリケーションまたは1つ以上のサービスのセットを表します。リソースサーバーの詳細については、<<_overview_terminology," +" 用語集>>を参照してください。" + +msgid "" +"Resource servers are managed using the {project_name} Administration " +"Console. There you can enable any registered client application as a " +"resource server and start managing the resources and scopes you want to " +"protect." +msgstr "" +"リソースサーバーは、{project_name}管理コンソールを使用して管理されます。そこで、登録されたクライアント・アプリケーションをリソースサーバーとして有効にし、保護するリソースとスコープの管理を開始できます。" + +msgid "image:images/rs-r-scopes.png[alt=\"Resource Server overview\"]" +msgstr "image:images/rs-r-scopes.png[alt=\"Resource Server overview\"]" + +msgid "" +"A resource can be a web page, a RESTFul resource, a file in your file " +"system, an EJB, and so on. They can represent a group of resources (just " +"like a Class in Java) or they can represent a single and specific resource." +msgstr "" +"リソースには、Webページ、RESTFulリソース、ファイルシステム内のファイル、EJBなどがあります。それらは(JavaのClassのように)リソースのグループを表すことも、単一の具体的なリソースを表すこともできます。" + +msgid "" +"For instance, you might have a _Bank Account_ resource that represents all " +"banking accounts and use it to define the authorization policies that are " +"common to all banking accounts. However, you might want to define specific " +"policies for _Alice Account_ (a resource instance that belongs to a " +"customer), where only the owner is allowed to access some information or " +"perform an operation." +msgstr "" +"たとえば、すべての銀行口座を表す _Bank Account_ " +"リソースがあり、それを使用してすべての銀行口座に共通する認可ポリシーを定義することができます。ただし、 _Alice Account_ " +"(ある顧客に属しているリソース・インスタンス)に対しては、オーナーだけが情報にアクセスしたり、操作を実行することができるように、特定のポリシーを定義することもできます。" + +msgid "" +"Resources can be managed using the {project_name} Administration Console or " +"the <<_service_protection_api, Protection API>>. In the latter case, " +"resource servers are able to manage their resources remotely." +msgstr "" +"リソースは、{project_name}管理コンソールまたは<<_service_protection_api, Protection " +"API>>を使用して管理できます。後者の場合、リソースサーバーはリソースをリモートで管理できます。" + +msgid "" +"Scopes usually represent the actions that can be performed on a resource, " +"but they are not limited to that. You can also use scopes to represent one " +"or more attributes within a resource." +msgstr "" +"スコープは、通常、リソースに対して実行できるアクションを表しますが、これに限定されるものではありません。スコープを使用して、リソース内の1つ以上の属性を表すこともできます。" + +msgid "Permission and policy management" +msgstr "パーミッションとポリシーの管理" + +msgid "" +"Once you have defined your resource server and all the resources you want to" +" protect, you must set up permissions and policies." +msgstr "リソースサーバーと保護するすべてのリソースを定義したら、パーミッションとポリシーを設定する必要があります。" + +msgid "" +"This process involves all the necessary steps to actually define the " +"security and access requirements that govern your resources." +msgstr "このプロセスには、リソースを管理するセキュリティーおよびアクセス要件を実際に定義するために必要なすべての手順が含まれます。" + +msgid "" +"image:images/policy-mgmt-process.png[alt=\"Permission and policy management " +"overview\"]" +msgstr "" +"image:images/policy-mgmt-process.png[alt=\"Permission and policy management " +"overview\"]" + +msgid "" +"Policies define the conditions that must be satisfied to access or perform " +"operations on something (resource or scope), but they are not tied to what " +"they are protecting. They are generic and can be reused to build permissions" +" or even more complex policies." +msgstr "" +"ポリシーは、何か(リソースまたはスコープ)へのアクセスや操作を実行するために満たす条件を定義しますが、保護しているものとは結びついていません。これらは一般的なもので、パーミッションやさらに複雑なポリシーを構築するために再利用することができます。" + +msgid "" +"For instance, to allow access to a group of resources only for users granted" +" with a role \"User Premium\", you can use RBAC (Role-based Access Control)." +msgstr "" +"たとえば、ロール \"User Premium\" " +"が付与されたユーザーに対してのみリソースのグループへのアクセスを許可するために、RBAC(ロールベースのアクセス・コントロール)を使用できます。" + +msgid "" +"{project_name} provides a few built-in policy types (and their respective " +"policy providers) covering the most common access control mechanisms. You " +"can even create policies based on rules written using JavaScript." +msgstr "" +"{project_name}には、最も一般的なアクセス・コントロール機構をカバーするいくつかの組み込みのポリシー・タイプ(およびそれぞれのポリシー・プロバイダー)が用意されています。JavaScriptを使用して作成されたルールに基づいてポリシーを作成することもできます。" + +msgid "" +"Once you have your policies defined, you can start defining your " +"permissions. Permissions are coupled with the resource they are protecting. " +"Here you specify what you want to protect (resource or scope) and the " +"policies that must be satisfied to grant or deny permission." +msgstr "" +"ポリシーを定義したら、パーミッションの定義を開始できます。パーミッションは、保護しているリソースと結合されます。ここでは、保護する対象(リソースまたはスコープ)と、パーミッションを許可または拒否するために満たす必要のあるポリシーを指定します。" + +msgid "Policy enforcement" +msgstr "ポリシー実施" + +msgid "" +"*Policy Enforcement* involves the necessary steps to actually enforce " +"authorization decisions to a resource server. This is achieved by enabling a" +" *Policy Enforcement Point* or PEP at the resource server that is capable of" +" communicating with the authorization server, ask for authorization data and" +" control access to protected resources based on the decisions and " +"permissions returned by the server." +msgstr "" +"*Policy Enforcement* " +"には、リソースサーバーへの認可の決定を実際に実施するために必要な手順が含まれます。これは、認可サーバーと通信できるリソースサーバーで *Policy " +"Enforcement Point* " +"またはPEPを有効にし、サーバーによって返された決定とパーミッションに基づいて認可データを要求し、保護されたリソースへのアクセスを制御することによって実現されます。" + +msgid "image:images/pep-pattern-diagram.png[alt=\"PEP overview\"]" +msgstr "image:images/pep-pattern-diagram.png[alt=\"PEP overview\"]" + +msgid "" +"{project_name} provides some built-in <<_enforcer_overview, Policy " +"Enforcers>> implementations that you can use to protect your applications " +"depending on the platform they are running on." +msgstr "" +"{project_name}には、実行中のプラットフォームに応じてアプリケーションを保護するために使用できる組み込みの<<_enforcer_overview," +" ポリシー・エンフォーサー>>実装がいくつか用意されています。" + +msgid "Authorization services" +msgstr "認可サービス" + +msgid "Authorization services consist of the following RESTFul endpoints:" +msgstr "認可サービスは以下のRESTFulエンドポイントで構成されています。" + +msgid "*Token Endpoint*" +msgstr "*トークン・エンドポイント*" + +msgid "*Resource Management Endpoint*" +msgstr "*リソース管理エンドポイント*" + +msgid "*Permission Management Endpoint*" +msgstr "*パーミッション管理エンドポイント*" + +msgid "" +"Each of these services provides a specific API covering the different steps " +"involved in the authorization process." +msgstr "これらの各サービスは、認可プロセスに関わるさまざまなステップをカバーする特定のAPIを提供します。" + +msgid "Token endpoint" +msgstr "トークン・エンドポイント" + +msgid "" +"OAuth2 clients (such as front end applications) can obtain access tokens " +"from the server using the token endpoint and use these same tokens to access" +" resources protected by a resource server (such as back end services). In " +"the same way, {project_name} Authorization Services provide extensions to " +"OAuth2 to allow access tokens to be issued based on the processing of all " +"policies associated with the resource(s) or scope(s) being requested. This " +"means that resource servers can enforce access to their protected resources " +"based on the permissions granted by the server and held by an access token. " +"In {project_name} Authorization Services the access token with permissions " +"is called a Requesting Party Token or RPT for short." +msgstr "" +"OAuth2クライアント(フロントエンド・アプリケーションなど)は、トークン・エンドポイントを使用してサーバーからアクセストークンを取得し、これらのトークンを使用してリソースサーバーによって保護されたリソース(バックエンド・サービスなど)にアクセスできます。同様に、{project_name}認可サービスは、要求されているリソースまたはスコープに関連するすべてのポリシーの処理に基づいてアクセストークンを発行できるように、OAuth2の拡張機能を提供します。つまり、リソースサーバーは、サーバーによって付与され、アクセストークンによって保持されているアクセス許可に基づいて、保護されたリソースへのアクセスを強制できます。{project_name}認可サービスでは、アクセス権を持つアクセストークンはリクエスティング・パーティー・トークンまたはRPTと呼ばれます。" + +msgid "Additional resources" +msgstr "追加のリソース" + +msgid "<<_service_obtaining_permissions, Obtaining Permissions>>" +msgstr "<<_service_obtaining_permissions, パーミッションの取得>>" + +msgid "Protection API" +msgstr "Protection API" + +msgid "" +"The *Protection API* is a set of " +"https://docs.kantarainitiative.org/uma/wg/oauth-uma-federated-" +"authz-2.0-09.html[UMA-compliant] endpoint-providing operations for resource " +"servers to help them manage their resources, scopes, permissions, and " +"policies associated with them. Only resource servers are allowed to access " +"this API, which also requires a *uma_protection* scope." +msgstr "" +"*Protection API* は https://docs.kantarainitiative.org/uma/wg/oauth-uma-" +"federated-authz-2.0-09.html[UMA準拠] " +"のエンドポイントのセットであり、リソースサーバーがリソース、スコープ、パーミッション、およびそれらに関連付けられたポリシーを管理する上で役立つ操作を提供します。リソースサーバーだけがこのAPIにアクセスできますが、" +" *uma_protection* スコープも必要です。" + +msgid "" +"The operations provided by the Protection API can be organized in two main " +"groups:" +msgstr "Protection APIによって提供される操作は、次の2つの主要なグループに分けられます。" + +msgid "Create Resource" +msgstr "Create Resource" + +msgid "Delete Resource" +msgstr "Delete Resource" + +msgid "Find by Id" +msgstr "Find by Id" + +msgid "Query" +msgstr "Query" + +msgid "*Permission Management*" +msgstr "*パーミッションの管理*" + +msgid "Issue Permission Tickets" +msgstr "パーミッション・チケットの発行" + +msgid "" +"By default, Remote Resource Management is enabled. You can change that using" +" the {project_name} Administration Console and only allow resource " +"management through the console." +msgstr "" +"デフォルトでは、リモートリソース管理が有効になっています。{project_name}管理コンソールを使用して変更することができ、コンソールからのリソース管理のみを許可できます。" + +msgid "" +"When using the UMA protocol, the issuance of Permission Tickets by the " +"Protection API is an important part of the whole authorization process. As " +"described in a subsequent section, they represent the permissions being " +"requested by the client and that are sent to the server to obtain a final " +"token with all permissions granted during the evaluation of the permissions " +"and policies associated with the resources and scopes being requested." +msgstr "" +"UMAプロトコルを使用する場合、Protection " +"APIによるパーミッション・チケットの発行は、認可プロセス全体の重要な部分です。次のセクションで説明するように、これらはクライアントによって要求されたパーミッションを表し、要求されているリソースとスコープに関連付けられたパーミッションとポリシーの評価中に付与されたすべてのパーミッションを持つ最終的なトークンを取得するためにサーバーに送信されます。" + +msgid "<<_service_protection_api, Protection API>>" +msgstr "<<_service_protection_api, Protection API>>" + +msgid "Terminology" +msgstr "用語" + +msgid "" +"Before going further, it is important to understand these terms and concepts" +" introduced by {project_name} Authorization Services." +msgstr "先に進む前に、{project_name}認可サービスで紹介されたこれらの用語と概念を理解することが重要です。" + +msgid "Resource Server" +msgstr "リソースサーバー" + +msgid "" +"Per OAuth2 terminology, a resource server is the server hosting the " +"protected resources and capable of accepting and responding to protected " +"resource requests." +msgstr "" +"OAuth2の用語では、リソースサーバーは保護されたリソースをホスティングし、保護されたリソースへのリクエストを受け入れてレスポンスを返すことができるサーバーです。" + +msgid "" +"Resource servers usually rely on some kind of information to decide whether " +"access to a protected resource should be granted. For RESTful-based resource" +" servers, that information is usually carried in a security token, typically" +" sent as a bearer token along with every request to the server. Web " +"applications that rely on a session to authenticate users usually store that" +" information in the user's session and retrieve it from there for each " +"request." +msgstr "" +"通常、リソースサーバーは、保護されたリソースへのアクセスを許可するかどうかを決定するために、何らかの情報を頼りにします。 " +"RESTfulベースのリソースサーバーの場合、大抵、その情報はセキュリティー・トークンに格納され、一般的に、サーバーへのすべてのリクエストと一緒にベアラートークンとして送信されます。セッションを利用してユーザーを認証するWebアプリケーションは、その情報をユーザーのセッションに格納し、リクエストごとにそこから取得します。" + +msgid "" +"In {project_name}, any *confidential* client application can act as a " +"resource server. This client's resources and their respective scopes are " +"protected and governed by a set of authorization policies." +msgstr "" +"{project_name}では、 *confidential* " +"クライアント・アプリケーションはリソースサーバーとして動作できます。このクライアントのリソースとそれぞれのスコープは、一連の認可ポリシーによって保護、管理されます。" + +msgid "Resource" +msgstr "リソース" + +msgid "" +"A resource is part of the assets of an application and the organization. It " +"can be a set of one or more endpoints, a classic web resource such as an " +"HTML page, and so on. In authorization policy terminology, a resource is the" +" _object_ being protected." +msgstr "" +"リソースは、アプリケーションと組織の資産の一部です。これは、1つ以上のエンドポイントのセット(HTMLページなどの古典的なWebリソースなど)です。認可ポリシーの用語では、リソースは保護される" +" _オブジェクト_ です。" + +msgid "" +"Every resource has a unique identifier that can represent a single resource " +"or a set of resources. For instance, you can manage a _Banking Account " +"Resource_ that represents and defines a set of authorization policies for " +"all banking accounts. But you can also have a different resource named " +"_Alice's Banking Account_, which represents a single resource owned by a " +"single customer, which can have its own set of authorization policies." +msgstr "" +"すべてのリソースには、単一のリソースまたはリソースのセットを表すことができる一意の識別子があります。たとえば、すべての銀行口座に対して一連の認可ポリシーを表し定義する" +" _Banking Account Resource_ を管理することができます。ただし、 _Alice's Banking Account_ " +"と呼ばれる別のリソースを持つこともできます。これは、単一の顧客が所有する単一のリソースを表し、独自の一連の認可ポリシーを持つことができます。" + +msgid "Scope" +msgstr "スコープ" + +msgid "" +"A resource's scope is a bounded extent of access that is possible to perform" +" on a resource. In authorization policy terminology, a scope is one of the " +"potentially many _verbs_ that can logically apply to a resource." +msgstr "" +"リソースのスコープは、リソース上で実行可能な限定されたアクセスの範囲です。認可ポリシーの用語では、スコープは論理的にリソースに適用できる、潜在的に多くの" +" _動詞_ の1つです。" + +msgid "" +"It usually indicates what can be done with a given resource. Example of " +"scopes are view, edit, delete, and so on. However, scope can also be related" +" to specific information provided by a resource. In this case, you can have " +"a project resource and a cost scope, where the cost scope is used to define " +"specific policies and permissions for users to access a project's cost." +msgstr "" +"通常は、特定のリソースで何ができるかを示します。スコープの例としては、表示、編集、削除などです。ただし、リソースによって提供される特定の情報に関連付けることもできます。この場合、プロジェクト・リソースとコスト・スコープを持つことができます。コスト・スコープは、ユーザーがプロジェクトのコストにアクセスするための特定のポリシーとパーミッションを定義するために使用されます。" + +msgid "Permission" +msgstr "Permission" + +msgid "Consider this simple and very common permission:" +msgstr "シンプルでとても一般的なパーミッションを考えてみましょう。" + +msgid "" +"A permission associates the object being protected with the policies that " +"must be evaluated to determine whether access is granted." +msgstr "パーミッションは、保護されるオブジェクトと、アクセスが許可されるかどうかを判断するために評価されなければならないポリシーとを関連付けます。" + +msgid "*X* CAN DO *Y* ON RESOURCE *Z*" +msgstr "*X* CAN DO *Y* ON RESOURCE *Z*" + +msgid "where ..." +msgstr "ここでは、以下を意味します。" + +msgid "" +"*X* represents one or more users, roles, or groups, or a combination of " +"them. You can also use claims and context here." +msgstr "*X* は、1つ以上のユーザー、ロール、またはグループ、またはそれらの組み合わせを表します。クレームとコンテキストを使うこともできます。" + +msgid "" +"*Y* represents an action to be performed, for example, write, view, and so " +"on." +msgstr "*Y* は、実行するアクション(書き込み、表示など)を表します。" + +msgid "*Z* represents a protected resource, for example, \"/accounts\"." +msgstr "*Z* は、\"/accounts\"などの保護されたリソースを表します。" + +msgid "" +"{project_name} provides a rich platform for building a range of permission " +"strategies ranging from simple to very complex, rule-based dynamic " +"permissions. It provides flexibility and helps to:" +msgstr "" +"{project_name}は、単純なルールから非常に複雑なルールベースの動的なパーミッションまで、幅広いパーミッション戦略を構築するための豊富なプラットフォームを提供します。柔軟性を提供し、次のことに役立ちます。" + +msgid "Reduce code refactoring and permission management costs" +msgstr "コードのリファクタリングとパーミッション管理のコストを削減" + +msgid "" +"Support a more flexible security model, helping you to easily adapt to " +"changes in your security requirements" +msgstr "より柔軟なセキュリティー・モデルをサポートし、セキュリティー要件の変更に容易に対応できます" + +msgid "" +"Make changes at runtime; applications are only concerned about the resources" +" and scopes being protected and not how they are protected." +msgstr "" +"実行時に変更を加えます。アプリケーションは、保護されているリソースとスコープについてのみに考慮し、それらがどのように保護されるかについては考慮しません。" + +msgid "Policy" +msgstr "Policy" + +msgid "" +"A policy defines the conditions that must be satisfied to grant access to an" +" object. Unlike permissions, you do not specify the object being protected " +"but rather the conditions that must be satisfied for access to a given " +"object (for example, resource, scope, or both). Policies are strongly " +"related to the different access control mechanisms (ACMs) that you can use " +"to protect your resources. With policies, you can implement strategies for " +"attribute-based access control (ABAC), role-based access control (RBAC), " +"context-based access control, or any combination of these." +msgstr "" +"ポリシーは、オブジェクトへのアクセスを許可するために必要な条件を定義します。パーミッションとは異なり、保護されるオブジェクトを指定するのではなく、特定のオブジェクト(リソース、スコープ、またはその両方)へのアクセスを満たす条件を指定します。ポリシーは、リソースを保護するために使用できるさまざまなアクセス・コントロール・メカニズム(ACM)に強く関連しています。ポリシーを使用すると、属性ベースのアクセス・コントロール(ABAC)、ロールベースのアクセス・コントロール(RBAC)、コンテキストベースのアクセス・コントロール、またはこれらの任意の組み合わせのための戦略を実装できます。" + +msgid "" +"{project_name} leverages the concept of policies and how you define them by " +"providing the concept of aggregated policies, where you can build a \"policy" +" of policies\" and still control the behavior of the evaluation. Instead of " +"writing one large policy with all the conditions that must be satisfied for " +"access to a given resource, the policies implementation in {project_name} " +"Authorization Services follows the divide-and-conquer technique. That is, " +"you can create individual policies, then reuse them with different " +"permissions and build more complex policies by combining individual " +"policies." +msgstr "" +"{project_name}は、\"ポリシーのポリシー\"を構築して評価の動作を制御できる集約されたポリシーの概念を提供することによって、ポリシーの概念とその定義方法を活用します。特定のリソースへのアクセスを満たすすべての条件を含んだ1つの大きなポリシーを書くのではなく、{project_name}認可サービスのポリシー実装は分割統治のテクニックに従います。つまり、個々のポリシーを作成し、異なる権限でそれらを再利用し、個々のポリシーを組み合わせてより複雑なポリシーを構築することができます。" + +msgid "Policy provider" +msgstr "ポリシー・プロバイダー" + +msgid "" +"Policy providers are implementations of specific policy types. " +"{project_name} provides built-in policies, backed by their corresponding " +"policy providers, and you can create your own policy types to support your " +"specific requirements." +msgstr "" +"ポリシー・プロバイダーは、特定のポリシー・タイプの実装です。{project_name}には、対応するポリシー・プロバイダーに基づいた組み込みのポリシーが用意されており、独自のポリシー・タイプを作成して特定の要件をサポートすることができます。" + +msgid "" +"{project_name} provides an SPI (Service Provider Interface) that you can use" +" to plug in your own policy provider implementations." +msgstr "" +"{project_name}には、独自のポリシー・プロバイダー実装をプラグイン化するために使用できるSPI(サービス・プロバイダー・インターフェイス)が用意されています。" + +msgid "Permission ticket" +msgstr "パーミッション・チケット" + +msgid "" +"A permission ticket is a special type of token defined by the User-Managed " +"Access (UMA) specification that provides an opaque structure whose form is " +"determined by the authorization server. This structure represents the " +"resources and/or scopes being requested by a client, the access context, as " +"well as the policies that must be applied to a request for authorization " +"data (requesting party token [RPT])." +msgstr "" +"パーミッション・チケットは、UMA(User-Managed " +"Access)仕様で定義された特別なタイプのトークンで、その形式が認可サーバーによって決定されるOpaque構造体を提供します。この構造体は、クライアントによって要求されているリソースおよび/またはスコープ、アクセス・コンテキスト、および認可データ(リクエスティング・パーティ・トークン[RPT]を要求する)に適用する必要のあるポリシーを表します。" + +msgid "" +"In UMA, permission tickets are crucial to support person-to-person sharing " +"and also person-to-organization sharing. Using permission tickets for " +"authorization workflows enables a range of scenarios from simple to complex," +" where resource owners and resource servers have complete control over their" +" resources based on fine-grained policies that govern the access to these " +"resources." +msgstr "" +"UMAでは、個人対個人の共有や個人対組織の共有をサポートするためにパーミッション・チケットが重要です。承認ワークフローにパーミッション・チケットを使用すると、単純なものから複雑なものまでさまざまなシナリオが可能になります。リソースオーナーとリソースサーバーは、これらのリソースへのアクセスを管理するきめ細かいポリシーに基づいてリソースを完全に制御できます。" + +msgid "" +"In the UMA workflow, permission tickets are issued by the authorization " +"server to a resource server, which returns the permission ticket to the " +"client trying to access a protected resource. Once the client receives the " +"ticket, it can make a request for an RPT (a final token holding " +"authorization data) by sending the ticket back to the authorization server." +msgstr "" +"UMAのワークフローでは、パーミッション・チケットは認可サーバーによってリソースサーバーに発行されます。リソースサーバーは、保護されたリソースにアクセスしようとするクライアントにパーミッション・チケットを返します。クライアントは、チケットを受信すると、チケットを認可サーバーに送り返すことによって、RPT(認可データを保持する最後のトークン)を要求することができます。" + +msgid "" +"For more information on permission tickets, see " +"<<_service_user_managed_access, User-Managed Access>> and the " +"https://docs.kantarainitiative.org/uma/wg/oauth-uma-grant-2.0-09.html[UMA] " +"specification." +msgstr "" +"パーミッション・チケットの詳細については、<<_service_user_managed_access, User-Managed " +"Access>>および https://docs.kantarainitiative.org/uma/wg/oauth-uma-" +"grant-2.0-09.html[UMA] の仕様を参照してください。" + +msgid "Getting Started" +msgstr "Getting Started" + +msgid "" +"For certain applications, you can look at the following resources to quickly" +" get started with {project_name} Authorization Services:" +msgstr "{project_name}の認可サービスをすぐに使い始めるには、以下のリソースを参照してください。" + +msgid "" +"{quickstartRepo_link}/tree/latest/jakarta/servlet-authz-client[Securing a " +"JakartaEE Application in Wildfly]" +msgstr "" +"{quickstartRepo_link}/tree/latest/jakarta/servlet-authz-client[Securing a " +"JakartaEE Application in Wildfly]" + +msgid "" +"{quickstartRepo_link}/tree/latest/spring/rest-authz-resource-server[Securing" +" a Spring Boot Application]" +msgstr "" +"{quickstartRepo_link}/tree/latest/spring/rest-authz-resource-server[Securing" +" a Spring Boot Application]" + +msgid "" +"link:https://quarkus.io/guides/security-keycloak-authorization[Securing " +"Quarkus Applications]" +msgstr "" +"link:https://quarkus.io/guides/security-keycloak-authorization[Securing " +"Quarkus Applications]" + +msgid "{adapterguide_link_nodejs_adapter}[Securing Node.js Applications]" +msgstr "{adapterguide_link_nodejs_adapter}[Securing Node.js Applications]" + +msgid "Managing resource servers" +msgstr "リソースサーバーの管理" + +msgid "" +"According to the OAuth2 specification, a resource server is a server hosting" +" the protected resources and capable of accepting and responding to " +"protected resource requests." +msgstr "" +"OAuth2の仕様によれば、リソースサーバーは保護されたリソースをホストし、保護されたリソースへのリクエストを受け入れて応答することができるサーバーです。" + +msgid "" +"In {project_name}, resource servers are provided with a rich platform for " +"enabling fine-grained authorization for their protected resources, where " +"authorization decisions can be made based on different access control " +"mechanisms." +msgstr "" +"{project_name}では、リソースサーバーに保護されたリソースに対してきめ細かい認可を与えるための豊富なプラットフォームが用意されており、異なるアクセス制御の仕組みに基いた認可決定を行うことができます。" + +msgid "" +"Any client application can be configured to support fine-grained " +"permissions. In doing so, you are conceptually turning the client " +"application into a resource server." +msgstr "" +"どのクライアント・アプリケーションも、きめ細かいパーミッションをサポートするように設定できます。そうすることで、概念的にクライアント・アプリケーションをリソースサーバーに変えています。" + +msgid "Creating a client application" +msgstr "クライアント・アプリケーションの作成" + +msgid "" +"The first step to enable {project_name} Authorization Services is to create " +"the client application that you want to turn into a resource server." +msgstr "" +"{project_name}認可サービスを有効にするための最初の手順は、リソースサーバーにするクライアント・アプリケーションを作成することです。" + +msgid "Procedure" +msgstr "手順" + +msgid "Click *Clients*." +msgstr "*Clients* をクリックします。" + +msgid "Clients" +msgstr "Clients" + +msgid "image:images/resource-server/client-list.png[Clients]" +msgstr "image:images/resource-server/client-list.png[Clients]" + +msgid "On this page, click *Create client*." +msgstr "このページで、 *Create client* をクリックします。" + +msgid "Add Client" +msgstr "Add Client" + +msgid "image:images/resource-server/client-create.png[Add Client]" +msgstr "image:images/resource-server/client-create.png[Add Client]" + +msgid "Type the `Client ID` of the client. For example, _my-resource-server_." +msgstr "クライアントの `Client ID` を入力します。たとえば、 _my-resource-server_ 。" + +msgid "Click *Next*." +msgstr "*Next* をクリックします。" + +msgid "Toggle *Client authentication* to ON." +msgstr "*Client authentication* をONに切り替えます。" + +msgid "Click *Save*." +msgstr "*Save* をクリックします。" + +msgid "Type the `Root URL` for your application. For example:" +msgstr "アプリケーションの `Root URL` を入力します。たとえば" + +msgid "http://${host}:${port}/my-resource-server" +msgstr "http://${host}:${port}/my-resource-server" + +msgid "" +"Click *Save*. The client is created and the client Settings page opens. A " +"page similar to the following is displayed:" +msgstr "*Save* をクリックします。クライアントが作成され、クライアントの設定ページが開きます。次のようなページが表示されます。" + +msgid "Client Settings" +msgstr "クライアントの設定" + +msgid "" +"image:images/resource-server/client-enable-authz.png[alt=\"Client " +"Settings\"]" +msgstr "" +"image:images/resource-server/client-enable-authz.png[alt=\"Client " +"Settings\"]" + +msgid "Enabling authorization services" +msgstr "認可サービスの有効化" + +msgid "" +"You can turn your OIDC client into a resource server and enable fine-grained" +" authorization." +msgstr "OIDCクライアントをリソースサーバーにし、きめ細かな認可を有効にすることができます。" + +msgid "Toggle *Authorization Enabled* to *`On*." +msgstr "*Authorization Enabled* を *On* に切り替えます。" + +msgid "" +"image:images/resource-server/client-enable-authz.png[Enabling authorization " +"services]" +msgstr "" +"image:images/resource-server/client-enable-authz.png[Enabling authorization " +"services]" + +msgid "" +"A new Authorization tab is displayed for this client. Click the " +"*Authorization* tab and a page similar to the following is displayed:" +msgstr "" +"クライアントに新しいAuthorizationタブが表示されます。 *Authorization* " +"タブをクリックすると、次のようなページが表示されます。" + +msgid "Resource server settings" +msgstr "リソースサーバーの設定" + +msgid "" +"image:images/resource-server/authz-settings.png[alt=\"Resource server " +"settings\"]" +msgstr "" +"image:images/resource-server/authz-settings.png[alt=\"Resource server " +"settings\"]" + +msgid "" +"The Authorization tab contains additional sub-tabs covering the different " +"steps that you must follow to actually protect your application's resources." +" Each tab is covered separately by a specific topic in this documentation. " +"But here is a quick description about each one:" +msgstr "" +"Authorizationタブには、アプリケーションのリソースを実際に保護するために従わなければならないさまざまなステップを補う追加のサブタブが含まれています。各タブは、このドキュメントの特定のトピックで個別に解説されています。ここではそれぞれについて簡単に説明します。" + +msgid "*Settings*" +msgstr "*Settings*" + +msgid "" +"General settings for your resource server. For more details about this page " +"see the xref:resource_server_settings[Resource Server Settings] section." +msgstr "" +"リソースサーバーの一般設定。このページの詳細については、xref:resource_server_settings[リソースサーバーの設定]のセクションを参照してください。" + +msgid "*Resource*" +msgstr "*Resource*" + +msgid "" +"From this page, you can manage your application's <<_resource_overview, " +"resources>>." +msgstr "このページから、アプリケーションの<<_resource_overview, リソース>>を管理できます。" + +msgid "*Authorization Scopes*" +msgstr "*Authorization Scopes*" + +msgid "From this page, you can manage <<_resource_overview, scopes>>." +msgstr "このページから、<<_resource_overview, スコープ>>を管理できます。" + +msgid "*Policies*" +msgstr "*Policies*" + +msgid "" +"From this page, you can manage <<_policy_overview, authorization policies>> " +"and define the conditions that must be met to grant a permission." +msgstr "このページから、<<_policy_overview, 認可ポリシー>>を管理し、許可を得るために必要な条件を定義することができます。" + +msgid "*Permissions*" +msgstr "*Permissions*" + +msgid "" +"From this page, you can manage the <<_permission_overview, permissions>> for" +" your protected resources and scopes by linking them with the policies you " +"created." +msgstr "" +"このページから、保護されたリソースとスコープの<<_permission_overview, " +"パーミッション>>を、作成したポリシーとリンクさせることにより管理できます。" + +msgid "*Evaluate*" +msgstr "*Evaluate*" + +msgid "" +"From this page, you can <<_policy_evaluation_overview, simulate " +"authorization requests>> and view the result of the evaluation of the " +"permissions and authorization policies you have defined." +msgstr "" +"このページでは、<<_policy_evaluation_overview, " +"認可リクエストのシミュレート>>、および定義したパーミッションと認可ポリシーの評価結果を表示できます。" + +msgid "*Export Settings*" +msgstr "*Export Settings*" + +msgid "" +"From this page, you can <<_resource_server_import_config, export>> the " +"authorization settings to a JSON file." +msgstr "このページから、認可設定をJSONファイルに<<_resource_server_import_config, エクスポート>>できます。" + +msgid "" +"On the Resource Server Settings page, you can configure the policy " +"enforcement mode, allow remote resource management, and export the " +"authorization configuration settings." +msgstr "リソースサーバー設定ページでは、ポリシーの強制モードの設定や、リモートリソース管理の許可、認可構成の設定のエクスポートができます。" + +msgid "*Policy Enforcement Mode*" +msgstr "*Policy Enforcement Mode*" + +msgid "" +"Specifies how policies are enforced when processing authorization requests " +"sent to the server." +msgstr "サーバーに送信された認可要求を処理するときに、ポリシーがどのように強制されるかを指定します。" + +msgid "*Enforcing*" +msgstr "*Enforcing*" + +msgid "" +"(default mode) Requests are denied by default even when there is no policy " +"associated with a given resource." +msgstr "(デフォルトモード)特定のリソースに関連付けられたポリシーがない場合でも、デフォルトでリクエストは拒否されます。" + +msgid "*Permissive*" +msgstr "*Permissive*" + +msgid "" +"Requests are allowed even when there is no policy associated with a given " +"resource." +msgstr "特定のリソースに関連付けられたポリシーがない場合でも、リクエストは許可されます。" + +msgid "*Disabled*" +msgstr "*Disabled*" + +msgid "" +"Disables the evaluation of all policies and allows access to all resources." +msgstr "すべてのポリシーの評価を無効にし、すべてのリソースへのアクセスを許可します。" + +msgid "*Decision Strategy*" +msgstr "*Decision Strategy*" + +msgid "" +"This configurations changes how the policy evaluation engine decides whether" +" or not a resource or scope should be granted based on the outcome from all " +"evaluated permissions. `Affirmative` means that at least one permission must" +" evaluate to a positive decision in order grant access to a resource and its" +" scopes. `Unanimous` means that all permissions must evaluate to a positive " +"decision in order for the final decision to be also positive. As an example," +" if two permissions for a same resource or scope are in conflict (one of " +"them is granting access and the other is denying access), the permission to " +"the resource or scope will be granted if the chosen strategy is " +"`Affirmative`. Otherwise, a single deny from any permission will also deny " +"access to the resource or scope." +msgstr "" +"この設定により、評価されたすべてのパーミッションの結果に基づいて、ポリシー評価エンジンがリソースまたはスコープを許可するかどうか決定する方法が変更されます。" +" `Affirmative` " +"とは、リソースとそのスコープへのアクセスを許可するために、少なくとも1つのパーミッションが肯定的な決定に評価される必要があることを意味します。 " +"`Unanimous` " +"とは、最終決定も肯定的であるために、すべてのパーミッションが肯定的決定に評価されなければならないことを意味します。たとえば、同じリソースまたはスコープの2つのパーミッションが競合している場合(一方がアクセスを許可し、もう一方がアクセスを拒否している場合)、選択された戦略が" +" `Affirmative` " +"であれば、リソースまたはスコープへのパーミッションが許可されます。そうでなければ、パーミッションからの単一の拒否は、リソースまたはスコープへのアクセスも拒否します。" + +msgid "*Remote Resource Management*" +msgstr "*Remote Resource Management*" + +msgid "" +"Specifies whether resources can be managed remotely by the resource server. " +"If false, resources can be managed only from the administration console." +msgstr "リソースサーバーによってリソースをリモート管理できるかどうかを指定します。falseの場合、リソースは管理コンソールからのみ管理できます。" + +msgid "Default Configuration" +msgstr "デフォルト設定" + +msgid "" +"When you create a resource server, {project_name} creates a default " +"configuration for your newly created resource server." +msgstr "リソースサーバーを作成すると、{project_name}は新しく作成したリソースサーバーのデフォルト設定を作成します。" + +msgid "The default configuration consists of:" +msgstr "デフォルト設定は次のとおりです。" + +msgid "" +"A default protected resource representing all resources in your application." +msgstr "アプリケーションのすべてのリソースを表すデフォルトの保護されたリソース。" + +msgid "" +"A policy that always grants access to the resources protected by this " +"policy." +msgstr "このポリシーで保護されているリソースへのアクセスを常に許可するポリシー。" + +msgid "" +"A permission that governs access to all resources based on the default " +"policy." +msgstr " デフォルトのポリシーに基づいてすべてのリソースへのアクセスを管理するパーミッション。" + +msgid "" +"The default protected resource is referred to as the *default resource* and " +"you can view it if you navigate to the *Resources* tab." +msgstr "デフォルトの保護されたリソースは *default resource* と呼ばれ、 *Resources* タブに移動すると表示できます。" + +msgid "Default resource" +msgstr "デフォルト・リソース" + +msgid "" +"image:images/resource-server/default-resource.png[alt=\"Default resource\"]" +msgstr "" +"image:images/resource-server/default-resource.png[alt=\"Default resource\"]" + +msgid "" +"This resource defines a `Type`, namely `urn:my-resource-" +"server:resources:default` and a `URI` `/*`. Here, the `URI` field defines a " +"wildcard pattern that indicates to {project_name} that this resource " +"represents all the paths in your application. In other words, when enabling " +"<<_enforcer_overview, policy enforcement>> for your application, all the " +"permissions associated with the resource will be examined before granting " +"access." +msgstr "" +"このリソースは、 `Type` を `urn:my-resource-server:resources:default` という名前で、 `URI` を" +" `/*` " +"で定義します。ここで、URIフィールドは、このリソースがアプリケーションのすべてのパスを表すことを{project_name}に示すワイルドカード・パターンで定義します。つまり、アプリケーションの<<_enforcer_overview," +" ポリシー適用>>を有効にすると、アクセス権を付与する前に、リソースに関連付けられているすべてのパーミッションが検査されます。" + +msgid "" +"The `Type` mentioned previously defines a value that can be used to create " +"<<_permission_typed_resource, typed resource permissions>> that must be " +"applied to the default resource or any other resource you create using the " +"same type." +msgstr "" +"前述の `Type` " +"は、デフォルトのリソースまたは同じタイプを使用して作成したリソースに適用させる<<_permission_typed_resource, " +"タイプ付きリソース・パーミッション>>を作成するために使用できる値を定義します。" + +msgid "" +"The default policy is referred to as the *only from realm policy* and you " +"can view it if you navigate to the *Policies* tab." +msgstr "" +"デフォルトのポリシーは、 *only from realm policy* と呼ばれ、 *Policies* タブに移動すると表示できます。" + +msgid "Default policy" +msgstr "デフォルト・ポリシー" + +msgid "image:images/resource-server/default-policy.png[alt=\"Default policy\"]" +msgstr "image:images/resource-server/default-policy.png[alt=\"Default policy\"]" + +msgid "" +"This policy is a <<_policy_js, JavaScript-based policy>> defining a " +"condition that always grants access to the resources protected by this " +"policy. If you click this policy you can see that it defines a rule as " +"follows:" +msgstr "" +"このポリシーは<<_policy_js, " +"JavaScriptベースのポリシー>>で、このポリシーによって保護されているリソースへのアクセスを常に許可する条件を定義しています。このポリシーをクリックすると、次のようにルールが定義されていることが分かります。" + +msgid "" +"// by default, grants any permission associated with this policy\n" +"$evaluation.grant();" +msgstr "" +"// デフォルトでは、このポリシーに関連する全てのパーミッションを付与します。\n" +"$evaluation.grant();" + +msgid "" +"Lastly, the default permission is referred to as the *default permission* " +"and you can view it if you navigate to the *Permissions* tab." +msgstr "" +"最後に、デフォルトのパーミッションは、 *default permission* と呼ばれ、 *Permissions* タブに移動すると表示できます。" + +msgid "Default Permission" +msgstr "デフォルト・パーミッション" + +msgid "" +"image:images/resource-server/default-permission.png[alt=\"Default " +"Permission\"]" +msgstr "" +"image:images/resource-server/default-permission.png[alt=\"Default " +"Permission\"]" + +msgid "" +"This permission is a <<_permission_create_resource, resource-based " +"permission>>, defining a set of one or more policies that are applied to all" +" resources with a given type." +msgstr "" +"このパーミッションは<<_permission_create_resource, " +"リソースベースのパーミッション>>で、特定のタイプのすべてのリソースに適用される1つ以上のポリシーのセットを定義します。" + +msgid "Changing the default configuration" +msgstr "デフォルト設定の変更" + +msgid "" +"You can change the default configuration by removing the default resource, " +"policy, or permission definitions and creating your own." +msgstr "デフォルトの設定を変更するには、デフォルトのリソース、ポリシー、またはパーミッションの定義を削除し、独自の定義を作成します。" + +msgid "" +"The default resource is created with a **URI** that maps to any resource or " +"path in your application using a **/*** pattern. Before creating your own " +"resources, permissions and policies, make sure the default configuration " +"doesn't conflict with your own settings." +msgstr "" +"デフォルトのリソースは、 **/*** パターンを使用してアプリケーション内の任意のリソースまたはパスにマップされる **URI** " +"で作成されます。独自のリソース、パーミッション、ポリシーを作成する前に、デフォルト設定が自分の設定と競合しないことを確認してください。" + +msgid "" +"The default configuration defines a resource that maps to all paths in your " +"application. If you are about to write permissions to your own resources, be" +" sure to remove the *Default Resource* or change its ```URIS``` fields to a " +"more specific paths in your application. Otherwise, the policy associated " +"with the default resource (which by default always grants access) will allow" +" {project_name} to grant access to any protected resource." +msgstr "" +"デフォルト設定では、アプリケーションのすべてのパスに対応するリソースを定義します。独自のリソースにパーミッションを書き込もうとしている場合は、 " +"*Default Resource* を削除するか、 ```URIS``` " +"フィールドをアプリケーション内の特定のパスに変更してください。それ以外の場合は、デフォルト・リソース(デフォルトでは常にアクセスを許可する)に関連付けられたポリシーにより、{project_name}は保護されたリソースへのアクセスを許可します。" + +msgid "Export and import authorization configuration" +msgstr "認可設定のエクスポートおよびインポート" + +msgid "" +"The configuration settings for a resource server (or client) can be exported" +" and downloaded. You can also import an existing configuration file for a " +"resource server. Importing and exporting a configuration file is helpful " +"when you want to create an initial configuration for a resource server or to" +" update an existing configuration. The configuration file contains " +"definitions for:" +msgstr "" +"リソースサーバー(またはクライアント)の構成設定をエクスポートおよびダウンロードできます。また、リソースサーバーの既存の設定ファイルをインポートすることもできます。設定ファイルのインポートとエクスポートは、リソースサーバーの初期設定を作成したり、既存の設定を更新する場合に役立ちます。設定ファイルには次の定義が含まれています。" + +msgid "Protected resources and scopes" +msgstr "保護されたリソースとスコープ" + +msgid "Policies" +msgstr "ポリシー" + +msgid "Permissions" +msgstr "パーミッション" + +msgid "Exporting a configuration file" +msgstr "設定ファイルのエクスポート" + +msgid "Click *Clients* in the menu." +msgstr "メニューの *Clients* をクリックします。" + +msgid "Click the client you created as a resource server." +msgstr "リソースサーバーとして作成したクライアントをクリックします。" + +msgid "Click the *Export* tab." +msgstr "*Export* タブをクリックします。" + +msgid "Export Settings" +msgstr "エクスポートの設定" + +msgid "image:images/resource-server/authz-export.png[Export Settings]" +msgstr "image:images/resource-server/authz-export.png[Export Settings]" + +msgid "" +"The configuration file is exported in JSON format and displayed in a text " +"area, from which you can copy and paste. You can also click *Download* to " +"download the configuration file and save it." +msgstr "" +"設定ファイルはJSON形式でエクスポートされ、テキストエリアに表示されます。そこからコピーして貼り付けることができます。また、 *Download* " +"をクリックし、設定ファイルをダウンロードして保存することもできます。" + +msgid "Importing a configuration file" +msgstr "設定ファイルのインポート" + +msgid "You can import a configuration file for a resource server." +msgstr "リソースサーバーの設定ファイルをインポートすることができます。" + +msgid "Navigate to the *Resource Server Settings* page." +msgstr "*Resource Server Settings* ページに移動します。" + +msgid "Import Settings" +msgstr "インポート設定" + +msgid "image:images/resource-server/authz-settings.png[Import Settings]" +msgstr "image:images/resource-server/authz-settings.png[Import Settings]" + +msgid "" +"Click *Import* and choose a file containing the configuration that you want " +"to import." +msgstr "*Import* をクリックし、インポートしたい設定を含むファイルを選択します。" + +msgid "Managing resources and scopes" +msgstr "リソースとスコープの管理" + +msgid "" +"Resource management is straightforward and generic. After creating a " +"resource server, you can start creating the resources and scopes that you " +"want to protect. Resources and scopes can be managed by navigating to the " +"*Resource* and *Authorization Scopes* tabs, respectively." +msgstr "" +"リソース管理は簡単かつ一般的です。リソースサーバーを作成したら、保護するリソースとスコープの作成を開始できます。リソースおよびスコープは、 " +"*Resource* タブおよび *Authorization Scopes* タブにそれぞれナビゲートすることで管理できます。" + +msgid "Viewing resources" +msgstr "リソースの表示" + +msgid "" +"On the *Resource* page, you see a list of the resources associated with a " +"resource server." +msgstr "*Resource* ページには、リソースサーバーに関連付けられているリソースの一覧が表示されます。" + +msgid "Resources" +msgstr "リソース" + +msgid "image:images/resource/view.png[alt=\"Resources\"]" +msgstr "image:images/resource/view.png[alt=\"Resources\"]" + +msgid "" +"The resource list provides information about the protected resources, such " +"as:" +msgstr "リソースリストには、次のような保護されたリソースに関する情報が表示されます。" + +msgid "Type" +msgstr "Type" + +msgid "URIS" +msgstr "URI" + +msgid "Owner" +msgstr "オーナー" + +msgid "Associated scopes, if any" +msgstr "関連するスコープ(存在する場合)" + +msgid "Associated permissions" +msgstr "関連するパーミッション" + +msgid "" +"From this list, you can also directly create a permission by clicking " +"*Create Permission* for the resource for which you want to create the " +"permission." +msgstr "" +"このリストから、パーミッションを作成したいリソースの *Create Permission* " +"をクリックして、パーミッションを直接作成することもできます。" + +msgid "" +"Before creating permissions for your resources, be sure you have already " +"defined the policies that you want to associate with the permission." +msgstr "リソースに対するパーミッションを作成する前に、そのパーミッションに関連付けたいポリシーが定義済みであることを確認してください。" + +msgid "Creating resources" +msgstr "リソースの作成" + +msgid "" +"Creating a resource is straightforward and generic. Your main concern is the" +" granularity of the resources you create. In other words, resources can be " +"created to represent a set of one or more resources and the way you define " +"them is crucial to managing permissions." +msgstr "" +"リソースの作成は簡単で一般的です。主な関心事は、作成するリソースの粒度です。言い換えれば、1つ以上のリソースのセットを作成することができ、それらを定義する方法はパーミッションを管理するために重要なことです。" + +msgid "To create a new resource, click *Create resource*." +msgstr "新しいリソースを作成するには、 *Create resource* をクリックします。" + +msgid "Add resource" +msgstr "リソースの追加" + +msgid "image:images/resource/create.png[alt=\"Add resource\"]" +msgstr "image:images/resource/create.png[alt=\"Add resource\"]" + +msgid "" +"In {project_name}, a resource defines a small set of information that is " +"common to different types of resources, such as:" +msgstr "{project_name}では、リソースは、次のようなさまざまなタイプのリソースに共通する細かい情報のセットを定義します。" + +msgid "*Name*" +msgstr "*Name*" + +msgid "A human-readable and unique string describing this resource." +msgstr "このリソースを説明する、人間が読める形式で一意な文字列。" + +msgid "*Type*" +msgstr "*Type*" + +msgid "" +"A string uniquely identifying the type of a set of one or more resources. " +"The type is a _string_ used to group different resource instances. For " +"example, the default type for the default resource that is automatically " +"created is `urn:resource-server-name:resources:default`" +msgstr "" +"1つ以上のリソースのセットのタイプを一意に識別する文字列。タイプは、異なるリソース・インスタンスをグループ化するために使用される _string_ " +"です。たとえば、自動的に作成されるデフォルト・リソースのデフォルトのタイプは、`urn:resource-server-" +"name:resources:default` です。" + +msgid "*URIS*" +msgstr "*URIS*" + +msgid "" +"URIS that provides the locations/addresses for the resource. For HTTP " +"resources, the URIS are usually the relative paths used to serve these " +"resources." +msgstr "" +"リソースのロケーション/アドレスを提供するURI。HTTPリソースの場合、URIは通常、これらのリソースを提供するために使用される相対パスです。" + +msgid "*Scopes*" +msgstr "*Scopes*" + +msgid "One or more scopes to associate with the resource." +msgstr "リソースに関連付ける1つ以上のスコープ。" + +msgid "Resource attributes" +msgstr "リソース属性" + +msgid "" +"Resources may have attributes associated with them. These attributes can be " +"used to provide additional information about a resource and to provide " +"additional information to policies when evaluating permissions associated " +"with a resource." +msgstr "" +"リソースには属性が関連付けられている場合があります。これらの属性を使用すると、リソースに関する追加情報を提供したり、リソースに関連付けられているアクセス許可を評価するときにポリシーに追加情報を提供できます。" + +msgid "" +"Each attribute is a key and value pair where the value can be a set of one " +"or many strings. Multiple values can be defined for an attribute by " +"separating each value with a comma." +msgstr "各属性はキーと値のペアで、値は1つ以上の文字列のセットになります。属性に複数の値を定義するには、各値をカンマで区切ります。" + +msgid "Typed resources" +msgstr "タイプ付きのリソース" + +msgid "" +"The type field of a resource can be used to group different resources " +"together, so they can be protected using a common set of permissions." +msgstr "" +"リソースのタイプ・フィールドは、異なるリソースをグループ化するために使用できます。そのため、共通のパーミッションのセットを使用してそれらのリソースを保護することができます。" + +msgid "Resource owners" +msgstr "リソースオーナー" + +msgid "" +"Resources also have an owner. By default, resources are owned by the " +"resource server." +msgstr "リソースにはオーナーがいます。デフォルトでは、リソースはリソースサーバーによって所有されています。" + +msgid "" +"However, resources can also be associated with users, so you can create " +"permissions based on the resource owner. For example, only the resource " +"owner is allowed to delete or update a given resource." +msgstr "" +"ただし、リソースはユーザーと関連付けることもできるため、リソースオーナーに基づいてパーミッションを作成できます。たとえば、リソースオーナーだけが特定のリソースを削除または更新することができます。" + +msgid "Managing resources remotely" +msgstr "リモートでリソースを管理する" + +msgid "" +"Resource management is also exposed through the <<_service_protection_api, " +"Protection API>> to allow resource servers to remotely manage their " +"resources." +msgstr "" +"リソース管理は、<<_service_protection_api, Protection " +"API>>を介しても公開され、リソースサーバーがリソースをリモートで管理できます。" + +msgid "" +"When using the Protection API, resource servers can be implemented to manage" +" resources owned by their users. In this case, you can specify the user " +"identifier to configure a resource as belonging to a specific user." +msgstr "" +"Protection " +"APIを使用すると、リソースサーバーを実装して、ユーザーが所有するリソースを管理できます。この場合、リソースを特定のユーザーに属するものとして設定するためのユーザー識別子を指定できます。" + +msgid "" +"{project_name} provides resource servers complete control over their " +"resources. In the future, we should be able to allow users to control their " +"own resources as well as approve authorization requests and manage " +"permissions, especially when using the UMA protocol." +msgstr "" +"{project_name}は、リソースサーバーがリソースを完全に制御できるようにします。将来的には、特にUMAプロトコルを使用している場合に、ユーザーが自分のリソースを制御したり、認可リクエストを承認したり、パーミッションを管理できるようにする必要があります。" + +msgid "Managing policies" +msgstr "ポリシーの管理" + +msgid "" +"As mentioned previously, policies define the conditions that must be " +"satisfied before granting access to an object." +msgstr "前の章で述べたように、ポリシーはオブジェクトへのアクセスを与えられる前に満たすべき条件を定義します。" + +msgid "" +"Click the *Policy* tab to view all policies associated with a resource " +"server." +msgstr "リソースサーバーに関連するすべてのポリシーを表示するには、 *Policy* タブをクリックします。" + +msgid "image:images/policy/view.png[alt=\"Policies\"]" +msgstr "image:images/policy/view.png[alt=\"Policies\"]" + +msgid "" +"On this tab, you can view the list of previously created policies as well as" +" create and edit a policy." +msgstr "このタブでは、ポリシーの閲覧、作成、変更を行うことができます。" + +msgid "" +"To create a new policy, click *Create policy*, then select a policy type " +"from the list." +msgstr "新しいポリシーを作成するには、 *Create policy* をクリックし、一覧からポリシーの種類を選択します。" + +msgid "Details about each policy type are described in this section." +msgstr "各ポリシーの種類についての詳細は、このセクションで説明します。" + +msgid "User-based policy" +msgstr "ユーザーベース・ポリシー" + +msgid "" +"You can use this type of policy to define conditions for your permissions " +"where a set of one or more users is permitted to access an object." +msgstr "" +"1人以上のユーザーの集合がオブジェクトへのアクセスを許可されるパーミッションの条件を定義するために、このタイプのポリシーを使用することができます。" + +msgid "" +"To create a new user-based policy, select *User* in the item list in the " +"upper right corner of the policy listing." +msgstr "新しいユーザーベースのポリシーを作成するには、ポリシー一覧の右上にある項目リストで *User* を選択します。" + +msgid "Add a User Policy" +msgstr "ユーザーポリシーの追加" + +msgid "image:images/policy/create-user.png[alt=\"Add User Policy\"]" +msgstr "image:images/policy/create-user.png[alt=\"Add User Policy\"]" + +msgid "Configuration" +msgstr "設定" + +msgid "" +"A human-readable and unique string identifying the policy. A best practice " +"is to use names that are closely related to your business and security " +"requirements, so you can identify them more easily." +msgstr "" +"ポリシーを識別する、人が判読可能で一意の文字列。ベスト・プラクティスは、ビジネス要件とセキュリティー要件に密接に関連する名前を使用することです。そうすることで簡単に識別することができます。" + +msgid "*Description*" +msgstr "*説明*" + +msgid "A string containing details about this policy." +msgstr "このポリシーに関する詳細情報を含む文字列。" + +msgid "*Users*" +msgstr "*Users*" + +msgid "Specifies which users are given access by this policy." +msgstr "このポリシーによってアクセス権が与えられるユーザーを指定します。" + +msgid "*Logic*" +msgstr "*Logic*" + +msgid "" +"The logic of this policy to apply after the other conditions have been " +"evaluated." +msgstr "他の条件が評価された後に適用するロジックです。" + +msgid "<<_policy_logic, Positive and negative logic>>" +msgstr "<<_policy_logic, 肯定と否定の論理>>" + +msgid "Role-based policy" +msgstr "ロールベース・ポリシー" + +msgid "" +"You can use this type of policy to define conditions for your permissions " +"where a set of one or more roles is permitted to access an object." +msgstr "" +"1つ以上のロールの集合がオブジェクトへのアクセスを許可されるパーミッションの条件を定義するために、このタイプのポリシーを使用することができます。" + +msgid "" +"By default, roles added to this policy are not specified as required and the" +" policy will grant access if the user requesting access has been granted any" +" of these roles. However, you can specify a specific role as " +"<<_policy_rbac_required, required>> if you want to enforce a specific role. " +"You can also combine required and non-required roles, regardless of whether " +"they are realm or client roles." +msgstr "" +"デフォルトでは、このポリシーに追加されたロールは、Requiredとして指定されず、アクセスを要求するユーザーにこれらのロールのいずれかが付与されている場合に、ポリシーはアクセスを許可します。ただし、特定のロールを強制したい場合は、<<_policy_rbac_required," +" " +"Required>>として特定のロールを指定できます。レルムまたはクライアントのロールにかかわらず、RequiredのロールとRequiredではないロールを組み合わせることもできます。" + +msgid "" +"Role policies can be useful when you need more restricted role-based access " +"control (RBAC), where specific roles must be enforced to grant access to an " +"object. For instance, you can enforce that a user must consent to allowing a" +" client application (which is acting on the user's behalf) to access the " +"user's resources. You can use {project_name} Client Scope Mapping to enable " +"consent pages or even enforce clients to explicitly provide a scope when " +"obtaining access tokens from a {project_name} server." +msgstr "" +"ロールのポリシーは、オブジェクトへのアクセスを許可するのに特定のロールを強制する必要がある、より限定されたロールベースのアクセス・コントロール(RBAC)が必要な場合に役立ちます。たとえば、(ユーザーの代理として動作している)クライアント・アプリケーションがユーザーのリソースにアクセスできるようにするために、ユーザーの同意が必要であることを強制するようにできます。{project_name}クライアント・スコープ・マッピングを使用して同意ページを有効にしたり、{project_name}サーバーからアクセス・トークンを取得するときに明示的にスコープを指定したりすることもできます。" + +msgid "" +"To create a new role-based policy, select *Role* from the policy type list." +msgstr "新しいロールベースのポリシーを作成するには、ポリシータイプの一覧から *Role* を選択します。" + +msgid "Add Role Policy" +msgstr "ルールポリシーの追加" + +msgid "image:images/policy/create-role.png[alt=\"Add Role Policy\"]" +msgstr "image:images/policy/create-role.png[alt=\"Add Role Policy\"]" + +msgid "" +"A human-readable and unique string describing the policy. A best practice is" +" to use names that are closely related to your business and security " +"requirements, so you can identify them more easily." +msgstr "" +"ポリシーを説明する、人が判読可能で一意の文字列。ベスト・プラクティスは、ビジネス要件とセキュリティー要件に密接に関連する名前を使用することです。そうすることで簡単に識別することができます。" + +msgid "*Realm Roles*" +msgstr "*Realm Roles*" + +msgid "Specifies which *realm* roles are permitted by this policy." +msgstr "このポリシーによって、どの *realm* ロールが許可されるかを指定します。" + +msgid "*Client Roles*" +msgstr "*Client Roles*" + +msgid "" +"Specifies which *client* roles are permitted by this policy. To enable this " +"field must first select a `Client`." +msgstr "" +"このポリシーで許可される *client* ロールを指定します。このフィールドを有効にするには、最初に `Client` を選択する必要があります。" + +msgid "Defining a role as required" +msgstr "ロールを必須として定義する" + +msgid "" +"When creating a role-based policy, you can specify a specific role as " +"`Required`. When you do that, the policy will grant access only if the user " +"requesting access has been granted *all* the *required* roles. Both realm " +"and client roles can be configured as such." +msgstr "" +"ロールベース・ポリシーを定義するとき、特定のロールを `Required` と指定することができます。こうすることで、 *全て* の *必須* " +"ロールを付与されたユーザーにのみアクセス権を与えることができます。レルムロールとクライアントロールの両方にこの設定を適用することができます。" + +msgid "Example of a required role" +msgstr "必須ロールの例" + +msgid "image:images/policy/create-role.png[alt=\"Example of a required role\"]" +msgstr "image:images/policy/create-role.png[alt=\"Example of a required role\"]" + +msgid "" +"To specify a role as required, select the `Required` checkbox for the role " +"you want to configure as required." +msgstr "ロールを必須と指定するには、そのロールの `Required` チェックボックスをチェックします。" + +msgid "" +"Required roles can be useful when your policy defines multiple roles but " +"only a subset of them are mandatory. In this case, you can combine realm and" +" client roles to enable an even more fine-grained role-based access control " +"(RBAC) model for your application. For example, you can have policies " +"specific for a client and require a specific client role associated with " +"that client. Or you can enforce that access is granted only in the presence " +"of a specific realm role. You can also combine both approaches within the " +"same policy." +msgstr "" +"複数のロールがポリシーに定義されており、そのうちのいくつかが必須の場合にこの機能は有用です。より細かいロールベース・アクセス・コントロール(RBAC)のためにレルムロールとクライアントロールを組み合わせることが可能です。たとえば、あるクライアントに適用されるポリシーがある場合、そのクライアントに関連付けられた特定のクライアントロールを必須とすることができます。また、特定のレルムロールを持つ場合のみアクセスを許可することもできます。1つのポリシーに両方のアプローチを適用することもできます。" + +msgid "JavaScript-based policy" +msgstr "JavaScriptベースポリシー" + +msgid "" +"If your policy implementation is using Attribute based access control (ABAC)" +" as in the examples below, then please make sure that users are not able to " +"edit the protected attributes and the corresponding attributes are read-" +"only. See the details in the " +"link:{adminguide_link}#mitigating_security_threats[Threat model mitigation] " +"chapter." +msgstr "" +"以下の例のように、ポリシーの実装で属性ベースのアクセス・コントロール(ABAC)を使用している場合は、ユーザーが保護された属性を編集できず、対応する属性が読み取り専用であることを確認してください。詳細については" +" link:{adminguide_link}#mitigating_security_threats[脅威モデルの緩和の章] を参照してください。" + +msgid "" +"You can use this type of policy to define conditions for your permissions " +"using JavaScript. It is one of the rule-based policy types supported by " +"{project_name}, and provides flexibility to write any policy based on the " +"<<_policy_evaluation_api, Evaluation API>>." +msgstr "" +"このポリシーは、JavaScriptを使用可能にする条件を定義するために使うことができます。これは{project_name}によってサポートされるルール・ベースのポリシータイプの1つであり、<<_policy_evaluation_api," +" Evaluation API>>に基づいて任意のポリシーを柔軟に作成できます。" + +msgid "" +"To create a new JavaScript-based policy, select *JavaScript* in the item " +"list in the upper right corner of the policy listing." +msgstr "" +"新しいJavaScriptベースポリシーを作成するには、ポリシーリストの右上隅にある項目のリストから *JavaScript* を選択します。" + +msgid "" +"By default, JavaScript Policies can not be uploaded to the server. You " +"should prefer deploying your JS Policies directly to the server as described" +" in " +"link:{developerguide_jsproviders_link}[{developerguide_jsproviders_name}]." +msgstr "" +"デフォルトでは、JavaScript ポリシーをサーバーにアップロードすることはできません。 " +"link:{developerguide_jsproviders_link}[{developerguide_jsproviders_name}]で説明されているように、JavaScript" +" ポリシーをサーバーに直接デプロイすることを推奨します。" + +msgid "Creating a JS policy from a deployed JAR file" +msgstr "デプロイされたJARファイルから取得したJSポリシーの作成" + +msgid "" +"{project_name} allows you to deploy a JAR file in order to deploy scripts to" +" the server. Please, take a look at " +"link:{developerguide_jsproviders_link}[{developerguide_jsproviders_name}] " +"for more details." +msgstr "" +"{project_name}を使用すると、JARファイルをデプロイして、サーバーにスクリプトをデプロイできます。詳細については、link:{developerguide_jsproviders_link}[{developerguide_jsproviders_name}]を参照してください。" + +msgid "" +"Once you have your scripts deployed, you should be able to select the " +"scripts you deployed from the list of available policy providers." +msgstr "スクリプトをデプロイしたら、利用可能なポリシー・プロバイダーのリストからデプロイしたスクリプトを選択できるようになります。" + +msgid "Examples" +msgstr "サンプル" + +msgid "Checking for attributes from the evaluation context" +msgstr "評価コンテキストから取得した属性のチェック" + +msgid "" +"Here is a simple example of a JavaScript-based policy that uses attribute-" +"based access control (ABAC) to define a condition based on an attribute " +"obtained from the execution context:" +msgstr "" +"コンテキストから取得した属性で条件を定義するために、属性ベース・アクセス・コントロール(ABAC)を使用するJavaScriptベースポリシーの簡単な例です。" + +msgid "" +"const context = $evaluation.getContext();\n" +"const contextAttributes = context.getAttributes();\n" +"\n" +"if (contextAttributes.containsValue('kc.client.network.ip_address', '127.0.0.1')) {\n" +" $evaluation.grant();\n" +"}" +msgstr "" +"const context = $evaluation.getContext();\n" +"const contextAttributes = context.getAttributes();\n" +"\n" +"if (contextAttributes.containsValue('kc.client.network.ip_address', '127.0.0.1')) {\n" +" $evaluation.grant();\n" +"}" + +msgid "Checking for attributes from the current identity" +msgstr "現在のアイデンティティーから取得した属性のチェック" + +msgid "" +"Here is a simple example of a JavaScript-based policy that uses attribute-" +"based access control (ABAC) to define a condition based on an attribute " +"obtained associated with the current identity:" +msgstr "" +"現在のアイデンティティーに関連した属性で条件を定義するために、属性ベース・アクセス・コントロール(ABAC)を使用するJavaScriptベースポリシーの簡単な例です。" + +msgid "" +"const context = $evaluation.getContext();\n" +"const identity = context.getIdentity();\n" +"const attributes = identity.getAttributes();\n" +"const email = attributes.getValue('email').asString(0);\n" +"\n" +"if (email.endsWith('@keycloak.org')) {\n" +" $evaluation.grant();\n" +"}" +msgstr "" +"const context = $evaluation.getContext();\n" +"const identity = context.getIdentity();\n" +"const attributes = identity.getAttributes();\n" +"const email = attributes.getValue('email').asString(0);\n" +"\n" +"if (email.endsWith('@keycloak.org')) {\n" +" $evaluation.grant();\n" +"}" + +msgid "" +"Where these attributes are mapped from whatever claim is defined in the " +"token that was used in the authorization request." +msgstr "これらの属性は、認可リクエストで使用されるトークンで定義されているクレームからマップされます。" + +msgid "Checking for roles granted to the current identity" +msgstr "現在のアイデンティティーに付与されているロールのチェック" + +msgid "" +"You can also use Role-Based Access Control (RBAC) in your policies. In the " +"example below, we check if a user is granted with a `keycloak_user` *realm* " +"role:" +msgstr "" +"ロール・ベース・アクセス・コントロール(RBAC)を使用することもできます。以下の例では、ユーザーが `keycloak_user` *レルム* " +"ロールを与えられているかどうかを調べています。" + +msgid "" +"const context = $evaluation.getContext();\n" +"const identity = context.getIdentity();\n" +"\n" +"if (identity.hasRealmRole('keycloak_user')) {\n" +" $evaluation.grant();\n" +"}" +msgstr "" +"const context = $evaluation.getContext();\n" +"const identity = context.getIdentity();\n" +"\n" +"if (identity.hasRealmRole('keycloak_user')) {\n" +" $evaluation.grant();\n" +"}" + +msgid "" +"Or you can check if a user is granted with a `my-client-role` *client* role," +" where `my-client` is the client id of the client application:" +msgstr "" +"または、ユーザーが `my-client-role` *クライアント* ・ロールを与えられているかどうかを確認できます。my-" +"clientはクライアント・アプリケーションのクライアントIDです。" + +msgid "" +"const context = $evaluation.getContext();\n" +"const identity = context.getIdentity();\n" +"\n" +"if (identity.hasClientRole('my-client', 'my-client-role')) {\n" +" $evaluation.grant();\n" +"}" +msgstr "" +"const context = $evaluation.getContext();\n" +"const identity = context.getIdentity();\n" +"\n" +"if (identity.hasClientRole('my-client', 'my-client-role')) {\n" +" $evaluation.grant();\n" +"}" + +msgid "Checking for roles granted to a user" +msgstr "ユーザーに付与されているロールのチェック" + +msgid "To check for realm roles granted to a user:" +msgstr "ユーザーに付与されているレルムロールをチェックするには、次のようにします。" + +msgid "" +"const realm = $evaluation.getRealm();\n" +"\n" +"if (realm.isUserInRealmRole('marta', 'role-a')) {\n" +" $evaluation.grant();\n" +"}" +msgstr "" +"const realm = $evaluation.getRealm();\n" +"\n" +"if (realm.isUserInRealmRole('marta', 'role-a')) {\n" +" $evaluation.grant();\n" +"}" + +msgid "Or for client roles granted to a user:" +msgstr "または、ユーザーに付与されたクライアントロールの場合は、以下のようになります。" + +msgid "" +"const realm = $evaluation.getRealm();\n" +"\n" +"if (realm.isUserInClientRole('marta', 'my-client', 'some-client-role')) {\n" +" $evaluation.grant();\n" +"}" +msgstr "" +"const realm = $evaluation.getRealm();\n" +"\n" +"if (realm.isUserInClientRole('marta', 'my-client', 'some-client-role')) {\n" +" $evaluation.grant();\n" +"}" + +msgid "Checking for roles granted to a group" +msgstr "グループに付与されたロールのチェック" + +msgid "To check for realm roles granted to a group:" +msgstr "グループに付与されているレルムロールをチェックするには、次のようにします。" + +msgid "" +"const realm = $evaluation.getRealm();\n" +"\n" +"if (realm.isGroupInRole('/Group A/Group D', 'role-a')) {\n" +" $evaluation.grant();\n" +"}" +msgstr "" +"const realm = $evaluation.getRealm();\n" +"\n" +"if (realm.isGroupInRole('/Group A/Group D', 'role-a')) {\n" +" $evaluation.grant();\n" +"}" + +msgid "Pushing arbitrary claims to the resource server" +msgstr "任意のクレームをリソースサーバーにプッシュする" + +msgid "" +"To push arbitrary claims to the resource server in order to provide " +"additional information on how permissions should be enforced:" +msgstr "パーミッションの強制方法に関する追加情報を提供するために、任意のクレームをリソースサーバーにプッシュするには、次のようにします。" + +msgid "" +"const permission = $evaluation.getPermission();\n" +"\n" +"// decide if permission should be granted\n" +"\n" +"if (granted) {\n" +" permission.addClaim('claim-a', 'claim-a');\n" +" permission.addClaim('claim-a', 'claim-a1');\n" +" permission.addClaim('claim-b', 'claim-b');\n" +"}\n" +msgstr "" +"const permission = $evaluation.getPermission();\n" +"\n" +"// decide if permission should be granted\n" +"\n" +"if (granted) {\n" +" permission.addClaim('claim-a', 'claim-a');\n" +" permission.addClaim('claim-a', 'claim-a1');\n" +" permission.addClaim('claim-b', 'claim-b');\n" +"}\n" + +msgid "Checking for group membership" +msgstr "グループ・メンバーシップのチェック" + +msgid "" +"const realm = $evaluation.getRealm();\n" +"\n" +"if (realm.isUserInGroup('marta', '/Group A/Group B')) {\n" +" $evaluation.grant();\n" +"}" +msgstr "" +"const realm = $evaluation.getRealm();\n" +"\n" +"if (realm.isUserInGroup('marta', '/Group A/Group B')) {\n" +" $evaluation.grant();\n" +"}" + +msgid "Mixing different access control mechanisms" +msgstr "異なるアクセス制御メカニズムを混在させる" + +msgid "" +"You can also use a combination of several access control mechanisms. The " +"example below shows how roles(RBAC) and claims/attributes(ABAC) checks can " +"be used within the same policy. In this case we check if user is granted " +"with `admin` role or has an e-mail from `keycloak.org` domain:" +msgstr "" +"いくつかのアクセス・コントロール機構の組み合わせを使用することもできます。 " +"以下の例は、同じポリシー内でロール(RBAC)とクレーム/属性(ABAC)のチェックをどのように使用できるかを示しています。この場合は、ユーザーが " +"`admin` ロールを与えられているか、または、`keycloak.org` ドメインの電子メールを持っているかどうかを調べています。" + +msgid "" +"const context = $evaluation.getContext();\n" +"const identity = context.getIdentity();\n" +"const attributes = identity.getAttributes();\n" +"const email = attributes.getValue('email').asString(0);\n" +"\n" +"if (identity.hasRealmRole('admin') || email.endsWith('@keycloak.org')) {\n" +" $evaluation.grant();\n" +"}" +msgstr "" +"const context = $evaluation.getContext();\n" +"const identity = context.getIdentity();\n" +"const attributes = identity.getAttributes();\n" +"const email = attributes.getValue('email').asString(0);\n" +"\n" +"if (identity.hasRealmRole('admin') || email.endsWith('@keycloak.org')) {\n" +" $evaluation.grant();\n" +"}" + +msgid "" +"When writing your own rules, keep in mind that the *$evaluation* object is " +"an object implementing " +"*org.keycloak.authorization.policy.evaluation.Evaluation*. For more " +"information about what you can access from this interface, see the " +"<<_policy_evaluation_api, Evaluation API>>." +msgstr "" +"独自のルールを作成するときは、 *$evaluation* オブジェクトが " +"*org.keycloak.authorization.policy.evaluation.Evaluation* " +"を実装するオブジェクトであることに注意してください。このインターフェイスから何にアクセスできるかの詳細については、<<_policy_evaluation_api," +" Evaluation API>>を参照してください。" + +msgid "Time-based policy" +msgstr "タイムベース・ポリシー" + +msgid "" +"You can use this type of policy to define time conditions for your " +"permissions." +msgstr "このタイプのポリシーを使用して、パーミッションの時間条件を定義することができます。" + +msgid "" +"To create a new time-based policy, select *Time* in the item list in the " +"upper right corner of the policy listing." +msgstr "新しい時間ベースのポリシーを作成するには、ポリシー一覧の右上にある項目リストで *Time* を選択します。" + +msgid "Add Time Policy" +msgstr "タイムポリシーの追加" + +msgid "image:images/policy/create-time.png[alt=\"Add Time Policy\"]" +msgstr "image:images/policy/create-time.png[alt=\"Add Time Policy\"]" + +msgid "*Start time*" +msgstr "*Start time*" + +msgid "" +"Defines the time before which access must *not* be granted. Permission is " +"granted only if the current date/time is later than or equal to this value." +msgstr "アクセスを許可 *しない* 時間を定義します。現在の日付/時刻がこの値よりも後の場合にのみ許可が与えられます。" + +msgid "*Expire time*" +msgstr "*Expire time*" + +msgid "" +"Defines the time after which access must *not* be granted. Permission is " +"granted only if the current date/time is earlier than or equal to this " +"value. Select *Repeat* to repeat access being granted on a specific *Day of " +"Month*, *Month*, *Year*, *Hour* or *Minute*." +msgstr "" +"アクセスを許可してはならない時刻を定義します。現在の日付/時刻がこの値より早いか等しい場合にのみ、アクセスが許可されます。特定の *曜日* 、 *月* " +"、 *年* 、 *時* 、 *分* にアクセスを繰り返し許可する場合は、 *Repeat* を選択します。" + +msgid "*Day of Month*" +msgstr "*Day of Month*" + +msgid "" +"Defines the day of month that access must be granted. You can also specify a" +" range of dates. In this case, permission is granted only if the current day" +" of the month is between or equal to the two values specified." +msgstr "" +"アクセスを許可する月の日を定義します。また、日付の範囲を指定することもできます。この場合、その月の現在の日が指定された2つの値の間にあるまたは等しい場合にのみ許可が与えられます。" + +msgid "*Month*" +msgstr "*Month*" + +msgid "" +"Defines the month that access must be granted. You can also specify a range " +"of months. In this case, permission is granted only if the current month is " +"between or equal to the two values specified." +msgstr "" +"アクセスを許可する月を定義します。また、月の範囲を指定することもできます。この場合、現在の月が指定された2つの値の間にあるまたは等しい場合にのみ許可が与えられます。" + +msgid "*Year*" +msgstr "*Year*" + +msgid "" +"Defines the year that access must be granted. You can also specify a range " +"of years. In this case, permission is granted only if the current year is " +"between or equal to the two values specified." +msgstr "" +"アクセスを許可する年を定義します。また、年の範囲を指定することもできます。この場合、現在の年が指定された2つの値の間にあるまたは等しい場合にのみ許可が与えられます。" + +msgid "*Hour*" +msgstr "*Hour*" + +msgid "" +"Defines the hour that access must be granted. You can also specify a range " +"of hours. In this case, permission is granted only if current hour is " +"between or equal to the two values specified." +msgstr "" +"アクセスを許可する時間を定義します。また、時間の範囲を指定することもできます。この場合、現在の時間が指定された2つの値の間にあるまたは等しい場合にのみ許可が与えられます。" + +msgid "*Minute*" +msgstr "*Minute*" + +msgid "" +"Defines the minute that access must be granted. You can also specify a range" +" of minutes. In this case, permission is granted only if the current minute " +"is between or equal to the two values specified." +msgstr "" +"アクセスを許可する分を定義します。また、分の範囲を指定することもできます。この場合、現在の分が指定された2つの値の間にあるまたは等しい場合にのみ許可が与えられます。" + +msgid "" +"Access is only granted if all conditions are satisfied. {project_name} will " +"perform an _AND_ based on the outcome of each condition." +msgstr "" +"アクセスは、すべての条件が満たされている場合にのみ許可されます。{project_name}は、各条件の結果に基づいて _AND_ を実行します。" + +msgid "Aggregated policy" +msgstr "集約されたポリシー" + +msgid "" +"As mentioned previously, {project_name} allows you to build a policy of " +"policies, a concept referred to as policy aggregation. You can use policy " +"aggregation to reuse existing policies to build more complex ones and keep " +"your permissions even more decoupled from the policies that are evaluated " +"during the processing of authorization requests." +msgstr "" +"前述のとおり、{project_name}ではポリシーのポリシーを構築できます。これはポリシー集約と呼ばれる概念です。 " +"ポリシー集約を使用すると、既存のポリシーを再利用してより複雑なポリシーを構築し、認可リクエストの処理中に評価されるポリシーとのアクセスをさらに分離することができます。" + +msgid "" +"To create a new aggregated policy, select *Aggregated* from the policy type " +"list." +msgstr "新しい集約ポリシーを作成するには、ポリシータイプの一覧から *Aggregated* を選択します。" + +msgid "Add an aggregated policy" +msgstr "集約されたポリシーの追加" + +msgid "image:images/policy/create-aggregated.png[alt=\"Add aggregated policy\"]" +msgstr "image:images/policy/create-aggregated.png[alt=\"Add aggregated policy\"]" + +msgid "" +"Let's suppose you have a resource called _Confidential Resource_ that can be" +" accessed only by users from the _keycloak.org_ domain and from a certain " +"range of IP addresses. You can create a single policy with both conditions. " +"However, you want to reuse the domain part of this policy to apply to " +"permissions that operates regardless of the originating network." +msgstr "" +"_Confidential Resource_ というリソースがあり、 _keycloak.org_ " +"ドメインと特定の範囲のIPアドレスからアクセスできるユーザーがいるとします。両方の条件で単一のポリシーを作成できます。ただし、このポリシーのドメイン部分を再利用して、元のネットワークに関係なく動作するパーミッションに適用したいかもしれません。" + +msgid "" +"You can create separate policies for both domain and network conditions and " +"create a third policy based on the combination of these two policies. With " +"an aggregated policy, you can freely combine other policies and then apply " +"the new aggregated policy to any permission you want." +msgstr "" +"ドメインとネットワークの両方の条件に対して個別のポリシーを作成し、これらの2つのポリシーの組み合わせに基づいて第3のポリシーを作成することができます。集約されたポリシーを使用すると、他のポリシーを自由に組み合わせて、新しい集約ポリシーを任意のパーミッションに適用できます。" + +msgid "" +"When creating aggregated policies, be mindful that you are not introducing a" +" circular reference or dependency between policies. If a circular dependency" +" is detected, you cannot create or update the policy." +msgstr "" +"集約されたポリシーを作成する場合は、ポリシー間で循環参照または依存関係を導入していないことに注意してください。循環依存が検出された場合、ポリシーを作成または更新することはできません。" + +msgid "" +"A human-readable and unique string describing the policy. We strongly " +"suggest that you use names that are closely related with your business and " +"security requirements, so you can identify them more easily and also know " +"what they mean." +msgstr "" +"ポリシーを説明する、人が判読可能な一意の文字列。ビジネス要件とセキュリティー要件に密接に関連する名前を使用することを強くお勧めします。そうすることで、それらが実際に何を意味するのか簡単に識別することができます。" + +msgid "A string with more details about this policy." +msgstr "このポリシーの詳細を示す文字列。" + +msgid "*Apply Policy*" +msgstr "*Apply Policy*" + +msgid "" +"Defines a set of one or more policies to associate with the aggregated " +"policy. To associate a policy you can either select an existing policy or " +"create a new one by selecting the type of the policy you want to create." +msgstr "" +"集約されたポリシーに関連付ける1つ以上のポリシーのセットを定義します。ポリシーを関連付けるには、既存のポリシーを選択するか、作成するポリシーのタイプを選択して新しいポリシーを作成します。" + +msgid "The decision strategy for this permission." +msgstr "このパーミッションのための決定戦略。" + +msgid "Decision strategy for aggregated policies" +msgstr "集約されたポリシーの決定戦略" + +msgid "" +"When creating aggregated policies, you can also define the decision strategy" +" that will be used to determine the final decision based on the outcome from" +" each policy." +msgstr "集約されたポリシーを作成する際には、各ポリシーの結果に基づいて最終的な決定をするために使用される決定戦略を定義することもできます。" + +msgid "*Unanimous*" +msgstr "*Unanimous*" + +msgid "" +"The default strategy if none is provided. In this case, _all_ policies must " +"evaluate to a positive decision for the final decision to be also positive." +msgstr "デフォルトの戦略。この場合、最終的に _全て_ のポリシー判定結果が肯定と判定される必要があります。" + +msgid "*Affirmative*" +msgstr "*Affirmative*" + +msgid "" +"In this case, _at least one_ policy must evaluate to a positive decision in " +"order for the final decision to be also positive." +msgstr "この場合、最終決定が肯定的であるために、 _少なくとも1つ_ のポリシーが、肯定的な決定に評価されなければなりません。" + +msgid "*Consensus*" +msgstr "*Consensus*" + +msgid "" +"In this case, the number of positive decisions must be greater than the " +"number of negative decisions. If the number of positive and negative " +"decisions is the same, the final decision will be negative." +msgstr "" +"この場合、肯定的決定の数は否定的決定の数よりも大きくなければなりません。肯定的な決定と否定的な決定の数が同じであれば、最終的な決定は否定的になります。" + +msgid "Client-based policy" +msgstr "クライアントベース・ポリシー" + +msgid "" +"You can use this type of policy to define conditions for your permissions " +"where a set of one or more clients is permitted to access an object." +msgstr "このポリシーは、1つ以上のクライアントが、ある対象へアクセスすることを可能にする条件を定義するために使うことができます。" + +msgid "" +"To create a new client-based policy, select *Client* from the policy type " +"list." +msgstr "新しいクライアントベースのポリシーを作成するには、ポリシータイプの一覧から *Client* を選択します。" + +msgid "Add a Client Policy" +msgstr "クライアント・ポリシーの追加" + +msgid "image:images/policy/create-client.png[alt=\"Add a Client Policy\"]" +msgstr "image:images/policy/create-client.png[alt=\"Add a Client Policy\"]" + +msgid "*Clients*" +msgstr "*Clients*" + +msgid "" +"Specifies which clients have givenGroup-based policy access by this policy." +msgstr "このポリシーによって、与えられたグループベースのポリシーにどのクライアントがアクセスできるかを指定します。" + +msgid "Group-based policy" +msgstr "グループベース・ポリシー" + +msgid "" +"You can use this type of policy to define conditions for your permissions " +"where a set of one or more groups (and their hierarchies) is permitted to " +"access an object." +msgstr "このポリシーは、1つ以上のグループ(およびそれらの階層)が、ある対象へアクセスすることを可能にする条件を定義するために使うことができます。" + +msgid "" +"To create a new group-based policy, select *Group* from the policy type " +"list." +msgstr "新しいグループベースのポリシーを作成するには、ポリシータイプの一覧から *Group* を選択します。" + +msgid "Group Policy" +msgstr "グループ・ポリシー" + +msgid "image:images/policy/create-group.png[alt=\"Add Group Policy\"]" +msgstr "image:images/policy/create-group.png[alt=\"Add Group Policy\"]" + +msgid "*Groups Claim*" +msgstr "*Groups Claim*" + +msgid "" +"Specifies the name of the claim in the token holding the group names and/or " +"paths. Usually, authorization requests are processed based on an ID Token or" +" Access Token previously issued to a client acting on behalf of some user. " +"If defined, the token must include a claim from where this policy is going " +"to obtain the groups the user is a member of. If not defined, user's groups " +"are obtained from your realm configuration." +msgstr "" +"グループの名前および/またはパスを保持するトークン内のクレームの名前を指定します。通常、認可リクエストは、ユーザーに代わって動作するクライアントに対して、以前に発行されたIDトークンまたはアクセストークンに基づいて処理されます。これが定義されている場合、トークンには、このポリシーがユーザーの所属するグループを取得する場所を示すクレームが含まれている必要があります。定義されていない場合、ユーザーのグループはレルム設定から取得されます。" + +msgid "*Groups*" +msgstr "*Groups*" + +msgid "" +"Allows you to select the groups that should be enforced by this policy when " +"evaluating permissions. After adding a group, you can extend access to " +"children of the group by marking the checkbox *Extend to Children*. If left " +"unmarked, access restrictions only applies to the selected group." +msgstr "" +"パーミッションを評価するときに、このポリシーにより実施されるグループを選択できます。 グループを追加した後、 *Extend to Children* " +"チェックボックスをオンにすることで、子グループへのアクセスを拡張できます。マークされていない場合、アクセス制限は選択したグループにのみ適用されます。" + +msgid "Extending access to child groups" +msgstr "子グループへのアクセスの拡張" + +msgid "" +"By default, when you add a group to this policy, access restrictions will " +"only apply to members of the selected group." +msgstr "デフォルトでは、グループをポリシーに追加したとき、選択されたグループのみにアクセス制限が適用されます。" + +msgid "" +"Under some circumstances, it might be necessary to allow access not only to " +"the group itself but to any child group in the hierarchy. For any group " +"added you can mark a checkbox *Extend to Children* in order to extend access" +" to child groups." +msgstr "" +"このアクセス制限を、選択したグループだけでなく、その子グループにも適用したい場合があるかもしれません。その場合、 *Extend to " +"Children* のチェックボックスをチェックすることで、任意のグループへのアクセス権をその子グループにまで拡大適用することができます。" + +msgid "" +"image:images/policy/create-group-extend-children.png[alt=\"Extending access " +"to child groups\"]" +msgstr "" +"image:images/policy/create-group-extend-children.png[alt=\"Extending access " +"to child groups\"]" + +msgid "" +"In the example above, the policy is granting access for any user member of " +"*IT* or any of its children." +msgstr "上の例では、 *IT* グループとその子グループに属する任意のユーザーに対してアクセス権が付与されます。" + +msgid "Client scope-based policy" +msgstr "クライアント・スコープ・ベース・ポリシー" + +msgid "" +"You can use this type of policy to define conditions for your permissions " +"where a set of one or more client scopes is permitted to access an object." +msgstr "このポリシーは、1つ以上のクライアント・スコープが、ある対象へアクセスすることを可能にする条件を定義するために使うことができます。" + +msgid "" +"By default, client scopes added to this policy are not specified as required" +" and the policy will grant access if the client requesting access has been " +"granted any of these client scopes. However, you can specify a specific " +"client scope as <<_policy_client_scope_required, required>> if you want to " +"enforce a specific client scope." +msgstr "" +"デフォルトでは、このポリシーに追加されたクライアント・スコープは必要に応じて指定されておらず、アクセスを要求しているクライアントにこれらのクライアントスコープのいずれかが許可されている場合、ポリシーはアクセスを許可します。ただし、特定のクライアントスコープを適用する場合は、特定のクライアントスコープを<<_policy_client_scope_required," +" required>>として指定できます。" + +msgid "" +"To create a new client scope-based policy, select *Client Scope* from the " +"policy type list." +msgstr "新しいスコープベースのポリシーを作成するには、ポリシータイプの一覧から *Client Scope* を選択します。" + +msgid "Add Client Scope Policy" +msgstr "クライアント・スコープ・ポリシーの追加" + +msgid "" +"image:images/policy/create-client-scope.png[alt=\"Add Client Scope Policy\"]" +msgstr "" +"image:images/policy/create-client-scope.png[alt=\"Add Client Scope Policy\"]" + +msgid "*Client Scopes*" +msgstr "*Client Scopes*" + +msgid "Specifies which client scopes are permitted by this policy." +msgstr "このポリシーによって、どのクライアント・スコープが許可されるかを指定します。" + +msgid "Defining a client scope as required" +msgstr "必須としてクライアント・スコープを定義する" + +msgid "" +"When creating a client scope-based policy, you can specify a specific client" +" scope as `Required`. When you do that, the policy will grant access only if" +" the client requesting access has been granted *all* the *required* client " +"scopes." +msgstr "" +"クライアント・スコープ・ベースのポリシーを作成するときに、特定のクライアント・スコープを `Required` " +"として指定できます。これを行うと、アクセスを要求しているクライアントに *全て* の *必須* " +"クライアント・スコープが付与されている場合にのみ、ポリシーはアクセスを許可します。" + +msgid "Example of required client scope" +msgstr "必須クライアント・スコープの例" + +msgid "" +"image:images/policy/create-client-scope.png[alt=\"Example of required client" +" scope\"]" +msgstr "" +"image:images/policy/create-client-scope.png[alt=\"Example of required client" +" scope\"]" + +msgid "" +"To specify a client scope as required, select the `Required` checkbox for " +"the client scope you want to configure as required." +msgstr "クライアント・スコープを必須と指定するには、そのクライアント・スコープの `Required` チェックボックスをチェックします。" + +msgid "" +"Required client scopes can be useful when your policy defines multiple " +"client scopes but only a subset of them are mandatory." +msgstr "" +"必須のクライアント・スコープは、ポリシーで複数のクライアント・スコープが定義されているが、それらのサブセットのみが必須である場合に役立ちます。" + +msgid "Regex-Based Policy" +msgstr "正規表現ベースのポリシー" + +msgid "" +"You can use this type of policy to define regex conditions for your " +"permissions." +msgstr "このタイプのポリシーを使用して、パーミッションの正規表現の条件を定義することができます。" + +msgid "" +"To create a new regex-based policy, select *Regex* from the policy type " +"list." +msgstr "新しい正規表現ベースのポリシーを作成するには、ポリシータイプの一覧から *Regex* を選択します。" + +msgid "This policy resolves attributes available from the current identity." +msgstr "このポリシーは、現在のIDから利用可能な属性を解決します。" + +msgid "Add Regex Policy" +msgstr "正規表現ポリシーの追加" + +msgid "image:images/policy/create-regex.png[alt=\"Add Regex Policy\"]" +msgstr "image:images/policy/create-regex.png[alt=\"Add Regex Policy\"]" + +msgid "*Target Claim*" +msgstr "*Target Claim*" + +msgid "" +"Specifies the name of the target claim in the token. For JSON-based claims, " +"you can use dot notation for nesting and square brackets to access array " +"fields by index. For example, contact.address[0].country. If the target " +"claim references a JSON object, the first path (for example, `contact`) " +"should map to the attribute name holding the JSON object." +msgstr "" +"トークン内の対象クレームの名称を指定します。JSONベースのクレームでは、ドット記法で入れ子を行い、角括弧でインデックスによる配列フィールドにアクセスすることができます。例えば、contact.address[0].countryのようになります。対象のトクレームがJSONオブジェクトを参照する場合、最初のパス(たとえば、" +" `contact` )は、JSONオブジェクトを保持する属性名にマッピングする必要があります。" + +msgid "*Regex Pattern*" +msgstr "*Regex Pattern*" + +msgid "Specifies the regex pattern." +msgstr "正規表現パターンを指定します。" + +msgid "" +"The <<_policy_logic, Logic>> of this policy to apply after the other " +"conditions have been evaluated." +msgstr "他の条件が評価された後に適用する、このポリシーの<<_policy_logic, ロジック>>。" + +msgid "Positive and negative logic" +msgstr "肯定ロジックと否定ロジック" + +msgid "" +"Policies can be configured with positive or negative logic. Briefly, you can" +" use this option to define whether the policy result should be kept as it is" +" or be negated." +msgstr "ポリシーには肯定または否定のオプションを付与できます。これにより、ポリシー適用の結果を反転させることができます。" + +msgid "" +"For example, suppose you want to create a policy where only users *not* " +"granted with a specific role should be given access. In this case, you can " +"create a role-based policy using that role and set its *Logic* field to " +"*Negative*. If you keep *Positive*, which is the default behavior, the " +"policy result will be kept as it is." +msgstr "" +"たとえば、特定のロールを与えられて *いない* " +"ユーザーのみアクセスを許可したいとします。この場合、まずそのロールを使ったロールベース・ポリシーを作成し、 *Logic* を *Negative* " +"にセットします。*Positive* のままにしておくと、ポリシーはその定義どおりに適用されます。" + +msgid "Policy evaluation API" +msgstr "Policy Evaluation API" + +msgid "" +"When writing rule-based policies using JavaScript, {project_name} provides " +"an Evaluation API that provides useful information to help determine whether" +" a permission should be granted." +msgstr "" +"JavaScriptを使用してルールベースのポリシーを作成する場合、{project_name}は、パーミッションを与える必要があるかどうかの判断に役立つ情報を提供するEvaluation" +" APIを提供します。" + +msgid "" +"This API consists of a few interfaces that provide you access to " +"information, such as" +msgstr "このAPIは、次のような情報へのアクセスを提供するいくつかのインターフェイスで構成されています。" + +msgid "" +"The permission being evaluated, representing both the resource and scopes " +"being requested." +msgstr "要求されているリソースとスコープの両方を表す評価されたパーミッション。" + +msgid "The attributes associated with the resource being requested" +msgstr "要求されているリソースに関連付けられている属性" + +msgid "" +"Runtime environment and any other attribute associated with the execution " +"context" +msgstr "ランタイム環境および実行コンテキストに関連付けられたその他の属性" + +msgid "Information about users such as group membership and roles" +msgstr "グループ・メンバーシップやロールなどのユーザーに関する情報" + +msgid "" +"The main interface is " +"*org.keycloak.authorization.policy.evaluation.Evaluation*, which defines the" +" following contract:" +msgstr "" +"主なインタフェースは *org.keycloak.authorization.policy.evaluation.Evaluation* " +"で、次のコントラクトを定義します。" + +msgid "" +"public interface Evaluation {\n" +"\n" +" /**\n" +" * Returns the {@link ResourcePermission} to be evaluated.\n" +" *\n" +" * @return the permission to be evaluated\n" +" */\n" +" ResourcePermission getPermission();\n" +"\n" +" /**\n" +" * Returns the {@link EvaluationContext}. Which provides access to the whole evaluation runtime context.\n" +" *\n" +" * @return the evaluation context\n" +" */\n" +" EvaluationContext getContext();\n" +"\n" +" /**\n" +" * Returns a {@link Realm} that can be used by policies to query information.\n" +" *\n" +" * @return a {@link Realm} instance\n" +" */\n" +" Realm getRealm();\n" +"\n" +" /**\n" +" * Grants the requested permission to the caller.\n" +" */\n" +" void grant();\n" +"\n" +" /**\n" +" * Denies the requested permission.\n" +" */\n" +" void deny();\n" +"}" +msgstr "" +"public interface Evaluation {\n" +"\n" +" /**\n" +" * Returns the {@link ResourcePermission} to be evaluated.\n" +" *\n" +" * @return the permission to be evaluated\n" +" */\n" +" ResourcePermission getPermission();\n" +"\n" +" /**\n" +" * Returns the {@link EvaluationContext}. Which provides access to the whole evaluation runtime context.\n" +" *\n" +" * @return the evaluation context\n" +" */\n" +" EvaluationContext getContext();\n" +"\n" +" /**\n" +" * Returns a {@link Realm} that can be used by policies to query information.\n" +" *\n" +" * @return a {@link Realm} instance\n" +" */\n" +" Realm getRealm();\n" +"\n" +" /**\n" +" * Grants the requested permission to the caller.\n" +" */\n" +" void grant();\n" +"\n" +" /**\n" +" * Denies the requested permission.\n" +" */\n" +" void deny();\n" +"}" + +msgid "" +"When processing an authorization request, {project_name} creates an " +"`Evaluation` instance before evaluating any policy. This instance is then " +"passed to each policy to determine whether access is *GRANT* or *DENY*." +msgstr "" +"認可リクエストを処理する際、{project_name}は、ポリシーを評価する前に `Evaluation` " +"インスタンスを作成します。このインスタンスは、各ポリシーに渡され、アクセスが *GRANT* か *DENY* かを判断します。" + +msgid "" +"Policies determine this by invoking the `grant()` or `deny()` methods on an " +"`Evaluation` instance. By default, the state of the `Evaluation` instance is" +" denied, which means that your policies must explicitly invoke the `grant()`" +" method to indicate to the policy evaluation engine that permission should " +"be granted." +msgstr "" +"ポリシーは、 `Evaluation` インスタンスで `grant()` または `deny()` " +"メソッドを呼び出すことでこれを判断します。デフォルトでは、 `Evaluation` インスタンスの状態は拒否になっています。つまり、ポリシーが明示的に" +" `grant()` メソッドを呼び出してポリシー評価エンジンに許可を与える必要があることを示す必要があります。" + +msgid "{apidocs_link}[JavaDocs Documentation]." +msgstr "{apidocs_link}[JavaDocs Documentation]" + +msgid "The evaluation context" +msgstr "評価コンテキスト" + +msgid "" +"The evaluation context provides useful information to policies during their " +"evaluation." +msgstr "評価コンテキストは、評価中にポリシーに有用な情報を提供します。" + +msgid "" +"public interface EvaluationContext {\n" +"\n" +" /**\n" +" * Returns the {@link Identity} that represents an entity (person or non-person) to which the permissions must be granted, or not.\n" +" *\n" +" * @return the identity to which the permissions must be granted, or not\n" +" */\n" +" Identity getIdentity();\n" +"\n" +" /**\n" +" * Returns all attributes within the current execution and runtime environment.\n" +" *\n" +" * @return the attributes within the current execution and runtime environment\n" +" */\n" +" Attributes getAttributes();\n" +"}" +msgstr "" +"public interface EvaluationContext {\n" +"\n" +" /**\n" +" * Returns the {@link Identity} that represents an entity (person or non-person) to which the permissions must be granted, or not.\n" +" *\n" +" * @return the identity to which the permissions must be granted, or not\n" +" */\n" +" Identity getIdentity();\n" +"\n" +" /**\n" +" * Returns all attributes within the current execution and runtime environment.\n" +" *\n" +" * @return the attributes within the current execution and runtime environment\n" +" */\n" +" Attributes getAttributes();\n" +"}" + +msgid "From this interface, policies can obtain:" +msgstr "このインターフェイスから、ポリシーは以下を取得できます。" + +msgid "The authenticated `Identity`" +msgstr "認証された `Identity`" + +msgid "Information about the execution context and runtime environment" +msgstr "実行コンテキストとランタイム環境に関する情報" + +msgid "" +"The `Identity` is built based on the OAuth2 Access Token that was sent along" +" with the authorization request, and this construct has access to all claims" +" extracted from the original token. For example, if you are using a " +"_Protocol Mapper_ to include a custom claim in an OAuth2 Access Token you " +"can also access this claim from a policy and use it to build your " +"conditions." +msgstr "" +"`Identity` " +"は、認可リクエストと共に送られたOAuth2アクセストークンに基づいて構築され、この構造は元のトークンから抽出されたすべてのクレームへのアクセスを有します。たとえば、" +" _Protocol Mapper_ " +"を使用してカスタムクレームをOAuth2アクセストークンに含める場合は、ポリシーからこのクレームにアクセスして、それを使用して条件を構築することもできます。" + +msgid "" +"The `EvaluationContext` also gives you access to attributes related to both " +"the execution and runtime environments. For now, there only a few built-in " +"attributes." +msgstr "" +"`EvaluationContext` " +"は、実行およびランタイム環境の両方に関連する属性へのアクセスも提供します。今のところ、いくつかの組み込み属性しかありません。" + +msgid "Execution and Runtime Attributes" +msgstr "実行属性およびランタイム属性" + +msgid "Name" +msgstr "名前" + +msgid "Description" +msgstr "説明" + +msgid "kc.time.date_time" +msgstr "kc.time.date_time" + +msgid "Current date and time" +msgstr "現在の日付と時刻" + +msgid "String. Format `MM/dd/yyyy hh:mm:ss`" +msgstr "String。 `MM/dd/yyyy hh:mm:ss` 形式" + +msgid "kc.client.network.ip_address" +msgstr "kc.client.network.ip_address" + +msgid "IPv4 address of the client" +msgstr "クライアントのIPv4アドレス" + +msgid "String" +msgstr "String" + +msgid "kc.client.network.host" +msgstr "kc.client.network.host" + +msgid "Client's host name" +msgstr "クライアントのホスト名" + +msgid "kc.client.id" +msgstr "kc.client.id" + +msgid "The client id" +msgstr "クライアントID" + +msgid "kc.client.user_agent" +msgstr "kc.client.user_agent" + +msgid "The value of the 'User-Agent' HTTP header" +msgstr "'User-Agent' HTTPヘッダーの値" + +msgid "String[]" +msgstr "String[]" + +msgid "kc.realm.name" +msgstr "kc.realm.name" + +msgid "The name of the realm" +msgstr "レルムの名前" + +msgid "Managing permissions" +msgstr "パーミッションの管理" + +msgid "" +"A permission associates the object being protected and the policies that " +"must be evaluated to decide whether access should be granted." +msgstr "パーミッションは、保護されているオブジェクトとアクセスを許可するかどうかを決定するために評価されなければならないポリシーを関連付けます。" + +msgid "" +"After creating the resources you want to protect and the policies you want " +"to use to protect these resources, you can start managing permissions. To " +"manage permissions, click the *Permissions* tab when editing a resource " +"server." +msgstr "" +"保護したいリソースを作成し、それらのリソースを保護するために使用するポリシーを作成したら、権限の管理を開始できます。パーミッションを管理するには、リソースサーバーを編集するときに" +" *Permissions* タブをクリックします。" + +msgid "image:images/permission/view.png[alt=\"Permissions\"]" +msgstr "image:images/permission/view.png[alt=\"Permissions\"]" + +msgid "Permissions can be created to protect two main types of objects:" +msgstr "主な2つのタイプのオブジェクトを保護するパーミッションを作成できます。" + +msgid "*Resources*" +msgstr "*Resources*" + +msgid "" +"To create a permission, select the permission type you want to create from " +"the item list in the upper right corner of the permission listing. The " +"following sections describe these two types of objects in more detail." +msgstr "" +"パーミッションを作成するには、パーミッションのリストの右上隅にある項目のリストから、作成するパーミッション・タイプを選択します。次のセクションでは、これら2種類のオブジェクトについて詳しく説明します。" + +msgid "Creating resource-based permission" +msgstr "リソースベースのパーミッションの作成" + +msgid "" +"A resource-based permission defines a set of one or more resources to " +"protect using a set of one or more authorization policies." +msgstr "リソースベースのパーミッションは、1つ以上の認可ポリシーのセットを使用して保護する1つ以上のリソースのセットを定義します。" + +msgid "" +"To create a new resource-based permission, select *Create resource-based " +"permission* from the *Create permission* dropdown." +msgstr "" +"新しいリソースベースのパーミッションを作成するには、 *Create permission*ドロップダウンから *Create resource-" +"based permission* を選択します。" + +msgid "Add Resource Permission" +msgstr "リソース・パーミッションの追加" + +msgid "" +"image:images/permission/create-resource.png[alt=\"Add Resource Permission\"]" +msgstr "" +"image:images/permission/create-resource.png[alt=\"Add Resource Permission\"]" + +msgid "" +"A human-readable and unique string describing the permission. A best " +"practice is to use names that are closely related to your business and " +"security requirements, so you can identify them more easily." +msgstr "" +"パーミッションを説明する、人が判別可能で一意の文字列。ベスト・プラクティスは、ビジネス要件とセキュリティー要件に密接に関連する名前を使用することです。そうすることで簡単に識別できます。" + +msgid "A string containing details about this permission." +msgstr "パーミッションに関する詳細を含む文字列。" + +msgid "*Apply To Resource Type*" +msgstr "*Apply To Resource Type*" + +msgid "" +"Specifies if the permission is applied to all resources with a given type. " +"When selecting this field, you are prompted to enter the resource type to " +"protect." +msgstr "" +"指定されたタイプのすべてのリソースにパーミッションを適用するかどうかを指定します。このフィールドを選択すると、保護するリソースタイプを入力するよう求められます。" + +msgid "Resource Type" +msgstr "Resource Type" + +msgid "" +"Defines the resource type to protect. When defined, this permission is " +"evaluated for all resources matching that type." +msgstr "保護するリソース・タイプを定義します。定義されている場合、このパーミッションはそのタイプに一致するすべてのリソースに対して評価されます。" + +msgid "Defines a set of one or more resources to protect." +msgstr "保護する1つ以上のリソースのセットを定義します。" + +msgid "*Policy*" +msgstr "*ポリシー*" + +msgid "" +"Defines a set of one or more policies to associate with a permission. To " +"associate a policy you can either select an existing policy or create a new " +"one by selecting the type of the policy you want to create." +msgstr "" +"パーミッションに関連付ける1つ以上のポリシーのセットを定義します。ポリシーを関連付けるには、既存のポリシーを選択するか、作成するポリシーのタイプを選択して新しいポリシーを作成します。" + +msgid "" +"The <<_permission_decision_strategies, Decision Strategy>> for this " +"permission." +msgstr "パーミッションのための<<_permission_decision_strategies, 決定戦略>>" + +msgid "Typed resource permission" +msgstr "タイプ付きリソース・パーミッション" + +msgid "" +"Resource permissions can also be used to define policies that are to be " +"applied to all resources with a given <<_resource_create_type, type>>. This " +"form of resource-based permission can be useful when you have resources " +"sharing common access requirements and constraints." +msgstr "" +"リソース・パーミッションは、特定の<<_resource_create_type, " +"タイプ>>のすべてのリソースに適用されるポリシーを定義するためにも使用できます。この形式のリソース・ベースのパーミッションは、共通のアクセス要件と制約を共有するリソースを持つ場合に役立ちます。" + +msgid "" +"Frequently, resources within an application can be categorized (or typed) " +"based on the data they encapsulate or the functionality they provide. For " +"example, a financial application can manage different banking accounts where" +" each one belongs to a specific customer. Although they are different " +"banking accounts, they share common security requirements and constraints " +"that are globally defined by the banking organization. With typed resource " +"permissions, you can define common policies to apply to all banking " +"accounts, such as:" +msgstr "" +"多くの場合、アプリケーション内のリソースは、カプセル化したデータまたは提供する機能に基づいて分類(またはタイプ指定)できます。たとえば、金融アプリケーションは、ある特定の顧客が属している異なる銀行口座を管理することができます。それらは異なる銀行口座ですが、銀行組織によって全体的に定義される共通のセキュリティー要件および制約を共有します。タイプ付きのリソース・パーミッションを使用して、以下のようなすべての銀行口座に適用する共通ポリシーを定義することができます。" + +msgid "Only the owner can manage his account" +msgstr "オーナーのみが自分のアカウントを管理できます。" + +msgid "Only allow access from the owner's country and/or region" +msgstr "オーナーの国や地域からのアクセスのみを許可します。" + +msgid "Enforce a specific authentication method" +msgstr "特定の認証方法を強制します。" + +msgid "" +"To create a typed resource permission, click " +"<<_permission_create_resource_apply_resource_type, Apply to Resource Type>> " +"when creating a new resource-based permission. With `Apply to Resource Type`" +" set to `On`, you can specify the type that you want to protect as well as " +"the policies that are to be applied to govern access to all resources with " +"type you have specified." +msgstr "" +"タイプ付きのリソース・パーミッションを作成するには、新しいリソース・ベースのパーミッションを作成するときに、<<_permission_create_resource_apply_resource_type," +" Apply to Resource Type>>をクリックします。 `Apply to Resource Type` を `On` " +"に設定すると、保護するタイプと、指定したタイプのすべてのリソースへのアクセスを制御するために適用されるポリシーを指定できます。" + +msgid "Example of a typed resource permission" +msgstr "タイプ付きのリソース・パーミッションの例" + +msgid "" +"image:images/permission/typed-resource-perm-example.png[alt=\"Example of a " +"typed resource permission\"]" +msgstr "" +"image:images/permission/typed-resource-perm-example.png[alt=\"Example of a " +"typed resource permission\"]" + +msgid "Creating scope-based permissions" +msgstr "スコープベースのパーミッションの作成" + +msgid "" +"A scope-based permission defines a set of one or more scopes to protect " +"using a set of one or more authorization policies. Unlike resource-based " +"permissions, you can use this permission type to create permissions not only" +" for a resource, but also for the scopes associated with it, providing more " +"granularity when defining the permissions that govern your resources and the" +" actions that can be performed on them." +msgstr "" +"スコープベースのパーミッションは、1つ以上の認可ポリシーのセットを使用して保護する1つ以上のスコープのセットを定義します。リソースベースのパーミッションとは異なり、このパーミッションのタイプを使用して、リソースだけでなく、それに関連付けられたスコープのパーミッションを作成し、リソースを管理するパーミッションとそれらに対して実行可能なアクションを定義する際に、より詳細な情報を提供します。" + +msgid "" +"To create a new scope-based permission, select *Create scope-based " +"permission* from the *Create permission* dropdown." +msgstr "" +"新しいスコープベースのパーミッションを作成するには、 *Create permission*ドロップダウンから *Create scope-based " +"permission* を選択します。" + +msgid "Add Scope Permission" +msgstr "スコープ・パーミッションの追加" + +msgid "image:images/permission/create-scope.png[alt=\"Add Scope Permission\"]" +msgstr "image:images/permission/create-scope.png[alt=\"Add Scope Permission\"]" + +msgid "" +"Restricts the scopes to those associated with the selected resource. If none" +" is selected, all scopes are available." +msgstr "選択したリソースに関連付けられているものにスコープを制限します。選択されていない場合は、すべてのスコープを使用できます。" + +msgid "Defines a set of one or more scopes to protect." +msgstr "保護する1つ以上のスコープのセットを定義します。" + +msgid "Policy decision strategies" +msgstr "ポリシー決定戦略" + +msgid "" +"When associating policies with a permission, you can also define a decision " +"strategy to specify how to evaluate the outcome of the associated policies " +"to determine access." +msgstr "" +"ポリシーにパーミッションを関連付けるときに、決定戦略を定義して、関連付けされたポリシーの結果を評価して最終的なアクセスを判断する方法を指定できます。" + +msgid "" +"In this case, _at least one_ policy must evaluate to a positive decision for" +" the final decision to be also positive." +msgstr "この場合、最終的に _少なくとも1つの_ ポリシーの判定結果が肯定と判定される必要があります。" + +msgid "" +"In this case, the number of positive decisions must be greater than the " +"number of negative decisions. If the number of positive and negative " +"decisions is equal, the final decision will be negative." +msgstr "この場合、肯定判定数は否定判定数よりも多くなければならない。肯定と否定の判定数が等しい場合、最終的に否定と判定されます。" + +msgid "Evaluating and testing policies" +msgstr "ポリシーの評価とテスト" + +msgid "" +"When designing your policies, you can simulate authorization requests to " +"test how your policies are being evaluated." +msgstr "ポリシーを設計する際に、認可リクエストをシミュレートして、ポリシーの評価方法をテストすることができます。" + +msgid "" +"You can access the Policy Evaluation Tool by clicking the `Evaluate` tab " +"when editing a resource server. There you can specify different inputs to " +"simulate real authorization requests and test the effect of your policies." +msgstr "" +"リソースサーバーを編集するときに `Evaluate` " +"タブをクリックすると、ポリシー評価ツールにアクセスできます。そこで、さまざまな入力を指定して、実際の認可リクエストをシミュレートし、ポリシーの効果をテストすることができます。" + +msgid "Policy evaluation tool" +msgstr "ポリシー評価ツール" + +msgid "" +"image:images/policy-evaluation-tool/policy-evaluation-tool.png[alt=\"Policy " +"evaluation tool\"]" +msgstr "" +"image:images/policy-evaluation-tool/policy-evaluation-tool.png[alt=\"Policy " +"evaluation tool\"]" + +msgid "Providing identity information" +msgstr "アイデンティティー情報の提供" + +msgid "" +"The *Identity Information* filters can be used to specify the user " +"requesting permissions." +msgstr "*Identity Information* フィルターを使用して、パーミッションを要求するユーザーを指定できます。" + +msgid "Providing contextual information" +msgstr "コンテキスト情報の提供" + +msgid "" +"The *Contextual Information* filters can be used to define additional " +"attributes to the evaluation context, so that policies can obtain these same" +" attributes." +msgstr "" +"*Contextual Information* " +"フィルターを使用して、評価コンテキストに追加の属性を定義し、ポリシーがこれらの同じ属性を取得できるようにすることができます。" + +msgid "Providing the permissions" +msgstr "パーミッションの提供" + +msgid "" +"The *Permissions* filters can be used to build an authorization request. You" +" can request permissions for a set of one or more resources and scopes. If " +"you want to simulate authorization requests based on all protected resources" +" and scopes, click *Add* without specifying any `Resources` or `Scopes`." +msgstr "" +"*Permissions* " +"フィルターを使用して、認可リクエストを作成できます。1つ以上のリソースとスコープのセットに対するパーミッションを要求できます。すべての保護されたリソースとスコープに基づいて認可リクエストをシミュレートする場合は、" +" `Resources` または `Scopes` を指定せずに *Add* をクリックします。" + +msgid "When you've specified your desired values, click *Evaluate*." +msgstr "目的の値を指定したら、 *Evaluate* をクリックします。" + +msgid "" +"{project_name} Authorization Services are built on top of well-known " +"standards such as the OAuth2 and User-Managed Access specifications." +msgstr "" +"{project_name}認可サービスは、OAuth2やUser-Managed Accessなどのよく知られている標準をベースに構築されています。" + +msgid "" +"In addition to the issuance of RPTs, {project_name} Authorization Services " +"also provides a set of RESTful endpoints that allow resources servers to " +"manage their protected resources, scopes, permissions and policies, helping " +"developers to extend or integrate these capabilities into their applications" +" in order to support fine-grained authorization." +msgstr "" +"RPTの発行に加えて、{project_name}認可サービスは、保護されたリソース、スコープ、パーミッション、およびポリシーをリソースサーバーが管理できるようにする一連のRESTfulエンドポイントも提供し、きめ細かい認可をサポートするために開発者がこれらのケイパビリティーをアプリケーションに拡張または統合することを支援します。" + +msgid "Discovering authorization services endpoints and metadata" +msgstr "認可サービスのエンドポイントとメタデータの検出" + +msgid "" +"{project_name} provides a discovery document from which clients can obtain " +"all necessary information to interact with {project_name} Authorization " +"Services, including endpoint locations and capabilities." +msgstr "" +"{project_name}は、クライアントが{project_name}認可サービスと対話するために必要なすべての情報を取得するためのディスカバリー・ドキュメントを提供します。これにはエンドポイントの場所とケイパビリティーを含んでいます。" + +msgid "The discovery document can be obtained from:" +msgstr "ディスカバリー・ドキュメントは以下から取得できます。" + +msgid "" +"curl -X GET \\\n" +" http://${host}:${port}{kc_realms_path}/${realm}/.well-known/uma2-configuration" +msgstr "" +"curl -X GET \\\n" +" http://${host}:${port}{kc_realms_path}/${realm}/.well-known/uma2-configuration" + +msgid "" +"Where `${host}:${port}` is the hostname (or IP address) and port where " +"{project_name} is running and `${realm}` is the name of a realm in " +"{project_name}." +msgstr "" +"`${host}:${port}` は、{project_name}が実行されているホスト名(またはIPアドレス)とポートであり、 `${realm}`" +" は{project_name}のレルム名です。" + +msgid "As a result, you should get a response as follows:" +msgstr "その結果、次のようなレスポンスが得られます。" + +msgid "" +"{\n" +"\n" +" // some claims are expected here\n" +"\n" +" // these are the main claims in the discovery document about Authorization Services endpoints location\n" +" \"token_endpoint\": \"http://${host}:${port}{kc_realms_path}/${realm}/protocol/openid-connect/token\",\n" +" \"token_introspection_endpoint\": \"http://${host}:${port}{kc_realms_path}/${realm}/protocol/openid-connect/token/introspect\",\n" +" \"resource_registration_endpoint\": \"http://${host}:${port}{kc_realms_path}/${realm}/authz/protection/resource_set\",\n" +" \"permission_endpoint\": \"http://${host}:${port}{kc_realms_path}/${realm}/authz/protection/permission\",\n" +" \"policy_endpoint\": \"http://${host}:${port}{kc_realms_path}/${realm}/authz/protection/uma-policy\"\n" +"}" +msgstr "" +"{\n" +"\n" +" // some claims are expected here\n" +"\n" +" // these are the main claims in the discovery document about Authorization Services endpoints location\n" +" \"token_endpoint\": \"http://${host}:${port}{kc_realms_path}/${realm}/protocol/openid-connect/token\",\n" +" \"token_introspection_endpoint\": \"http://${host}:${port}{kc_realms_path}/${realm}/protocol/openid-connect/token/introspect\",\n" +" \"resource_registration_endpoint\": \"http://${host}:${port}{kc_realms_path}/${realm}/authz/protection/resource_set\",\n" +" \"permission_endpoint\": \"http://${host}:${port}{kc_realms_path}/${realm}/authz/protection/permission\",\n" +" \"policy_endpoint\": \"http://${host}:${port}{kc_realms_path}/${realm}/authz/protection/uma-policy\"\n" +"}" + +msgid "Each of these endpoints expose a specific set of capabilities:" +msgstr "これらの各エンドポイントは、特定のケイパビリティーのセットを公開します。" + +msgid "**token_endpoint**" +msgstr "**token_endpoint**" + +msgid "" +"A OAuth2-compliant Token Endpoint that supports the " +"`urn:ietf:params:oauth:grant-type:uma-ticket` grant type. Through this " +"endpoint clients can send authorization requests and obtain an RPT with all " +"permissions granted by {project_name}." +msgstr "" +"`urn:ietf:params:oauth:grant-type:uma-ticket` " +"グラントタイプをサポートするOAuth2準拠のトークン・エンドポイント。このエンドポイントを通じて、クライアントは、{project_name}によって許可されたすべてのパーミッションを使用して認可リクエストを送信し、RPTを取得できます。" + +msgid "**token_introspection_endpoint**" +msgstr "**token_introspection_endpoint**" + +msgid "" +"A OAuth2-compliant Token Introspection Endpoint which clients can use to " +"query the server to determine the active state of an RPT and to determine " +"any other information associated with the token, such as the permissions " +"granted by {project_name}." +msgstr "" +"OAuth2準拠のトークン・イントロスペクション・エンドポイント。クライアントは、RPTの状態がアクティブか判断したり、トークンに関連付けられたその他の情報({project_name}によって付与されたパーミッションなど)を判断したりするために、サーバーに問い合わせるためにこのエンドポイントを使用できます。" + +msgid "**resource_registration_endpoint**" +msgstr "**resource_registration_endpoint**" + +msgid "" +"A UMA-compliant Resource Registration Endpoint which resource servers can " +"use to manage their protected resources and scopes. This endpoint provides " +"operations create, read, update and delete resources and scopes in " +"{project_name}." +msgstr "" +"リソースサーバーが保護されたリソースとスコープを管理するために使用できるUMA準拠のリソース登録エンドポイント。このエンドポイントは、{project_name}のリソースとスコープの作成、読み取り、更新、および削除の操作を提供します。" + +msgid "**permission_endpoint**" +msgstr "**permission_endpoint**" + +msgid "" +"A UMA-compliant Permission Endpoint which resource servers can use to manage" +" permission tickets. This endpoint provides operations create, read, update," +" and delete permission tickets in {project_name}." +msgstr "" +"リソースサーバーがパーミッション・チケットの管理に使用できるUMA準拠のパーミッション・エンドポイント。このエンドポイントは、{project_name}のパーミッション・チケットの作成、読み取り、更新、および削除の操作を提供します。" + +msgid "Obtaining permissions" +msgstr "パーミッションの取得" + +msgid "" +"To obtain permissions from {project_name} you send an authorization request " +"to the token endpoint. As a result, {project_name} will evaluate all " +"policies associated with the resource(s) and scope(s) being requested and " +"issue an RPT with all permissions granted by the server." +msgstr "" +"{project_name}からパーミッションを取得するには、認可リクエストをトークン・エンドポイントに送信します。その結果、{project_name}は要求されているリソースとスコープに関連するすべてのポリシーを評価し、サーバーによって付与されたすべてのパーミッションを持つRPTを発行します。" + +msgid "" +"Clients are allowed to send authorization requests to the token endpoint " +"using the following parameters:" +msgstr "クライアントは、次のパラメーターを使用してトークン・エンドポイントに認可リクエストを送信できます。" + +msgid "*grant_type*" +msgstr "*grant_type*" + +msgid "" +"This parameter is *required*. Must be `urn:ietf:params:oauth:grant-type:uma-" +"ticket`." +msgstr "" +"このパラメーターは *required* です。 `urn:ietf:params:oauth:grant-type:uma-ticket` " +"でなければなりません。" + +msgid "**ticket**" +msgstr "**ticket**" + +msgid "" +"This parameter is *optional*. The most recent permission ticket received by " +"the client as part of the UMA authorization process." +msgstr "このパラメーターは *optional* です。UMA認可プロセスの一環としてクライアントが受信した最新のパーミッション・チケットです。" + +msgid "**claim_token**" +msgstr "**claim_token**" + +msgid "" +"This parameter is *optional*. A string representing additional claims that " +"should be considered by the server when evaluating permissions for the " +"resource(s) and scope(s) being requested. This parameter allows clients to " +"push claims to {project_name}. For more details about all supported token " +"formats see `claim_token_format` parameter." +msgstr "" +"このパラメーターは *optional* " +"です。要求されているリソースとスコープのパーミッションを評価するときに、サーバーが考慮する必要がある追加の要求を表す文字列です。このパラメーターにより、クライアントは{project_name}にクレームをプッシュできます。サポートされているすべてのトークン形式の詳細については、" +" `claim_token_format` パラメーターを参照してください。" + +msgid "**claim_token_format**" +msgstr "**claim_token_format**" + +msgid "" +"This parameter is *optional*. A string indicating the format of the token " +"specified in the `claim_token` parameter. {project_name} supports two token " +"formats: `urn:ietf:params:oauth:token-type:jwt` and " +"`https://openid.net/specs/openid-connect-core-1_0.html#IDToken`. The " +"`urn:ietf:params:oauth:token-type:jwt` format indicates that the " +"`claim_token` parameter references an access token. The " +"`https://openid.net/specs/openid-connect-core-1_0.html#IDToken` indicates " +"that the `claim_token` parameter references an OpenID Connect ID Token." +msgstr "" +"このパラメーターは *optional* です。 `claim_token` " +"パラメーターで指定されたトークンの形式を示す文字列です。{project_name}は `urn:ietf:params:oauth:token-" +"type:jwt` と `https://openid.net/specs/openid-connect-core-1_0.html#IDToken` " +"の2つのトークン形式をサポートしています。 `urn:ietf:params:oauth:token-type:jwt` 形式は、 " +"`claim_token` パラメーターがアクセストークンを参照することを示します。 `https://openid.net/specs/openid-" +"connect-core-1_0.html#IDToken` は、 `claim_token` パラメーターがOpenID " +"ConnectのIDトークンを参照することを示します。" + +msgid "**rpt**" +msgstr "**rpt**" + +msgid "" +"This parameter is *optional*. A previously issued RPT which permissions " +"should also be evaluated and added in a new one. This parameter allows " +"clients in possession of an RPT to perform incremental authorization where " +"permissions are added on demand." +msgstr "" +"このパラメーターは *optional* " +"です。以前に発行されたRPTで、そのパーミッションも評価して新しいものに追加する必要があります。このパラメーターを使用すると、RPTを所有しているクライアントは、必要に応じてパーミッションが追加される増分認可を実行できます。" + +msgid "**permission**" +msgstr "**permission**" + +msgid "" +"This parameter is *optional*. A string representing a set of one or more " +"resources and scopes the client is seeking access. This parameter can be " +"defined multiple times in order to request permission for multiple resource " +"and scopes. This parameter is an extension to `urn:ietf:params:oauth:grant-" +"type:uma-ticket` grant type in order to allow clients to send authorization " +"requests without a permission ticket. The format of the string must be: " +"`RESOURCE_ID#SCOPE_ID`. For instance: `Resource A#Scope A`, `Resource " +"A#Scope A, Scope B, Scope C`, `Resource A`, `#Scope A`." +msgstr "" +"このパラメーターは *optional* " +"です。クライアントがアクセスしようとしている1つ以上のリソースとスコープのセットを表す文字列です。このパラメーターは、複数のリソースとスコープに対するパーミッションを要求するために複数回定義することができます。このパラメーターは、クライアントがパーミッション・チケットなしで認可リクエストを送信できるようにするための、" +" `urn:ietf:params:oauth:grant-type:uma-ticket` " +"グラントタイプの拡張です。文字列の形式は次のとおりでなければなりません。 `RESOURCE_ID#SCOPE_ID` 。例: `Resource " +"A#Scope A` 、 `Resource A#Scope A, Scope B, Scope C` 、 `Resource A` 、 `#Scope" +" A` 。" + +msgid "**permission_resource_format**" +msgstr "**permission_resource_format**" + +msgid "" +"This parameter is *optional*. A string representing a format indicating the " +"resource in the `permission` parameter. Possible values are `id` and `uri`. " +"`id` indicates the format is `RESOURCE_ID`. `uri` indicates the format is " +"`URI`. If not specified, the default is `id`." +msgstr "" +"このパラメーターは *オプション* です。 `permission` パラメーターに指定するリソースを示す書式を表す文字列で、指定できる値は `id` " +"と `uri` です。 `id` は `RESOURCE_ID` 形式であることを、 `uri` は `URI` " +"形式であることを示します。指定しない場合のデフォルトは `id` です。" + +msgid "**permission_resource_matching_uri**" +msgstr "**permission_resource_matching_uri**" + +msgid "" +"This parameter is *optional*. A boolean value that indicates whether to use " +"path matching when representing resources in URI format in the `permission` " +"parameter. If not specified, the default is false." +msgstr "" +"このパラメーターは *オプション* です。 `permission` " +"パラメーターでリソースをURI形式で表現するときにパスマッチを使用するかどうかを示すブーリアン値です。指定しない場合のデフォルトは false です。" + +msgid "**audience**" +msgstr "**audience**" + +msgid "" +"This parameter is *optional*. The client identifier of the resource server " +"to which the client is seeking access. This parameter is mandatory in case " +"the `permission` parameter is defined. It serves as a hint to {project_name}" +" to indicate the context in which permissions should be evaluated." +msgstr "" +"このパラメーターは *optional* です。クライアントがアクセスしようとしているリソースサーバーのクライアント識別子です。このパラメーターは " +"`permission` " +"パラメーターが定義されている場合に必須です。パーミッションが評価されるべきコンテキストを示すための、{project_name}へのヒントとして役立ちます。" + +msgid "**response_include_resource_name**" +msgstr "**response_include_resource_name**" + +msgid "" +"This parameter is *optional*. A boolean value indicating to the server " +"whether resource names should be included in the RPT's permissions. If " +"false, only the resource identifier is included." +msgstr "" +"このパラメーターは *optional* " +"です。リソース名をRPTのパーミッションに含めるかどうかをサーバーに示すブール値です。falseの場合、リソース識別子のみが含まれます。" + +msgid "**response_permissions_limit**" +msgstr "**response_permissions_limit**" + +msgid "" +"This parameter is *optional*. An integer N that defines a limit for the " +"amount of permissions an RPT can have. When used together with `rpt` " +"parameter, only the last N requested permissions will be kept in the RPT." +msgstr "" +"このパラメーターは *optional* です。RPTが持つことができるパーミッションの量の限界を定義する整数Nです。 `rpt` " +"パラメーターと一緒に使用すると、最後に要求されたN個のパーミッションだけがRPTに保持されます。" + +msgid "**submit_request**" +msgstr "**submit_request**" + +msgid "" +"This parameter is *optional*. A boolean value indicating whether the server " +"should create permission requests to the resources and scopes referenced by " +"a permission ticket. This parameter only has effect if used together with " +"the `ticket` parameter as part of a UMA authorization process." +msgstr "" +"このパラメーターは *optional* " +"です。サーバーがリソースへのパーミッション・リクエストを作成する必要があるかどうかを示すブール値であり、パーミッション・チケットによって参照されるスコープです。このパラメーターは、UMA認可プロセスの一部として" +" `ticket` パラメーターとともに使用される場合にのみ有効です。" + +msgid "**response_mode**" +msgstr "**response_mode**" + +msgid "" +"This parameter is *optional*. A string value indicating how the server " +"should respond to authorization requests. This parameter is specially useful" +" when you are mainly interested in either the overall decision or the " +"permissions granted by the server, instead of a standard OAuth2 response. " +"Possible values are:" +msgstr "" +"このパラメーターは *optional* " +"です。サーバーが認可リクエストにどのように応答するかを示す文字列値。このパラメーターは、標準的なOAuth2レスポンスではなく、サーバーによって付与された全体的な決定またはパーミッションに主に関心がある場合に特に便利です。可能な値は次のとおりです。" + +msgid "`decision`" +msgstr "`decision`" + +msgid "" +"Indicates that responses from the server should only represent the overall " +"decision by returning a JSON with the following format:" +msgstr "サーバーからの応答は、次の形式でJSONを返すことによって、全体の決定のみを表すことを示します。" + +msgid "" +"{\n" +" 'result': true\n" +"}" +msgstr "" +"{\n" +" 'result': true\n" +"}" + +msgid "" +"If the authorization request does not map to any permission, a `403` HTTP " +"status code is returned instead." +msgstr "認可リクエストがどのパーミッションにもマッピングされない場合、代わりに `403` HTTPステータスコードが返されます。" + +msgid "`permissions`" +msgstr "`permissions`" + +msgid "" +"Indicates that responses from the server should contain any permission " +"granted by the server by returning a JSON with the following format:" +msgstr "サーバーからの応答は、次の形式でJSONを返すことによって、サーバーにより付与されたパーミッションが含まれていることを示します。" + +msgid "" +"[\n" +" {\n" +" 'rsid': 'My Resource'\n" +" 'scopes': ['view', 'update']\n" +" },\n" +"\n" +" ...\n" +"]" +msgstr "" +"[\n" +" {\n" +" 'rsid': 'My Resource'\n" +" 'scopes': ['view', 'update']\n" +" },\n" +"\n" +" ...\n" +"]" + +msgid "" +"Example of an authorization request when a client is seeking access to two " +"resources protected by a resource server." +msgstr "クライアントがリソースサーバーによって保護された2つのリソースへのアクセスを求めている場合のパーミッション・リクエストの例です。" + +msgid "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm}/protocol/openid-connect/token \\\n" +" -H \"Authorization: Bearer ${access_token}\" \\\n" +" --data \"grant_type=urn:ietf:params:oauth:grant-type:uma-ticket\" \\\n" +" --data \"audience={resource_server_client_id}\" \\\n" +" --data \"permission=Resource A#Scope A\" \\\n" +" --data \"permission=Resource B#Scope B\"" +msgstr "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm}/protocol/openid-connect/token \\\n" +" -H \"Authorization: Bearer ${access_token}\" \\\n" +" --data \"grant_type=urn:ietf:params:oauth:grant-type:uma-ticket\" \\\n" +" --data \"audience={resource_server_client_id}\" \\\n" +" --data \"permission=Resource A#Scope A\" \\\n" +" --data \"permission=Resource B#Scope B\"" + +msgid "" +"Example of an authorization request when a client is seeking access to any " +"resource and scope protected by a resource server. NOTE: This will not " +"evaluate the permissions for all resources. Instead, the permissions for " +"resources owned by the resource server, owned by the requesting user, and " +"explicitly granted to the requesting user by other owners are evaluated." +msgstr "" +"クライアントがリソースサーバーによって保護された任意のリソースとスコープへのアクセスを求める場合の認可リクエストの例。注意:これは、すべてのリソースのパーミッションを評価するわけではありません。代わりに、リソースサーバーが所有し、要求しているユーザーが所有し、他の所有者から要求しているユーザーに明示的に付与されたリソースのパーミッションが評価されます。" + +msgid "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm}/protocol/openid-connect/token \\\n" +" -H \"Authorization: Bearer ${access_token}\" \\\n" +" --data \"grant_type=urn:ietf:params:oauth:grant-type:uma-ticket\" \\\n" +" --data \"audience={resource_server_client_id}\"" +msgstr "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm}/protocol/openid-connect/token \\\n" +" -H \"Authorization: Bearer ${access_token}\" \\\n" +" --data \"grant_type=urn:ietf:params:oauth:grant-type:uma-ticket\" \\\n" +" --data \"audience={resource_server_client_id}\"" + +msgid "" +"Example of an authorization request when a client is seeking access to a UMA" +" protected resource after receiving a permission ticket from the resource " +"server as part of the authorization process:" +msgstr "" +"認可プロセスの一環として、リソースサーバーからパーミッション・チケットを受け取った後で、クライアントがUMA保護リソースへのアクセスを求めている場合の認可リクエストの例です。" + +msgid "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm}/protocol/openid-connect/token \\\n" +" -H \"Authorization: Bearer ${access_token}\" \\\n" +" --data \"grant_type=urn:ietf:params:oauth:grant-type:uma-ticket\" \\\n" +" --data \"ticket=${permission_ticket}" +msgstr "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm}/protocol/openid-connect/token \\\n" +" -H \"Authorization: Bearer ${access_token}\" \\\n" +" --data \"grant_type=urn:ietf:params:oauth:grant-type:uma-ticket\" \\\n" +" --data \"ticket=${permission_ticket}" + +msgid "" +"If {project_name} assessment process results in issuance of permissions, it " +"issues the RPT with which it has associated the permissions:" +msgstr "{project_name}の評価処理の結果、パーミッションが発行されると、そのパーミッションに関連付けられているRPTが発行されます。" + +msgid "{project_name} responds to the client with the RPT" +msgstr "{project_name}はRPTを使用してクライアントに応答します" + +msgid "" +"HTTP/1.1 200 OK\n" +"Content-Type: application/json\n" +"...\n" +"{\n" +" \"access_token\": \"${rpt}\",\n" +"}" +msgstr "" +"HTTP/1.1 200 OK\n" +"Content-Type: application/json\n" +"...\n" +"{\n" +" \"access_token\": \"${rpt}\",\n" +"}" + +msgid "" +"The response from the server is just like any other response from the token " +"endpoint when using some other grant type. The RPT can be obtained from the " +"`access_token` response parameter. If the client is not authorized, " +"{project_name} responds with a `403` HTTP status code:" +msgstr "" +"サーバーからのレスポンスは、他のグラントタイプを使用しているときのトークン・エンドポイントからの任意のレスポンスとまったく同じです。RPTは " +"`access_token` レスポンス・パラメーターから取得できます。クライアントが認可されていない場合、{project_name}は次のように " +"`403` HTTPステータスコードで応答します。" + +msgid "{project_name} denies the authorization request" +msgstr "{project_name}の認可リクエストの拒否" + +msgid "" +"HTTP/1.1 403 Forbidden\n" +"Content-Type: application/json\n" +"...\n" +"{\n" +" \"error\": \"access_denied\",\n" +" \"error_description\": \"request_denied\"\n" +"}" +msgstr "" +"HTTP/1.1 403 Forbidden\n" +"Content-Type: application/json\n" +"...\n" +"{\n" +" \"error\": \"access_denied\",\n" +" \"error_description\": \"request_denied\"\n" +"}" + +msgid "Client authentication methods" +msgstr "クライアントの認証方式" + +msgid "" +"Clients need to authenticate to the token endpoint in order to obtain an " +"RPT. When using the `urn:ietf:params:oauth:grant-type:uma-ticket` grant " +"type, clients can use any of these authentication methods:" +msgstr "" +"クライアントは、RPTを取得するためにトークン・エンドポイントで認証する必要があります。 `urn:ietf:params:oauth:grant-" +"type:uma-ticket` グラントタイプを使う際に、クライアントは以下の認証方式のどれかを使用できます。" + +msgid "*Bearer Token*" +msgstr "*Bearer Token*" + +msgid "" +"Clients should send an access token as a Bearer credential in an HTTP " +"Authorization header to the token endpoint." +msgstr "" +"クライアントは、トークン・エンドポイントにHTTP " +"Authorizationヘッダーのベアラー・クレデンシャルとしてアクセストークンを送信する必要があります。" + +msgid "" +"Example: an authorization request using an access token to authenticate to " +"the token endpoint" +msgstr "例:アクセストークンを使用してトークン・エンドポイントで認証する認可リクエスト" + +msgid "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm}/protocol/openid-connect/token \\\n" +" -H \"Authorization: Bearer ${access_token}\" \\\n" +" --data \"grant_type=urn:ietf:params:oauth:grant-type:uma-ticket\"" +msgstr "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm}/protocol/openid-connect/token \\\n" +" -H \"Authorization: Bearer ${access_token}\" \\\n" +" --data \"grant_type=urn:ietf:params:oauth:grant-type:uma-ticket\"" + +msgid "" +"This method is especially useful when the client is acting on behalf of a " +"user. In this case, the bearer token is an access token previously issued by" +" {project_name} to some client acting on behalf of a user (or on behalf of " +"itself). Permissions will be evaluated considering the access context " +"represented by the access token. For instance, if the access token was " +"issued to Client A acting on behalf of User A, permissions will be granted " +"depending on the resources and scopes to which User A has access." +msgstr "" +"この方法は、クライアントがユーザーに代わって動作している場合に特に便利です。この場合、ベアラートークンは以前に{project_name}により、ユーザーの代わりに(またはそれ自体のために)動作しているクライアントに発行されたアクセストークンです。パーミッションは、アクセストークンによって表されるアクセス・コンテキストを考慮して評価されます。たとえば、アクセストークンがユーザーAの代わりに動作するクライアントAに発行された場合、ユーザーAがアクセス権を持つリソース及びスコープに応じてパーミッションが与えられます。" + +msgid "*Client Credentials*" +msgstr "*Client Credentials*" + +msgid "" +"Clients can use any of the client authentication methods supported by " +"{project_name}. For instance, client_id/client_secret or JWT." +msgstr "" +"クライアントは、{project_name}でサポートされているクライアント認証方式を使用できます。たとえば、client_id / " +"client_secretやJWTです。" + +msgid "" +"Example: an authorization request using client id and client secret to " +"authenticate to the token endpoint" +msgstr "例:クライアントIDとクライアント・シークレットを使用して、トークン・エンドポイントで認証する認可リクエスト" + +msgid "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm}/protocol/openid-connect/token \\\n" +" -H \"Authorization: Basic cGhvdGg6L7Jl13RmfWgtkk==pOnNlY3JldA==\" \\\n" +" --data \"grant_type=urn:ietf:params:oauth:grant-type:uma-ticket\"" +msgstr "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm}/protocol/openid-connect/token \\\n" +" -H \"Authorization: Basic cGhvdGg6L7Jl13RmfWgtkk==pOnNlY3JldA==\" \\\n" +" --data \"grant_type=urn:ietf:params:oauth:grant-type:uma-ticket\"" + +msgid "Pushing claims" +msgstr "クレームのプッシュ" + +msgid "" +"When obtaining permissions from the server you can push arbitrary claims in " +"order to have these claims available to your policies when evaluating " +"permissions." +msgstr "" +"サーバーからパーミッションを取得する際に、パーミッションの評価においてクレームをポリシーで利用できるようにするために、任意のクレームをプッシュできます。" + +msgid "" +"If you are obtaining permissions from the server *without* using a " +"permission ticket (UMA flow), you can send an authorization request to the " +"token endpoint as follows:" +msgstr "" +"パーミッション・チケットを使用 *せずに* " +"サーバーからパーミッションを取得している場合(UMAフロー)、次のようにトークン・エンドポイントに認可リクエストを送信できます。" + +msgid "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm}/protocol/openid-connect/token \\\n" +" --data \"grant_type=urn:ietf:params:oauth:grant-type:uma-ticket\" \\\n" +" --data \"claim_token=ewogICAib3JnYW5pemF0aW9uIjogWyJhY21lIl0KfQ==\" \\\n" +" --data \"claim_token_format=urn:ietf:params:oauth:token-type:jwt\" \\\n" +" --data \"client_id={resource_server_client_id}\" \\\n" +" --data \"client_secret={resource_server_client_secret}\" \\\n" +" --data \"audience={resource_server_client_id}\"" +msgstr "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm}/protocol/openid-connect/token \\\n" +" --data \"grant_type=urn:ietf:params:oauth:grant-type:uma-ticket\" \\\n" +" --data \"claim_token=ewogICAib3JnYW5pemF0aW9uIjogWyJhY21lIl0KfQ==\" \\\n" +" --data \"claim_token_format=urn:ietf:params:oauth:token-type:jwt\" \\\n" +" --data \"client_id={resource_server_client_id}\" \\\n" +" --data \"client_secret={resource_server_client_secret}\" \\\n" +" --data \"audience={resource_server_client_id}\"" + +msgid "" +"The `claim_token` parameter expects a BASE64 encoded JSON with a format " +"similar to the example below:" +msgstr "`claim_token` パラメーターは、以下の例のような形式のBASE64でエンコードされたJSONを期待します。" + +msgid "" +"{\n" +" \"organization\" : [\"acme\"]\n" +"}" +msgstr "" +"{\n" +" \"organization\" : [\"acme\"]\n" +"}" + +msgid "" +"The format expects one or more claims where the value for each claim must be" +" an array of strings." +msgstr "この形式では、1つ以上のクレームを想定しており、各クレームの値は文字列型の配列である必要があります。" + +msgid "Pushing claims Using UMA" +msgstr "UMAを使用したクレームのプッシュ" + +msgid "" +"For more details about how to push claims when using UMA and permission " +"tickets, please take a look at <<_service_protection_permission_api_papi, " +"Permission API>>" +msgstr "" +"UMAとパーミッション・チケットを使用してクレームをプッシュする方法の詳細については、<<_service_protection_permission_api_papi," +" Permission API>>を参照してください。" + +msgid "User-managed access" +msgstr "User-Managed Access" + +msgid "" +"{project_name} Authorization Services is based on User-Managed Access or UMA" +" for short. UMA is a specification that enhances OAuth2 capabilities in the " +"following ways:" +msgstr "" +"{project_name}認可サービスは、User-Managed " +"Access(略してUMA)に基づいています。UMAは、以下の方法でOAuth2の機能を強化する仕様です。" + +msgid "*Privacy*" +msgstr "*Privacy*" + +msgid "" +"Nowadays, user privacy is becoming a huge concern, as more and more data and" +" devices are available and connected to the cloud. With UMA and " +"{project_name}, resource servers can enhance their capabilities in order to " +"improve how their resources are protected in respect to user privacy where " +"permissions are granted based on policies defined by the user." +msgstr "" +"現在、クラウドに接続するデータやデバイスが増えているため、ユーザーのプライバシーは大きな問題になっています。UMAと{project_name}を使用すると、リソースサーバーは、ユーザーが定義したポリシーに基づいてパーミッションが与えられているユーザーのプライバシーに関するリソースの保護方法を向上させるように機能を強化できます。" + +msgid "*Party-to-Party Authorization*" +msgstr "*Party-to-Party Authorization*" + +msgid "" +"Resource owners (e.g.: regular end-users) can manage access to their " +"resources and authorize other parties (e.g: regular end-users) to access " +"these resources. This is different than OAuth2 where consent is given to a " +"client application acting on behalf of a user, with UMA resource owners are " +"allowed to consent access to other users, in a completely asynchronous " +"manner." +msgstr "" +"リソースオーナー(たとえば、通常のエンドユーザー)は、そのリソースへのアクセスを管理し、他の関係者(たとえば、通常のエンドユーザー)がこれらのリソースにアクセスすることを認可することができます。これは、完全に非同期に、UMAリソースオーナーが他のユーザーへのアクセスを同意することを許可された状態で、ユーザーに代わって動作するクライアント・アプリケーションに同意が与えられるOAuth2とは異なります。" + +msgid "*Resource Sharing*" +msgstr "*Resource Sharing*" + +msgid "" +"Resource owners are allowed to manage permissions to their resources and " +"decide who can access a particular resource and how. {project_name} can then" +" act as a sharing management service from which resource owners can manage " +"their resources." +msgstr "" +"リソースオーナーは、リソースへのアクセス許可を管理し、特定のリソースにアクセスできるユーザーとその方法を決定できます。{project_name}は、リソースオーナーがリソースを管理できる共有管理サービスとして機能します。" + +msgid "" +"{project_name} is a UMA 2.0 compliant authorization server that provides " +"most UMA capabilities." +msgstr "{project_name}は、大部分のUMA機能を提供するUMA 2.0準拠の認可サーバーです。" + +msgid "" +"As an example, consider a user Alice (resource owner) using an Internet " +"Banking Service (resource server) to manage her Bank Account (resource). One" +" day, Alice decides to open her bank account to Bob (requesting party), an " +"accounting professional. However, Bob should only have access to view " +"(scope) Alice's account." +msgstr "" +"たとえば、インターネット・バンキング・サービス(リソースサーバー)を使用して自分の銀行口座(リソース)を管理するユーザーAlice(リソースオーナー)を考えてみましょう。ある日、アリスはアカウンティング・プロフェッショナルのボブ(依頼者)に銀行口座を開設することに決めました。しかし、BobはAliceのアカウントを表示(スコープ)するためのアクセス権しか持つべきではありません。" + +msgid "" +"As a resource server, the Internet Banking Service must be able to protect " +"Alice's Bank Account. For that, it relies on {project_name} Resource " +"Registration Endpoint to create a resource in the server representing " +"Alice's Bank Account." +msgstr "" +"リソースサーバーとして、インターネット・バンキング・サービスはアリスの銀行口座を保護できなければなりません。そのため、{project_name}リソース登録エンドポイントを使用して、Aliceの銀行口座を表すサーバーにリソースを作成します。" + +msgid "" +"At this moment, if Bob tries to access Alice's Bank Account, access will be " +"denied. The Internet Banking Service defines a few default policies for " +"banking accounts. One of them is that only the owner, in this case Alice, is" +" allowed to access her bank account." +msgstr "" +"この時点で、BobがAliceの銀行口座にアクセスしようとすると、アクセスは拒否されます。インターネット・バンキング・サービスは、銀行口座のいくつかのデフォルト・ポリシーを定義しています。そのうちの1つは、オーナー(この場合はアリス)のみが自分の銀行口座にアクセスできることです。" + +msgid "" +"However, Internet Banking Service in respect to Alice's privacy also allows " +"her to change specific policies for the banking account. One of these " +"policies that she can change is to define which people are allowed to view " +"her bank account. For that, Internet Banking Service relies on " +"{project_name} to provide to Alice a space where she can select individuals " +"and the operations (or data) they are allowed to access. At any time, Alice " +"can revoke access or grant additional permissions to Bob." +msgstr "" +"しかし、インターネット・バンキング・サービスは、アリスのプライバシーに関して、彼女が銀行口座の特定のポリシーを変更することも可能にします。彼女が変更できるこれらのポリシーの1つは、誰が自分の銀行口座を見ることができるかを定義することです。そのために、インターネット・バンキング・サービスは、{project_name}を利用して、個人が選択できるスペースとアクセスが許可されている操作(またはデータ)をAliceに提供します。Aliceはいつでも、アクセス権を取り消したり、Bobに追加の許可を与えることができます。" + +msgid "Authorization process" +msgstr "認可プロセス" + +msgid "" +"In UMA, the authorization process starts when a client tries to access a UMA" +" protected resource server." +msgstr "UMAでは、クライアントがUMAで保護されたリソースサーバーにアクセスしようとすると、認可プロセスが開始されます。" + +msgid "" +"A UMA protected resource server expects a bearer token in the request where " +"the token is an RPT. When a client requests a resource at the resource " +"server without an RPT:" +msgstr "" +"UMAで保護されたリソースサーバーは、リクエスト内のベアラートークンがRPTであることを想定しています。クライアントがRPTなしでリソースサーバーにリソースを要求する場合、次のようになります。" + +msgid "Client requests a protected resource without sending an RPT" +msgstr "クライアントは、RPTを送信せずに保護されたリソースを要求します" + +msgid "" +"curl -X GET \\\n" +" http://${host}:${port}/my-resource-server/resource/1bfdfe78-a4e1-4c2d-b142-fc92b75b986f" +msgstr "" +"curl -X GET \\\n" +" http://${host}:${port}/my-resource-server/resource/1bfdfe78-a4e1-4c2d-b142-fc92b75b986f" + +msgid "" +"The resource server sends a response back to the client with a permission " +"`ticket` and a `as_uri` parameter with the location of a {project_name} " +"server to where the ticket should be sent in order to obtain an RPT." +msgstr "" +"リソースサーバーは、RPTを取得するためにチケットが送られるべき{project_name}サーバーの場所とともに、パーミッション `ticket` と" +" `as_uri` パラメーターを持つレスポンスをクライアントに返します。" + +msgid "Resource server responds with a permission ticket" +msgstr "リソースサーバーはパーミッション・チケットを返します" + +msgid "" +"HTTP/1.1 401 Unauthorized\n" +"WWW-Authenticate: UMA realm=\"${realm}\",\n" +" as_uri=\"https://${host}:${port}{kc_realms_path}/${realm}\",\n" +" ticket=\"016f84e8-f9b9-11e0-bd6f-0021cc6004de\"" +msgstr "" +"HTTP/1.1 401 Unauthorized\n" +"WWW-Authenticate: UMA realm=\"${realm}\",\n" +" as_uri=\"https://${host}:${port}{kc_realms_path}/${realm}\",\n" +" ticket=\"016f84e8-f9b9-11e0-bd6f-0021cc6004de\"" + +msgid "" +"The permission ticket is a special type of token issued by {project_name} " +"Permission API. They represent the permissions being requested (e.g.: " +"resources and scopes) as well any other information associated with the " +"request. Only resource servers are allowed to create those tokens." +msgstr "" +"パーミッション・チケットは、{project_name} Permission " +"APIによって発行される特別なタイプのトークンです。これらは、要求されるパーミッション(たとえば、リソースおよびスコープ)、ならびにリクエストに関連する他の情報を表します。リソースサーバーのみがこれらのトークンを作成できます。" + +msgid "" +"Now that the client has a permission ticket and also the location of a " +"{project_name} server, the client can use the discovery document to obtain " +"the location of the token endpoint and send an authorization request." +msgstr "" +"クライアントはパーミッション・チケットを持つとともに{project_name}サーバーの場所も知っているので、クライアントはディスカバリー文書を使用してトークン・エンドポイントの場所を取得し、認可リクエストを送信できます。" + +msgid "" +"Client sends an authorization request to the token endpoint to obtain an RPT" +msgstr "クライアントは、RPTを取得するためにトークン・エンドポイントに認可リクエストを送信します" + +msgid "" +"The response from the server is just like any other response from the token " +"endpoint when using some other grant type. The RPT can be obtained from the " +"`access_token` response parameter. In case the client is not authorized to " +"have permissions {project_name} responds with a `403` HTTP status code:" +msgstr "" +"サーバーからのレスポンスは、他のグラントタイプを使用しているときのトークン・エンドポイントからの任意のレスポンスとまったく同じです。RPTは " +"`access_token` " +"レスポンス・パラメーターから取得できます。パーミッションを得るためにクライアントが認可されていない場合、{project_name}は次のように " +"`403` HTTPステータスコードで応答します。" + +msgid "Submitting permission requests" +msgstr "パーミッション・リクエストの送信" + +msgid "" +"As part of the authorization process, clients need first to obtain a " +"permission ticket from a UMA protected resource server in order to exchange " +"it with an RPT at the {project_name} Token Endpoint." +msgstr "" +"認可プロセスの一環として、クライアントは{project_name}トークン・エンドポイントでRPTと交換するために、まずUMAで保護されたリソースサーバーからパーミッション・チケットを取得する必要があります。" + +msgid "" +"By default, {project_name} responds with a `403` HTTP status code and a " +"`request_denied` error in case the client can not be issued with an RPT." +msgstr "" +"クライアントがRPTを発行できない場合、デフォルトで{project_name}は `403` HTTPステータスコードと " +"`request_denied` エラーで応答します。" + +msgid "" +"Such response implies that {project_name} could not issue an RPT with the " +"permissions represented by a permission ticket." +msgstr "" +"このようなレスポンスは、{project_name}がパーミッション・チケットによって表されるパーミッションを持つRPTを発行できないことを意味します。" + +msgid "" +"In some situations, client applications may want to start an asynchronous " +"authorization flow and let the owner of the resources being requested decide" +" whether or not access should be granted. For that, clients can use the " +"`submit_request` request parameter along with an authorization request to " +"the token endpoint:" +msgstr "" +"状況によっては、クライアント・アプリケーションが非同期認可フローを開始して、要求されているリソースオーナーにアクセスを許可するかどうかを決定させたい場合があります。そのために、次のようにクライアントは" +" `submit_request` リクエスト・パラメーターをトークン・エンドポイントへの認可リクエストとともに使用できます。" + +msgid "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm}/protocol/openid-connect/token \\\n" +" -H \"Authorization: Bearer ${access_token}\" \\\n" +" --data \"grant_type=urn:ietf:params:oauth:grant-type:uma-ticket\" \\\n" +" --data \"ticket=${permission_ticket} \\\n" +" --data \"submit_request=true\"" +msgstr "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm}/protocol/openid-connect/token \\\n" +" -H \"Authorization: Bearer ${access_token}\" \\\n" +" --data \"grant_type=urn:ietf:params:oauth:grant-type:uma-ticket\" \\\n" +" --data \"ticket=${permission_ticket} \\\n" +" --data \"submit_request=true\"" + +msgid "" +"When using the `submit_request` parameter, {project_name} will persist a " +"permission request for each resource to which access was denied. Once " +"created, resource owners can check their account and manage their " +"permissions requests." +msgstr "" +"`submit_request` " +"パラメーターを使用すると、{project_name}は、アクセスが拒否された各リソースに対して、パーミッション・リクエストを永続化します。作成されると、リソースオーナーは自分のアカウントを確認し、パーミッション・リクエストを管理できます。" + +msgid "" +"You can think about this functionality as a `Request Access` button in your " +"application, where users can ask other users for access to their resources." +msgstr "" +"この機能は、アプリケーション内の `Request Access` " +"ボタンとして考えることができます。このボタンは、ユーザーが他のユーザーにリソースへのアクセスを求めることを可能にします。" + +msgid "Managing access to users resources" +msgstr "ユーザーリソースへのアクセスの管理" + +msgid "" +"Users can manage access to their resources using the {project_name} Account " +"Console. To enable this functionality, you must first enable User-Managed " +"Access for your realm." +msgstr "" +"ユーザーは、{project_name}のアカウント・コンソールを使用して、自分のリソースへのアクセスを管理することができます。この機能を有効にするには、まずレルムに対してUser-" +"Managed Accessを有効にする必要があります。" + +msgid "Log into the Admin Console." +msgstr "管理コンソールにログインします。" + +msgid "Click *Realm Settings* in the menu." +msgstr "メニューの *Realm Settings* をクリックします。" + +msgid "Toggle *User-Managed Access* to *ON*." +msgstr "*User-Managed Access* を *ON* に切り替えます。" + +msgid "" +"Click the user name at the top right of the Admin Console and select *Manage" +" Account*." +msgstr "管理コンソールの右上にあるユーザー名をクリックし、 *Manage Account* を選択します。" + +msgid "image:images/service/account-my-resource.png[alt=\"My Resources\"]" +msgstr "image:images/service/account-my-resource.png[alt=\"My Resources\"]" + +msgid "" +"Click *My Resources* in the menu option. A page displays with the following " +"options." +msgstr "メニューオプションの *My Resources* をクリックします。以下のオプションが付いたページが表示されます。" + +msgid "Manage *My resources*" +msgstr "*My resources* の管理" + +msgid "" +"This section contains a list of all resources owned by the user. Users can " +"click on a resource for more details and share the resource with others. " +"When there is a permission requests awaiting approval an icon is put next to" +" the name of the resource. These requests are connected to the parties " +"(users) requesting access to a particular resource. Users are allowed to " +"approve or deny these requests. You can do so by clicking the icon" +msgstr "" +"このセクションには、ユーザーが所有するすべてのリソースの一覧が含まれています。ユーザーは、リソースをクリックして詳細を確認したり、リソースを他のユーザーと共有することができます。承認待ちのパーミッション・リクエストがある場合、リソースの名前の横にアイコンが表示されます。これらのリクエストは、特定のリソースへのアクセスを要求する当事者(ユーザー)に接続されています。ユーザーは、これらのリクエストの承認または拒否を行うことができます。アイコンをクリックすることで、承認することができます。" + +msgid "" +"image:images/service/account-my-resource-detail.png[alt=\"Resource Detail\"]" +msgstr "" +"image:images/service/account-my-resource-detail.png[alt=\"Resource Detail\"]" + +msgid "Manage *Resources shared with me*" +msgstr "*Resources shared with me* の管理" + +msgid "This section contains a list of all resources shared with the user." +msgstr "このセクションには、ユーザーと共有するすべてのリソースのリストが含まれています。" + +msgid "Manage *People with access to this resource*" +msgstr "*People with access to this resource* の管理" + +msgid "" +"This section contains a list of people with access to this resource. Users " +"are allowed to revoke access by clicking on the `Revoke` button or by " +"removing a specific `Permission`." +msgstr "" +"このセクションには、リソースにアクセスできるユーザーのリストが含まれています。 ユーザーは、 `Revoke` ボタンをクリックするか、特定の " +"`Permission` を削除することによって、アクセスを取り消すことができます。" + +msgid "Share the resource with others" +msgstr "他の人とリソースを共有する" + +msgid "" +"By typing the username or e-mail of another user, the user is able to share " +"the resource and select the permissions he wants to grant access." +msgstr "" +"別のユーザーのユーザー名または電子メールを入力することにより、ユーザーはリソースを共有し、アクセスを許可するパーミッションを選択することができます。" + +msgid "" +"The Protection API provides a UMA-compliant set of endpoints providing:" +msgstr "Protection APIは、UMA準拠のエンドポイントのセットを提供します。" + +msgid "" +"With this endpoint, resource servers can manage their resources remotely and" +" enable <<_enforcer_overview, policy enforcers>> to query the server for the" +" resources that need protection." +msgstr "" +"このエンドポイントを使用すると、リソースサーバーはリソースをリモートで管理し、<<_enforcer_overview, " +"ポリシー・エンフォーサー>>が保護を必要とするリソースをサーバーに問い合わせできるようになります。" + +msgid "" +"In the UMA protocol, resource servers access this endpoint to create " +"permission tickets. {project_name} also provides endpoints to manage the " +"state of permissions and query permissions." +msgstr "" +"UMAプロトコルでは、リソースサーバーはこのエンドポイントにアクセスしてパーミッション・チケットを作成します。{project_name}には、パーミッションの状態やクエリー・パーミッションを管理するためのエンドポイントも用意されています。" + +msgid "*Policy API*" +msgstr "*Policy API*" + +msgid "" +"{project_name} leverages the UMA Protection API to allow resource servers to" +" manage permissions for their users. In addition to the Resource and " +"Permission APIs, {project_name} provides a Policy API from where permissions" +" can be set to resources by resource servers on behalf of their users." +msgstr "" +"{project_name}はUMA Protection " +"APIを利用して、リソースサーバーがユーザーのパーミッションを管理できるようにします。{project_name}はリソースAPIとパーミッションAPIに加えて、ユーザーの代わりにリソースサーバーによって、リソースにパーミッションを設定できるPolicy" +" APIを提供します。" + +msgid "" +"An important requirement for this API is that _only_ resource servers are " +"allowed to access its endpoints using a special OAuth2 access token called a" +" protection API token (PAT). In UMA, a PAT is a token with the scope " +"*uma_protection*." +msgstr "" +"このAPIの重要な要件は、Protection APIトークン(PAT)と呼ばれる特別なOAuth2アクセストークンを使用して、リソースサーバー " +"_だけ_ がエンドポイントにアクセスできることです。UMAでは、PATはスコープ *uma_protection* を持つトークンです。" + +msgid "What is a PAT and how to obtain it" +msgstr "PATとは何か、そしてそれをどのように取得するか" + +msgid "" +"A *protection API token* (PAT) is a special OAuth2 access token with a scope" +" defined as *uma_protection*. When you create a resource server, " +"{project_name} automatically creates a role, _uma_protection_, for the " +"corresponding client application and associates it with the client's service" +" account." +msgstr "" +"*Protection APIトークン* (PAT)は、 *uma_protection* " +"として定義されたスコープを持つ特殊なOAuth2アクセストークンです。リソースサーバーを作成すると、{project_name}は対応するクライアント・アプリケーションのロール" +" _uma_protection_ を自動的に作成し、クライアントのサービス・アカウントに関連付けます。" + +msgid "Service Account granted with *uma_protection* role" +msgstr "*uma_protection* ロールで付与されたサービス・アカウント" + +msgid "" +"image:images/service/rs-uma-protection-role.png[alt=\"Service Account " +"granted with uma_protection role\"]" +msgstr "" +"image:images/service/rs-uma-protection-role.png[alt=\"Service Account " +"granted with uma_protection role\"]" + +msgid "" +"Resource servers can obtain a PAT from {project_name} like any other OAuth2 " +"access token. For example, using curl:" +msgstr "" +"リソースサーバーは、{project_name}から他のOAuth2アクセストークンと同様にPATを取得できます。たとえば、次のようにcurlを使用します。" + +msgid "" +"curl -X POST \\\n" +" -H \"Content-Type: application/x-www-form-urlencoded\" \\\n" +" -d 'grant_type=client_credentials&client_id=${client_id}&client_secret=${client_secret}' \\\n" +" \"http://localhost:8080{kc_realms_path}/${realm_name}/protocol/openid-connect/token\"" +msgstr "" +"curl -X POST \\\n" +" -H \"Content-Type: application/x-www-form-urlencoded\" \\\n" +" -d 'grant_type=client_credentials&client_id=${client_id}&client_secret=${client_secret}' \\\n" +" \"http://localhost:8080{kc_realms_path}/${realm_name}/protocol/openid-connect/token\"" + +msgid "" +"The example above is using the *client_credentials* grant type to obtain a " +"PAT from the server. As a result, the server returns a response similar to " +"the following:" +msgstr "" +"上記の例では、 *client_credentials* " +"グラントタイプを使用してサーバーからPATを取得しています。その結果、サーバーは次のような応答を返します。" + +msgid "" +"{\n" +" \"access_token\": ${PAT},\n" +" \"expires_in\": 300,\n" +" \"refresh_expires_in\": 1800,\n" +" \"refresh_token\": ${refresh_token},\n" +" \"token_type\": \"bearer\",\n" +" \"id_token\": ${id_token},\n" +" \"not-before-policy\": 0,\n" +" \"session_state\": \"ccea4a55-9aec-4024-b11c-44f6f168439e\"\n" +"}" +msgstr "" +"{\n" +" \"access_token\": ${PAT},\n" +" \"expires_in\": 300,\n" +" \"refresh_expires_in\": 1800,\n" +" \"refresh_token\": ${refresh_token},\n" +" \"token_type\": \"bearer\",\n" +" \"id_token\": ${id_token},\n" +" \"not-before-policy\": 0,\n" +" \"session_state\": \"ccea4a55-9aec-4024-b11c-44f6f168439e\"\n" +"}" + +msgid "" +"{project_name} can authenticate your client application in different ways. " +"For simplicity, the *client_credentials* grant type is used here, which " +"requires a _client_id_ and a _client_secret_. You can choose to use any " +"supported authentication method." +msgstr "" +"{project_name}は、さまざまな方法でクライアント・アプリケーションを認証できます。わかりやすくするため、ここでは " +"*client_credentials* グラント・タイプが使用されています。これには _client_id_ と _client_secret_ " +"が必要です。サポートされている認証方法の使用を選択することができます。" + +msgid "Managing resources" +msgstr "リソースの管理" + +msgid "" +"Resource servers can manage their resources remotely using a UMA-compliant " +"endpoint." +msgstr "リソースサーバーは、UMA準拠のエンドポイントを使用して、リモートでリソースを管理できます。" + +msgid "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set" +msgstr "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set" + +msgid "" +"This endpoint provides operations outlined as follows (entire path omitted " +"for clarity):" +msgstr "このエンドポイントは、以下に概説されている操作を提供します(明確にするため、パス全体が省略されています)。" + +msgid "Create resource set description: POST /resource_set" +msgstr "リソースセットの説明を作成する: POST /resource_set" + +msgid "Read resource set description: GET /resource_set/{_id}" +msgstr "リソースセットの説明を読み込む: GET /resource_set/{_id}" + +msgid "Update resource set description: PUT /resource_set/{_id}" +msgstr "リソースセットの説明を更新する: PUT /resource_set/{_id}" + +msgid "Delete resource set description: DELETE /resource_set/{_id}" +msgstr "リソースセットの説明を削除する: DELETE /resource_set/{_id}" + +msgid "List resource set descriptions: GET /resource_set" +msgstr "リソースセットの説明を表示する: GET /resource_set" + +msgid "" +"For more information about the contract for each of these operations, see " +"https://docs.kantarainitiative.org/uma/wg/oauth-uma-federated-" +"authz-2.0-09.html#reg-api[UMA Resource Registration API]." +msgstr "" +"各操作の規約の詳細については、 https://docs.kantarainitiative.org/uma/wg/oauth-uma-" +"federated-authz-2.0-09.html#reg-api[UMA Resource Registration API] " +"を参照してください。" + +msgid "Creating a resource" +msgstr "リソースの作成" + +msgid "To create a resource you must send an HTTP POST request as follows:" +msgstr "リソースを作成するには、次のようにHTTP POSTリクエストを送信する必要があります。" + +msgid "" +"curl -v -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set \\\n" +" -H 'Authorization: Bearer '$pat \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +" \"name\":\"Tweedl Social Service\",\n" +" \"type\":\"http://www.example.com/rsrcs/socialstream/140-compatible\",\n" +" \"icon_uri\":\"http://www.example.com/icons/sharesocial.png\",\n" +" \"resource_scopes\":[\n" +" \"read-public\",\n" +" \"post-updates\",\n" +" \"read-private\",\n" +" \"http://www.example.com/scopes/all\"\n" +" ]\n" +" }'" +msgstr "" +"curl -v -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set \\\n" +" -H 'Authorization: Bearer '$pat \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +" \"name\":\"Tweedl Social Service\",\n" +" \"type\":\"http://www.example.com/rsrcs/socialstream/140-compatible\",\n" +" \"icon_uri\":\"http://www.example.com/icons/sharesocial.png\",\n" +" \"resource_scopes\":[\n" +" \"read-public\",\n" +" \"post-updates\",\n" +" \"read-private\",\n" +" \"http://www.example.com/scopes/all\"\n" +" ]\n" +" }'" + +msgid "" +"By default, the owner of a resource is the resource server. If you want to " +"define a different owner, such as a specific user, you can send a request as" +" follows:" +msgstr "" +"デフォルトでは、リソースオーナーがリソースサーバーです。特定のユーザーなど、別のオーナーを定義する場合は、次のようにリクエストを送信できます。" + +msgid "" +"curl -v -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set \\\n" +" -H 'Authorization: Bearer '$pat \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +" \"name\":\"Alice Resource\",\n" +" \"owner\": \"alice\"\n" +" }'" +msgstr "" +"curl -v -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set \\\n" +" -H 'Authorization: Bearer '$pat \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +" \"name\":\"Alice Resource\",\n" +" \"owner\": \"alice\"\n" +" }'" + +msgid "" +"Where the property `owner` can be set with the username or the identifier of" +" the user." +msgstr "ここで、プロパティー `owner` はユーザーのユーザー名または識別子で設定できます。" + +msgid "Creating user-managed resources" +msgstr "ユーザー管理のリソースの作成" + +msgid "" +"By default, resources created via Protection API can not be managed by " +"resource owners through the <<_service_authorization_my_resources, Account " +"Console>>." +msgstr "" +"デフォルトでは、Protection " +"API経由で作成されたリソースを、リソースオーナーが<<_service_authorization_my_resources, " +"アカウント・コンソール>>を介して管理することはできません。" + +msgid "" +"To create resources and allow resource owners to manage these resources, you" +" must set `ownerManagedAccess` property as follows:" +msgstr "" +"リソースを作成し、リソースオーナーがこれらのリソースを管理できるようにするには、次のように `ownerManagedAccess` " +"プロパティーを設定する必要があります。" + +msgid "" +"curl -v -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set \\\n" +" -H 'Authorization: Bearer '$pat \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +" \"name\":\"Alice Resource\",\n" +" \"owner\": \"alice\",\n" +" \"ownerManagedAccess\": true\n" +" }'" +msgstr "" +"curl -v -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set \\\n" +" -H 'Authorization: Bearer '$pat \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +" \"name\":\"Alice Resource\",\n" +" \"owner\": \"alice\",\n" +" \"ownerManagedAccess\": true\n" +" }'" + +msgid "Updating resources" +msgstr "リソースの更新" + +msgid "To update an existing resource, send an HTTP PUT request as follows:" +msgstr "既存のリソースを更新するには、次のようにHTTP PUTリクエストを送信します。" + +msgid "" +"curl -v -X PUT \\\n" +" http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set/{resource_id} \\\n" +" -H 'Authorization: Bearer '$pat \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +" \"_id\": \"Alice Resource\",\n" +" \"name\":\"Alice Resource\",\n" +" \"resource_scopes\": [\n" +" \"read\"\n" +" ]\n" +" }'" +msgstr "" +"curl -v -X PUT \\\n" +" http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set/{resource_id} \\\n" +" -H 'Authorization: Bearer '$pat \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +" \"_id\": \"Alice Resource\",\n" +" \"name\":\"Alice Resource\",\n" +" \"resource_scopes\": [\n" +" \"read\"\n" +" ]\n" +" }'" + +msgid "Deleting resources" +msgstr "リソースの削除" + +msgid "" +"To delete an existing resource, send an HTTP DELETE request as follows:" +msgstr "既存のリソースを削除するには、次のようにHTTP DELETEリクエストを送信します。" + +msgid "" +"curl -v -X DELETE \\\n" +" http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set/{resource_id} \\\n" +" -H 'Authorization: Bearer '$pat" +msgstr "" +"curl -v -X DELETE \\\n" +" http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set/{resource_id} \\\n" +" -H 'Authorization: Bearer '$pat" + +msgid "Querying resources" +msgstr "リソースの照会" + +msgid "To query the resources by `id`, send an HTTP GET request as follows:" +msgstr "`id` でリソースを照会するには、次のようにHTTP GETリクエストを送信します。" + +msgid "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set/{resource_id}" +msgstr "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set/{resource_id}" + +msgid "" +"To query resources given a `name`, send an HTTP GET request as follows:" +msgstr "`name` を指定してリソースを照会するには、次のようにHTTP GETリクエストを送信します。" + +msgid "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set?name=Alice" +" Resource" +msgstr "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set?name=Alice" +" Resource" + +msgid "" +"By default, the `name` filter will match any resource with the given " +"pattern. To restrict the query to only return resources with an exact match," +" use:" +msgstr "" +"デフォルトでは、 `name` " +"フィルターは指定されたパターンのすべてのリソースと一致します。完全に一致するリソースのみを返すようにクエリーを制限するには、次を使用します。" + +msgid "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set?name=Alice" +" Resource&exactName=true" +msgstr "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set?name=Alice" +" Resource&exactName=true" + +msgid "" +"To query resources given an `uri`, send an HTTP GET request as follows:" +msgstr "`uri` を指定してリソースを照会するには、次のようにHTTP GETリクエストを送信します。" + +msgid "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set?uri=/api/alice" +msgstr "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set?uri=/api/alice" + +msgid "" +"To query resources given an `owner`, send an HTTP GET request as follows:" +msgstr "`owner` を指定してリソースを照会するには、次のようにHTTP GETリクエストを送信します。" + +msgid "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set?owner=alice" +msgstr "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set?owner=alice" + +msgid "" +"To query resources given an `type`, send an HTTP GET request as follows:" +msgstr "`type` を指定してリソースを照会するには、次のようにHTTP GETリクエストを送信します。" + +msgid "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set?type=albums" +msgstr "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set?type=albums" + +msgid "" +"To query resources given an `scope`, send an HTTP GET request as follows:" +msgstr "`scope` を指定してリソースを照会するには、次のようにHTTP GETリクエストを送信します。" + +msgid "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set?scope=read" +msgstr "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/resource_set?scope=read" + +msgid "" +"When querying the server for permissions use parameters `first` and `max` " +"results to limit the result." +msgstr "サーバーにパーミッションを問い合わせる際に、結果を制限するためにパラメーター `first` と `max` を使用します。" + +msgid "Managing permission requests" +msgstr "パーミッション・リクエストの管理" + +msgid "" +"Resource servers using the UMA protocol can use a specific endpoint to " +"manage permission requests. This endpoint provides a UMA-compliant flow for " +"registering permission requests and obtaining a permission ticket." +msgstr "" +"UMAプロトコルを使用するリソースサーバーは、特定のエンドポイントを使用してパーミッション・リクエストを管理できます。このエンドポイントは、パーミッション・リクエストを登録し、パーミッション・チケットを取得するためのUMA準拠のフローを提供します。" + +msgid "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/permission" +msgstr "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/permission" + +msgid "" +"A <<_overview_terminology_permission_ticket, permission ticket>> is a " +"special security token type representing a permission request. Per the UMA " +"specification, a permission ticket is:" +msgstr "" +"<<_overview_terminology_permission_ticket, " +"パーミッション・チケット>>は、パーミッション・リクエストを表す特殊なセキュリティー・トークン・タイプです。UMA仕様における、パーミッション・チケットは次のとおりです。" + +msgid "" +"`A correlation handle that is conveyed from an authorization server to a " +"resource server, from a resource server to a client, and ultimately from a " +"client back to an authorization server, to enable the authorization server " +"to assess the correct policies to apply to a request for authorization " +"data.`" +msgstr "" +"`認可サーバーからリソースサーバー、リソースサーバーからクライアント、最終的にはクライアントから認可サーバーに伝達され、認可サーバーが認可データの要求に適用する正しいポリシーを評価できるようにする相関ハンドル。`" + +msgid "" +"In most cases, you won't need to deal with this endpoint directly. " +"{project_name} provides a <<_enforcer_overview, policy enforcer>> that " +"enables UMA for your resource server so it can obtain a permission ticket " +"from the authorization server, return this ticket to client application, and" +" enforce authorization decisions based on a final requesting party token " +"(RPT)." +msgstr "" +"ほとんどの場合、このエンドポイントを直接処理する必要はありません。{project_name}は、リソースサーバーのUMAを有効にする<<_enforcer_overview," +" " +"ポリシー・エンフォーサー>>を提供し、認可サーバーからパーミッション・チケットを取得し、このチケットをクライアント・アプリケーションに戻し、最後にリクエスティング・パーティ・トークン(RPT)に基づいて認可決定を実施することができます。" + +msgid "" +"The process of obtaining permission tickets from {project_name} is performed" +" by resource servers and not regular client applications, where permission " +"tickets are obtained when a client tries to access a protected resource " +"without the necessary grants to access the resource. The issuance of " +"permission tickets is an important aspects when using UMA as it allows " +"resource servers to:" +msgstr "" +"{project_name}からパーミッション・チケットを取得するプロセスは、通常のクライアント・アプリケーションではなく、リソースサーバーによって実行されます。パーミッション・チケットは、クライアントが保護されたリソースにアクセスするために必要な許可なしにアクセスしようとしたときに取得されます。パーミッション・チケットの発行は、リソースサーバーに次のことを許可するため、UMAを使用する際の重要な側面です。" + +msgid "" +"Abstract from clients the data associated with the resources protected by " +"the resource server" +msgstr "リソースサーバーによって保護されているリソースに関連付けられたデータをクライアントから抽出します。" + +msgid "" +"Register in the {project_name} authorization requests which in turn can be " +"used later in workflows to grant access based on the resource's owner " +"consent" +msgstr "" +"{project_name}の認可リクエストに登録します。これは、後からワークフローを使用して、リソースの所有者の同意に基づいてアクセスを許可します。" + +msgid "" +"Decouple resource servers from authorization servers and allow them to " +"protect and manage their resources using different authorization servers" +msgstr "リソースサーバーを認可サーバーから切り離し、異なる認可サーバーを使用してリソースを保護および管理できます。" + +msgid "" +"Client wise, a permission ticket has also important aspects that its worthy " +"to highlight:" +msgstr "クライアントから見ると、パーミッション・チケットには重要な側面もあります。" + +msgid "" +"Clients don't need to know about how authorization data is associated with " +"protected resources. A permission ticket is completely opaque to clients." +msgstr "" +"クライアントは、認可データが保護されたリソースにどのように関連付けられているかを知る必要はありません。パーミッション・チケットは、クライアントにとって完全に不透明です。" + +msgid "" +"Clients can have access to resources on different resource servers and " +"protected by different authorization servers" +msgstr "クライアントは、異なるリソースサーバー上のさまざまな認可サーバーによって保護されたリソースにアクセスできます。" + +msgid "" +"These are just some of the benefits brought by UMA where other aspects of " +"UMA are strongly based on permission tickets, specially regarding privacy " +"and user controlled access to their resources." +msgstr "" +"これらは、UMAの他の側面が、特にプライバシーとリソースへのアクセス制御されたユーザーに関するパーミッション・チケットに強く基づいたUMAのメリットのほんの一部です。" + +msgid "Creating permission ticket" +msgstr "パーミッション・チケットを作成する" + +msgid "To create a permission ticket, send an HTTP POST request as follows:" +msgstr "パーミッション・チケットを作成するには、次のようにHTTP POSTリクエストを送信します。" + +msgid "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/permission \\\n" +" -H 'Authorization: Bearer '$pat \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '[\n" +" {\n" +" \"resource_id\": \"{resource_id}\",\n" +" \"resource_scopes\": [\n" +" \"view\"\n" +" ]\n" +" }\n" +"]'" +msgstr "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/permission \\\n" +" -H 'Authorization: Bearer '$pat \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '[\n" +" {\n" +" \"resource_id\": \"{resource_id}\",\n" +" \"resource_scopes\": [\n" +" \"view\"\n" +" ]\n" +" }\n" +"]'" + +msgid "" +"When creating tickets you can also push arbitrary claims and associate these" +" claims with the ticket:" +msgstr "チケットを作成するときは、任意のクレームをプッシュして、これらのクレームをチケットに関連付けることもできます。" + +msgid "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/permission \\\n" +" -H 'Authorization: Bearer '$pat \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '[\n" +" {\n" +" \"resource_id\": \"{resource_id}\",\n" +" \"resource_scopes\": [\n" +" \"view\"\n" +" ],\n" +" \"claims\": {\n" +" \"organization\": [\"acme\"]\n" +" }\n" +" }\n" +"]'" +msgstr "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/permission \\\n" +" -H 'Authorization: Bearer '$pat \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '[\n" +" {\n" +" \"resource_id\": \"{resource_id}\",\n" +" \"resource_scopes\": [\n" +" \"view\"\n" +" ],\n" +" \"claims\": {\n" +" \"organization\": [\"acme\"]\n" +" }\n" +" }\n" +"]'" + +msgid "" +"Where these claims will be available to your policies when evaluating " +"permissions for the resource and scope(s) associated with the permission " +"ticket." +msgstr "" +"ここで、パーミッション・チケットに関連付けられているリソースおよびスコープのパーミッションを評価する際に、これらのクレームをポリシーで利用できます。" + +msgid "Other non UMA-compliant endpoints" +msgstr "その他のUMA非準拠エンドポイント" + +msgid "" +"To grant permissions for a specific resource with id {resource_id} to a user" +" with id {user_id}, as an owner of the resource send an HTTP POST request as" +" follows:" +msgstr "" +"ID {resource_id} の特定のリソースに対するパーミッションをID {user_id} " +"のユーザーに付与するには、リソースの所有者として次のようにHTTP POSTリクエストを送信します。" + +msgid "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/permission/ticket \\\n" +" -H 'Authorization: Bearer '$access_token \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +" \"resource\": \"{resource_id}\",\n" +" \"requester\": \"{user_id}\",\n" +" \"granted\": true,\n" +" \"scopeName\": \"view\"\n" +" }'" +msgstr "" +"curl -X POST \\\n" +" http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/permission/ticket \\\n" +" -H 'Authorization: Bearer '$access_token \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +" \"resource\": \"{resource_id}\",\n" +" \"requester\": \"{user_id}\",\n" +" \"granted\": true,\n" +" \"scopeName\": \"view\"\n" +" }'" + +msgid "Getting permission tickets" +msgstr "パーミッション・チケットを取得する" + +msgid "" +"curl http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/permission/ticket \\\n" +" -H 'Authorization: Bearer '$access_token" +msgstr "" +"curl http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/permission/ticket \\\n" +" -H 'Authorization: Bearer '$access_token" + +msgid "You can use any of these query parameters:" +msgstr "次のクエリー・パラメーターはどれでも使用できます。" + +msgid "`scopeId`" +msgstr "`scopeId`" + +msgid "`resourceId`" +msgstr "`resourceId`" + +msgid "`owner`" +msgstr "`owner`" + +msgid "`requester`" +msgstr "`requester`" + +msgid "`granted`" +msgstr "`granted`" + +msgid "`returnNames`" +msgstr "`returnNames`" + +msgid "`first`" +msgstr "`first`" + +msgid "`max`" +msgstr "`max`" + +msgid "Updating permission ticket" +msgstr "パーミッション・チケットを更新する" + +msgid "" +"curl -X PUT \\\n" +" http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/permission/ticket \\\n" +" -H 'Authorization: Bearer '$access_token \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +" \"id\": \"{ticket_id}\"\n" +" \"resource\": \"{resource_id}\",\n" +" \"requester\": \"{user_id}\",\n" +" \"granted\": false,\n" +" \"scopeName\": \"view\"\n" +" }'" +msgstr "" +"curl -X PUT \\\n" +" http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/permission/ticket \\\n" +" -H 'Authorization: Bearer '$access_token \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +" \"id\": \"{ticket_id}\"\n" +" \"resource\": \"{resource_id}\",\n" +" \"requester\": \"{user_id}\",\n" +" \"granted\": false,\n" +" \"scopeName\": \"view\"\n" +" }'" + +msgid "Deleting permission ticket" +msgstr "パーミッション・チケットを削除する" + +msgid "" +"curl -X DELETE http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/permission/ticket/{ticket_id} \\\n" +" -H 'Authorization: Bearer '$access_token" +msgstr "" +"curl -X DELETE http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/permission/ticket/{ticket_id} \\\n" +" -H 'Authorization: Bearer '$access_token" + +msgid "Managing resource permissions using the Policy API" +msgstr "Policy APIを使用したリソース・パーミッションの管理" + +msgid "The Policy API is available at:" +msgstr "Policy APIは次の場所にあります。" + +msgid "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/uma-" +"policy/{resource_id}" +msgstr "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/authz/protection/uma-" +"policy/{resource_id}" + +msgid "" +"This API is protected by a bearer token that must represent a consent " +"granted by the user to the resource server to manage permissions on his " +"behalf. The bearer token can be a regular access token obtained from the " +"token endpoint using:" +msgstr "" +"このAPIは、ユーザーからリソースサーバーへの承諾を表すベアラトークンによって保護されています。ベアラトークンは、以下を使用することで、トークン・エンドポイントから取得された通常のアクセストークンとすることができます。" + +msgid "Resource Owner Password Credentials Grant Type" +msgstr "リソース・オーナー・パスワード・クレデンシャル・グラント・タイプ" + +msgid "" +"Token Exchange, in order to exchange an access token granted to some client " +"(public client) for a token where audience is the resource server" +msgstr "" +"Audienceがリソースサーバーであるトークンのために、あるクライアント(パブリック・クライアント)に与えられたアクセストークンを交換するためのToken" +" Exchange" + +msgid "Associating a permission with a resource" +msgstr "パーミッションとリソースの関連付け" + +msgid "" +"To associate a permission with a specific resource you must send a HTTP POST" +" request as follows:" +msgstr "パーミッションを特定のリソースに関連付けるには、次のようにHTTP POSTリクエストを送信する必要があります。" + +msgid "" +"curl -X POST \\\n" +" http://localhost:8180{kc_realms_path}/photoz/authz/protection/uma-policy/{resource_id} \\\n" +" -H 'Authorization: Bearer '$access_token \\\n" +" -H 'Cache-Control: no-cache' \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +"\t\"name\": \"Any people manager\",\n" +"\t\"description\": \"Allow access to any people manager\",\n" +"\t\"scopes\": [\"read\"],\n" +"\t\"roles\": [\"people-manager\"]\n" +"}'" +msgstr "" +"curl -X POST \\\n" +" http://localhost:8180{kc_realms_path}/photoz/authz/protection/uma-policy/{resource_id} \\\n" +" -H 'Authorization: Bearer '$access_token \\\n" +" -H 'Cache-Control: no-cache' \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +"\t\"name\": \"Any people manager\",\n" +"\t\"description\": \"Allow access to any people manager\",\n" +"\t\"scopes\": [\"read\"],\n" +"\t\"roles\": [\"people-manager\"]\n" +"}'" + +msgid "" +"In the example above we are creating and associating a new permission to a " +"resource represented by `resource_id` where any user with a role `people-" +"manager` should be granted with the `read` scope." +msgstr "" +"上記の例では、 `people-manager` ロールを持つユーザに対して `read` スコープを付与するように、 `resource_id` " +"で表されるリソースに新しいパーミッションを作成して関連付けています。" + +msgid "" +"You can also create policies using other access control mechanisms, such as " +"using groups:" +msgstr "次のようにグループを使用するなど、他のアクセス・コントロールの機構を使用してポリシーを作成することもできます。" + +msgid "" +"curl -X POST \\\n" +" http://localhost:8180{kc_realms_path}/photoz/authz/protection/uma-policy/{resource_id} \\\n" +" -H 'Authorization: Bearer '$access_token \\\n" +" -H 'Cache-Control: no-cache' \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +"\t\"name\": \"Any people manager\",\n" +"\t\"description\": \"Allow access to any people manager\",\n" +"\t\"scopes\": [\"read\"],\n" +"\t\"groups\": [\"/Managers/People Managers\"]\n" +"}'" +msgstr "" +"curl -X POST \\\n" +" http://localhost:8180{kc_realms_path}/photoz/authz/protection/uma-policy/{resource_id} \\\n" +" -H 'Authorization: Bearer '$access_token \\\n" +" -H 'Cache-Control: no-cache' \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +"\t\"name\": \"Any people manager\",\n" +"\t\"description\": \"Allow access to any people manager\",\n" +"\t\"scopes\": [\"read\"],\n" +"\t\"groups\": [\"/Managers/People Managers\"]\n" +"}'" + +msgid "Or a specific client:" +msgstr "または、次のように特定のクライアントを使用できます。" + +msgid "" +"curl -X POST \\\n" +" http://localhost:8180{kc_realms_path}/photoz/authz/protection/uma-policy/{resource_id} \\\n" +" -H 'Authorization: Bearer '$access_token \\\n" +" -H 'Cache-Control: no-cache' \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +"\t\"name\": \"Any people manager\",\n" +"\t\"description\": \"Allow access to any people manager\",\n" +"\t\"scopes\": [\"read\"],\n" +"\t\"clients\": [\"my-client\"]\n" +"}'" +msgstr "" +"curl -X POST \\\n" +" http://localhost:8180{kc_realms_path}/photoz/authz/protection/uma-policy/{resource_id} \\\n" +" -H 'Authorization: Bearer '$access_token \\\n" +" -H 'Cache-Control: no-cache' \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +"\t\"name\": \"Any people manager\",\n" +"\t\"description\": \"Allow access to any people manager\",\n" +"\t\"scopes\": [\"read\"],\n" +"\t\"clients\": [\"my-client\"]\n" +"}'" + +msgid "Or even using a custom policy using JavaScript:" +msgstr "あるいは、次のようにJavaScriptを使用してカスタムポリシーを使用することもできます。" + +msgid "" +"{tech_feature_name} is *Deprecated* and will be removed in future releases. " +"This feature is disabled by default." +msgstr "{tech_feature_name}は *非推奨* であり、将来のリリースで削除されます。この機能はデフォルトで無効になっています。" + +msgid "" +"To enable start the server with `{tech_feature_setting}` . For more details " +"see the https://www.keycloak.org/server/features[Enabling and disabling " +"features] {section}." +msgstr "" +"有効にするには `{tech_feature_setting}` でサーバーを起動してください。詳細は " +"https://www.keycloak.org/server/features[Enabling and disabling " +"features]{セクション} を参照してください。" + +msgid "" +"curl -X POST \\\n" +" http://localhost:8180{kc_realms_path}/photoz/authz/protection/uma-policy/{resource_id} \\\n" +" -H 'Authorization: Bearer '$access_token \\\n" +" -H 'Cache-Control: no-cache' \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +"\t\"name\": \"Any people manager\",\n" +"\t\"description\": \"Allow access to any people manager\",\n" +"\t\"scopes\": [\"read\"],\n" +"\t\"condition\": \"my-deployed-script.js\"\n" +"}'" +msgstr "" +"curl -X POST \\\n" +" http://localhost:8180{kc_realms_path}/photoz/authz/protection/uma-policy/{resource_id} \\\n" +" -H 'Authorization: Bearer '$access_token \\\n" +" -H 'Cache-Control: no-cache' \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +"\t\"name\": \"Any people manager\",\n" +"\t\"description\": \"Allow access to any people manager\",\n" +"\t\"scopes\": [\"read\"],\n" +"\t\"condition\": \"my-deployed-script.js\"\n" +"}'" + +msgid "" +"It is also possible to set any combination of these access control " +"mechanisms." +msgstr "これらのアクセス・コントロール機構を任意に組み合わせて設定することもできます。" + +msgid "To update an existing permission, send an HTTP PUT request as follows:" +msgstr "既存のパーミッションを更新するには、次のようにHTTP PUTリクエストを送信します。" + +msgid "" +"curl -X PUT \\\n" +" http://localhost:8180{kc_realms_path}/photoz/authz/protection/uma-policy/{permission_id} \\\n" +" -H 'Authorization: Bearer '$access_token \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +" \"id\": \"21eb3fed-02d7-4b5a-9102-29f3f09b6de2\",\n" +" \"name\": \"Any people manager\",\n" +" \"description\": \"Allow access to any people manager\",\n" +" \"type\": \"uma\",\n" +" \"scopes\": [\n" +" \"album:view\"\n" +" ],\n" +" \"logic\": \"POSITIVE\",\n" +" \"decisionStrategy\": \"UNANIMOUS\",\n" +" \"owner\": \"7e22131a-aa57-4f5f-b1db-6e82babcd322\",\n" +" \"roles\": [\n" +" \"user\"\n" +" ]\n" +"}'" +msgstr "" +"curl -X PUT \\\n" +" http://localhost:8180{kc_realms_path}/photoz/authz/protection/uma-policy/{permission_id} \\\n" +" -H 'Authorization: Bearer '$access_token \\\n" +" -H 'Content-Type: application/json' \\\n" +" -d '{\n" +" \"id\": \"21eb3fed-02d7-4b5a-9102-29f3f09b6de2\",\n" +" \"name\": \"Any people manager\",\n" +" \"description\": \"Allow access to any people manager\",\n" +" \"type\": \"uma\",\n" +" \"scopes\": [\n" +" \"album:view\"\n" +" ],\n" +" \"logic\": \"POSITIVE\",\n" +" \"decisionStrategy\": \"UNANIMOUS\",\n" +" \"owner\": \"7e22131a-aa57-4f5f-b1db-6e82babcd322\",\n" +" \"roles\": [\n" +" \"user\"\n" +" ]\n" +"}'" + +msgid "Removing a permission" +msgstr "パーミッションの削除" + +msgid "" +"To remove a permission associated with a resource, send an HTTP DELETE " +"request as follows:" +msgstr "リソースに関連付けられているパーミッションを削除するには、次のようにHTTP DELETEリクエストを送信します。" + +msgid "" +"curl -X DELETE \\\n" +" http://localhost:8180{kc_realms_path}/photoz/authz/protection/uma-policy/{permission_id} \\\n" +" -H 'Authorization: Bearer '$access_token" +msgstr "" +"curl -X DELETE \\\n" +" http://localhost:8180{kc_realms_path}/photoz/authz/protection/uma-policy/{permission_id} \\\n" +" -H 'Authorization: Bearer '$access_token" + +msgid "Querying permission" +msgstr "パーミッションの問い合わせ" + +msgid "" +"To query the permissions associated with a resource, send an HTTP GET " +"request as follows:" +msgstr "リソースに関連付けられているパーミッションを参照するには、次のようにHTTP GETリクエストを送信します。" + +msgid "" +"http://${host}:${port}{kc_realms_path}/${realm}/authz/protection/uma-" +"policy?resource={resource_id}" +msgstr "" +"http://${host}:${port}{kc_realms_path}/${realm}/authz/protection/uma-" +"policy?resource={resource_id}" + +msgid "" +"To query the permissions given its name, send an HTTP GET request as " +"follows:" +msgstr "名前でパーミッションを参照するには、次のようにHTTP GETリクエストを送信します。" + +msgid "" +"http://${host}:${port}{kc_realms_path}/${realm}/authz/protection/uma-" +"policy?name=Any people manager" +msgstr "" +"http://${host}:${port}{kc_realms_path}/${realm}/authz/protection/uma-" +"policy?name=Any people manager" + +msgid "" +"To query the permissions associated with a specific scope, send an HTTP GET " +"request as follows:" +msgstr "特定のスコープに関連付けられているパーミッションを参照するには、次のようにHTTP GETリクエストを送信します。" + +msgid "" +"http://${host}:${port}{kc_realms_path}/${realm}/authz/protection/uma-" +"policy?scope=read" +msgstr "" +"http://${host}:${port}{kc_realms_path}/${realm}/authz/protection/uma-" +"policy?scope=read" + +msgid "To query all permissions, send an HTTP GET request as follows:" +msgstr "すべてのパーミッションを参照するには、次のようにHTTP GETリクエストを送信します。" + +msgid "" +"http://${host}:${port}{kc_realms_path}/${realm}/authz/protection/uma-policy" +msgstr "" +"http://${host}:${port}{kc_realms_path}/${realm}/authz/protection/uma-policy" + +msgid "Requesting party token" +msgstr "リクエスティング・パーティー・トークン" + +msgid "" +"A requesting party token (RPT) is a " +"https://datatracker.ietf.org/doc/html/rfc7519[JSON web token (JWT)] " +"digitally signed using https://datatracker.ietf.org/doc/html/rfc7515[JSON " +"web signature (JWS)]. The token is built based on the OAuth2 access token " +"previously issued by {project_name} to a specific client acting on behalf of" +" a user or on its own behalf." +msgstr "" +"Requesting party token(RPT)は " +"https://datatracker.ietf.org/doc/html/rfc7515[JSON web signature(JWS)] " +"でデジタル署名された https://datatracker.ietf.org/doc/html/rfc7519[JSON web " +"token(JWT)] " +"です。RPTは、{project_name}によって発行されたOAuth2アクセストークンをベースとして、ユーザーの代わりに動作する特定のクライアントに組み込まれます。" + +msgid "When you decode an RPT, you see a payload similar to the following:" +msgstr "RPT をデコードすると、次のようなペイロードが得られます:" + +msgid "" +"{\n" +" \"authorization\": {\n" +" \"permissions\": [\n" +" {\n" +" \"resource_set_id\": \"d2fe9843-6462-4bfc-baba-b5787bb6e0e7\",\n" +" \"resource_set_name\": \"Hello World Resource\"\n" +" }\n" +" ]\n" +" },\n" +" \"jti\": \"d6109a09-78fd-4998-bf89-95730dfd0892-1464906679405\",\n" +" \"exp\": 1464906971,\n" +" \"nbf\": 0,\n" +" \"iat\": 1464906671,\n" +" \"sub\": \"f1888f4d-5172-4359-be0c-af338505d86c\",\n" +" \"typ\": \"kc_ett\",\n" +" \"azp\": \"hello-world-authz-service\"\n" +"}" +msgstr "" +"{\n" +" \"authorization\": {\n" +" \"permissions\": [\n" +" {\n" +" \"resource_set_id\": \"d2fe9843-6462-4bfc-baba-b5787bb6e0e7\",\n" +" \"resource_set_name\": \"Hello World Resource\"\n" +" }\n" +" ]\n" +" },\n" +" \"jti\": \"d6109a09-78fd-4998-bf89-95730dfd0892-1464906679405\",\n" +" \"exp\": 1464906971,\n" +" \"nbf\": 0,\n" +" \"iat\": 1464906671,\n" +" \"sub\": \"f1888f4d-5172-4359-be0c-af338505d86c\",\n" +" \"typ\": \"kc_ett\",\n" +" \"azp\": \"hello-world-authz-service\"\n" +"}" + +msgid "" +"From this token you can obtain all permissions granted by the server from " +"the *permissions* claim." +msgstr "このトークンの *permissions* クレームから、サーバーによって与えられる全てのパーミッションを取得できます。" + +msgid "" +"Also note that permissions are directly related with the resources/scopes " +"you are protecting and completely decoupled from the access control methods " +"that were used to actually grant and issue these same permissions." +msgstr "" +"パーミッションは保護されたリソース/スコープに直接関連していますが、アクセス・コントロール・メソッドからは完全に独立していることに注意してください。" + +msgid "Introspecting a requesting party token" +msgstr "リクエスティング・パーティー・トークンのイントロスペクション" + +msgid "" +"Sometimes you might want to introspect a requesting party token (RPT) to " +"check its validity or obtain the permissions within the token to enforce " +"authorization decisions on the resource server side." +msgstr "" +"場合によっては、リクエスティング・パーティー・トークン(RPT)をイントロスペクトして、その有効性をチェックしたり、トークン内のパーミッションを取得して、リソースサーバー側で認可の決定を行うことがあります。" + +msgid "There are two main use cases where token introspection can help you:" +msgstr "トークン・イントロスペクションが役立つ2つの主なユースケースがあります。" + +msgid "" +"When client applications need to query the token validity to obtain a new " +"one with the same or additional permissions" +msgstr "クライアント・アプリケーションがトークンの有効性を問い合わせて、同じまたは追加のパーミッションを持つ新しいトークンを取得する必要がある場合" + +msgid "" +"When enforcing authorization decisions at the resource server side, " +"especially when none of the built-in <<_enforcer_overview, policy " +"enforcers>> fits your application" +msgstr "" +"リソースサーバー側で認可の決定を実施する場合、特に組み込みの<<_enforcer_overview, " +"ポリシー・エンフォーサー>>がアプリケーションに適合しない場合" + +msgid "Obtaining Information about an RPT" +msgstr "RPTに関する情報の取得" + +msgid "" +"The token introspection is essentially a " +"https://datatracker.ietf.org/doc/html/rfc7662[OAuth2 token " +"introspection]-compliant endpoint from which you can obtain information " +"about an RPT." +msgstr "" +"トークン・イントロスペクションは基本的に、RPTに関する情報を取得するための " +"https://datatracker.ietf.org/doc/html/rfc7662[OAuth2トークン・イントロスペクション] " +"準拠のエンドポイントです。" + +msgid "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/protocol/openid-" +"connect/token/introspect" +msgstr "" +"http://${host}:${port}{kc_realms_path}/${realm_name}/protocol/openid-" +"connect/token/introspect" + +msgid "" +"To introspect an RPT using this endpoint, you can send a request to the " +"server as follows:" +msgstr "このエンドポイントを使用してRPTをイントロスペクションするには、次のようにしてサーバーにリクエストを送信します。" + +msgid "" +"curl -X POST \\\n" +" -H \"Authorization: Basic aGVsbG8td29ybGQtYXV0aHotc2VydmljZTpzZWNyZXQ=\" \\\n" +" -H \"Content-Type: application/x-www-form-urlencoded\" \\\n" +" -d 'token_type_hint=requesting_party_token&token=${RPT}' \\\n" +" \"http://localhost:8080{kc_realms_path}/hello-world-authz/protocol/openid-connect/token/introspect\"" +msgstr "" +"curl -X POST \\\n" +" -H \"Authorization: Basic aGVsbG8td29ybGQtYXV0aHotc2VydmljZTpzZWNyZXQ=\" \\\n" +" -H \"Content-Type: application/x-www-form-urlencoded\" \\\n" +" -d 'token_type_hint=requesting_party_token&token=${RPT}' \\\n" +" \"http://localhost:8080{kc_realms_path}/hello-world-authz/protocol/openid-connect/token/introspect\"" + +msgid "" +"The request above is using HTTP BASIC and passing the client's credentials " +"(client ID and secret) to authenticate the client attempting to introspect " +"the token, but you can use any other client authentication method supported " +"by {project_name}." +msgstr "" +"上記のリクエストは、HTTP " +"BASICを使用し、クライアントのクレデンシャル(クライアントIDとシークレット)を渡してトークンのイントロスペクションを試みるクライアントを認証しますが、{project_name}でサポートされている他のクライアント認証方式を使用することもできます。" + +msgid "The introspection endpoint expects two parameters:" +msgstr "イントロスペクション・エンドポイントには2つのパラメータが必要です。" + +msgid "*token_type_hint*" +msgstr "*token_type_hint*" + +msgid "" +"Use *requesting_party_token* as the value for this parameter, which " +"indicates that you want to introspect an RPT." +msgstr "" +"このパラメーターの値として *requesting_party_token* を使用します。これは、RPTをイントロスペクションすることを示します。" + +msgid "*token*" +msgstr "*token*" + +msgid "" +"Use the token string as it was returned by the server during the " +"authorization process as the value for this parameter." +msgstr "このパラメーターの値として、認可処理中にサーバーから返されたトークン文字列を使用します。" + +msgid "As a result, the server response is:" +msgstr "その結果、サーバーの応答は次のようになります。" + +msgid "" +"{\n" +" \"permissions\": [\n" +" {\n" +" \"resource_id\": \"90ccc6fc-b296-4cd1-881e-089e1ee15957\",\n" +" \"resource_name\": \"Hello World Resource\"\n" +" }\n" +" ],\n" +" \"exp\": 1465314139,\n" +" \"nbf\": 0,\n" +" \"iat\": 1465313839,\n" +" \"aud\": \"hello-world-authz-service\",\n" +" \"active\": true\n" +"}" +msgstr "" +"{\n" +" \"permissions\": [\n" +" {\n" +" \"resource_id\": \"90ccc6fc-b296-4cd1-881e-089e1ee15957\",\n" +" \"resource_name\": \"Hello World Resource\"\n" +" }\n" +" ],\n" +" \"exp\": 1465314139,\n" +" \"nbf\": 0,\n" +" \"iat\": 1465313839,\n" +" \"aud\": \"hello-world-authz-service\",\n" +" \"active\": true\n" +"}" + +msgid "If the RPT is not active, this response is returned instead:" +msgstr "RPTがアクティブでない場合、代わりにこのレスポンスが返されます。" + +msgid "" +"{\n" +" \"active\": false\n" +"}" +msgstr "" +"{\n" +" \"active\": false\n" +"}" + +msgid "Do I need to invoke the server every time I want to introspect an RPT?" +msgstr "RPTをイントロスペクションするたびにサーバーを呼び出す必要があるか?" + +msgid "" +"No. Just like a regular access token issued by a {project_name} server, RPTs" +" also use the JSON web token (JWT) specification as the default format." +msgstr "" +"{project_name}サーバーが発行する通常のアクセストークンと同様に、RPTもJWT(JSON Web " +"Token)仕様をデフォルトのフォーマットとして使用します。" + +msgid "" +"If you want to validate these tokens without a call to the remote " +"introspection endpoint, you can decode the RPT and query for its validity " +"locally. Once you decode the token, you can also use the permissions within " +"the token to enforce authorization decisions." +msgstr "" +"リモート・イントロスペクション・エンドポイントを呼び出さずにこれらのトークンを検証する場合は、RPTをデコードしてローカルでその有効性を問い合わせることができます。トークンをデコードすると、トークン内のパーミッションを使用して認可の決定を行うこともできます。" + +msgid "This is essentially what the policy enforcers do. Be sure to:" +msgstr "これは、基本的にポリシー・エンフォーサーが行うことです。以下を確認してください。" + +msgid "Validate the signature of the RPT (based on the realm's public key)" +msgstr "RPTのシグネチャーを検証する(レルムの公開鍵に基づいて)" + +msgid "Query for token validity based on its _exp_, _iat_, and _aud_ claims" +msgstr "_exp_ 、_iat_ 、および _aud_ のクレームに基づいてトークンの有効性を問い合わせる" + +msgid "https://datatracker.ietf.org/doc/html/rfc7519[JSON web token (JWT)]" +msgstr "https://datatracker.ietf.org/doc/html/rfc7519[JSON web token (JWT)]" + +msgid "<<_enforcer_overview, policy enforcers>>" +msgstr "<<_enforcer_overview, ポリシー・エンフォーサー>>" + +msgid "Authorization client java API" +msgstr "認可クライアントJava API" + +msgid "" +"Depending on your requirements, a resource server should be able to manage " +"resources remotely or even check for permissions programmatically. If you " +"are using Java, you can access the {project_name} Authorization Services " +"using the Authorization Client API." +msgstr "" +"要件に応じて、リソースサーバーはリソースをリモートで管理したり、プログラムでパーミッションをチェックしたりすることもできます。Javaを使用している場合は、認可クライアントAPIを使用して{project_name}認可サービスにアクセスできます。" + +msgid "" +"It is targeted for resource servers that want to access the different " +"endpoints provided by the server such as the Token Endpoint, Resource, and " +"Permission management endpoints." +msgstr "" +"これは、トークン・エンドポイント、リソース・エンドポイント、およびパーミッション管理エンドポイントなど、サーバーが提供するさまざまなエンドポイントに、アクセスするリソースサーバーを対象としています。" + +msgid "Maven dependency" +msgstr "Mavenの依存関係" + +msgid "" +"\n" +" \n" +" org.keycloak\n" +" keycloak-authz-client\n" +" ${KEYCLOAK_VERSION}\n" +" \n" +"" +msgstr "" +"\n" +" \n" +" org.keycloak\n" +" keycloak-authz-client\n" +" ${KEYCLOAK_VERSION}\n" +" \n" +"" + +msgid "" +"The client configuration is defined in a ``keycloak.json`` file as follows:" +msgstr "クライアントの設定は、 ``keycloak.json`` ファイルで次のように定義されています。" + +msgid "" +"{\n" +" \"realm\": \"hello-world-authz\",\n" +" \"auth-server-url\" : \"http://localhost:8080{kc_base_path}\",\n" +" \"resource\" : \"hello-world-authz-service\",\n" +" \"credentials\": {\n" +" \"secret\": \"secret\"\n" +" }\n" +"}" +msgstr "" +"{\n" +" \"realm\": \"hello-world-authz\",\n" +" \"auth-server-url\" : \"http://localhost:8080{kc_base_path}\",\n" +" \"resource\" : \"hello-world-authz-service\",\n" +" \"credentials\": {\n" +" \"secret\": \"secret\"\n" +" }\n" +"}" + +msgid "*realm* (required)" +msgstr "*realm* (必須)" + +msgid "The name of the realm." +msgstr "レルムの名前。" + +msgid "*auth-server-url* (required)" +msgstr "*auth-server-url* (必須)" + +msgid "" +"The base URL of the {project_name} server. All other {project_name} pages " +"and REST service endpoints are derived from this. It is usually in the form " +"https://host:port{kc_base_path}." +msgstr "" +"The base URL of the {project_name} server. All other {project_name} pages " +"and REST service endpoints are derived from this. It is usually in the form " +"https://host:port{kc_base_path}." + +msgid "*resource* (required)" +msgstr "*resource* (必須)" + +msgid "" +"The client-id of the application. Each application has a client-id that is " +"used to identify the application." +msgstr "アプリケーションのクライアントID。各アプリケーションには、アプリケーションを識別するために使用されるクライアントIDがあります。" + +msgid "*credentials* (required)" +msgstr "*credentials* (必須)" + +msgid "" +"Specifies the credentials of the application. This is an object notation " +"where the key is the credential type and the value is the value of the " +"credential type." +msgstr "" +"アプリケーションのクレデンシャルを指定します。これは、キーがクレデンシャル・タイプであり、値がクレデンシャル・タイプの値であるオブジェクトの表記法です。" + +msgid "" +"The configuration file is usually located in your application's classpath, " +"the default location from where the client is going to try to find a " +"```keycloak.json``` file." +msgstr "" +"設定ファイルは通常、クライアントの ```keycloak.json``` " +"ファイルを見つける際のデフォルトのローケーションであるアプリケーションのクラスパスにあります。" + +msgid "Creating the authorization client" +msgstr "認可クライアントの作成" + +msgid "" +"Considering you have a ```keycloak.json``` file in your classpath, you can " +"create a new ```AuthzClient``` instance as follows:" +msgstr "" +"クラスパスに ```keycloak.json``` ファイルがあることを前提として、次のように新しい ```AuthzClient``` " +"インスタンスを作成することができます。" + +msgid "" +" // create a new instance based on the configuration defined in a keycloak.json located in your classpath\n" +" AuthzClient authzClient = AuthzClient.create();" +msgstr "" +" // create a new instance based on the configuration defined in a keycloak.json located in your classpath\n" +" AuthzClient authzClient = AuthzClient.create();" + +msgid "Obtaining user entitlements" +msgstr "ユーザー・エンタイトルメントの取得" + +msgid "Here is an example illustrating how to obtain user entitlements:" +msgstr "ユーザー・エンタイトルメントを取得する方法の例を示します。" + +msgid "" +"// create a new instance based on the configuration defined in keycloak.json\n" +"AuthzClient authzClient = AuthzClient.create();\n" +"\n" +"// create an authorization request\n" +"AuthorizationRequest request = new AuthorizationRequest();\n" +"\n" +"// send the entitlement request to the server in order to\n" +"// obtain an RPT with all permissions granted to the user\n" +"AuthorizationResponse response = authzClient.authorization(\"alice\", \"alice\").authorize(request);\n" +"String rpt = response.getToken();\n" +"\n" +"System.out.println(\"You got an RPT: \" + rpt);\n" +"\n" +"// now you can use the RPT to access protected resources on the resource server" +msgstr "" +"// create a new instance based on the configuration defined in keycloak.json\n" +"AuthzClient authzClient = AuthzClient.create();\n" +"\n" +"// create an authorization request\n" +"AuthorizationRequest request = new AuthorizationRequest();\n" +"\n" +"// send the entitlement request to the server in order to\n" +"// obtain an RPT with all permissions granted to the user\n" +"AuthorizationResponse response = authzClient.authorization(\"alice\", \"alice\").authorize(request);\n" +"String rpt = response.getToken();\n" +"\n" +"System.out.println(\"You got an RPT: \" + rpt);\n" +"\n" +"// now you can use the RPT to access protected resources on the resource server" + +msgid "" +"Here is an example illustrating how to obtain user entitlements for a set of" +" one or more resources:" +msgstr "1つ以上のリソースのセットに対してユーザー・エンタイトルメントを取得する方法の例を示します。" + +msgid "" +"// create a new instance based on the configuration defined in keycloak.json\n" +"AuthzClient authzClient = AuthzClient.create();\n" +"\n" +"// create an authorization request\n" +"AuthorizationRequest request = new AuthorizationRequest();\n" +"\n" +"// add permissions to the request based on the resources and scopes you want to check access\n" +"request.addPermission(\"Default Resource\");\n" +"\n" +"// send the entitlement request to the server in order to\n" +"// obtain an RPT with permissions for a single resource\n" +"AuthorizationResponse response = authzClient.authorization(\"alice\", \"alice\").authorize(request);\n" +"String rpt = response.getToken();\n" +"\n" +"System.out.println(\"You got an RPT: \" + rpt);\n" +"\n" +"// now you can use the RPT to access protected resources on the resource server" +msgstr "" +"// create a new instance based on the configuration defined in keycloak.json\n" +"AuthzClient authzClient = AuthzClient.create();\n" +"\n" +"// create an authorization request\n" +"AuthorizationRequest request = new AuthorizationRequest();\n" +"\n" +"// add permissions to the request based on the resources and scopes you want to check access\n" +"request.addPermission(\"Default Resource\");\n" +"\n" +"// send the entitlement request to the server in order to\n" +"// obtain an RPT with permissions for a single resource\n" +"AuthorizationResponse response = authzClient.authorization(\"alice\", \"alice\").authorize(request);\n" +"String rpt = response.getToken();\n" +"\n" +"System.out.println(\"You got an RPT: \" + rpt);\n" +"\n" +"// now you can use the RPT to access protected resources on the resource server" + +msgid "Creating a resource using the protection API" +msgstr "Protection APIを使用したリソースの作成" + +msgid "" +"// create a new instance based on the configuration defined in keycloak.json\n" +"AuthzClient authzClient = AuthzClient.create();\n" +"\n" +"// create a new resource representation with the information we want\n" +"ResourceRepresentation newResource = new ResourceRepresentation();\n" +"\n" +"newResource.setName(\"New Resource\");\n" +"newResource.setType(\"urn:hello-world-authz:resources:example\");\n" +"\n" +"newResource.addScope(new ScopeRepresentation(\"urn:hello-world-authz:scopes:view\"));\n" +"\n" +"ProtectedResource resourceClient = authzClient.protection().resource();\n" +"ResourceRepresentation existingResource = resourceClient.findByName(newResource.getName());\n" +"\n" +"if (existingResource != null) {\n" +" resourceClient.delete(existingResource.getId());\n" +"}\n" +"\n" +"// create the resource on the server\n" +"ResourceRepresentation response = resourceClient.create(newResource);\n" +"String resourceId = response.getId();\n" +"\n" +"// query the resource using its newly generated id\n" +"ResourceRepresentation resource = resourceClient.findById(resourceId);\n" +"\n" +"System.out.println(resource);" +msgstr "" +"// create a new instance based on the configuration defined in keycloak.json\n" +"AuthzClient authzClient = AuthzClient.create();\n" +"\n" +"// create a new resource representation with the information we want\n" +"ResourceRepresentation newResource = new ResourceRepresentation();\n" +"\n" +"newResource.setName(\"New Resource\");\n" +"newResource.setType(\"urn:hello-world-authz:resources:example\");\n" +"\n" +"newResource.addScope(new ScopeRepresentation(\"urn:hello-world-authz:scopes:view\"));\n" +"\n" +"ProtectedResource resourceClient = authzClient.protection().resource();\n" +"ResourceRepresentation existingResource = resourceClient.findByName(newResource.getName());\n" +"\n" +"if (existingResource != null) {\n" +" resourceClient.delete(existingResource.getId());\n" +"}\n" +"\n" +"// create the resource on the server\n" +"ResourceRepresentation response = resourceClient.create(newResource);\n" +"String resourceId = response.getId();\n" +"\n" +"// query the resource using its newly generated id\n" +"ResourceRepresentation resource = resourceClient.findById(resourceId);\n" +"\n" +"System.out.println(resource);" + +msgid "Introspecting an RPT" +msgstr "RPTのイントロスペクション" + +msgid "" +"// create a new instance based on the configuration defined in keycloak.json\n" +"AuthzClient authzClient = AuthzClient.create();\n" +"\n" +"// send the authorization request to the server in order to\n" +"// obtain an RPT with all permissions granted to the user\n" +"AuthorizationResponse response = authzClient.authorization(\"alice\", \"alice\").authorize();\n" +"String rpt = response.getToken();\n" +"\n" +"// introspect the token\n" +"TokenIntrospectionResponse requestingPartyToken = authzClient.protection().introspectRequestingPartyToken(rpt);\n" +"\n" +"System.out.println(\"Token status is: \" + requestingPartyToken.getActive());\n" +"System.out.println(\"Permissions granted by the server: \");\n" +"\n" +"for (Permission granted : requestingPartyToken.getPermissions()) {\n" +" System.out.println(granted);\n" +"}" +msgstr "" +"// create a new instance based on the configuration defined in keycloak.json\n" +"AuthzClient authzClient = AuthzClient.create();\n" +"\n" +"// send the authorization request to the server in order to\n" +"// obtain an RPT with all permissions granted to the user\n" +"AuthorizationResponse response = authzClient.authorization(\"alice\", \"alice\").authorize();\n" +"String rpt = response.getToken();\n" +"\n" +"// introspect the token\n" +"TokenIntrospectionResponse requestingPartyToken = authzClient.protection().introspectRequestingPartyToken(rpt);\n" +"\n" +"System.out.println(\"Token status is: \" + requestingPartyToken.getActive());\n" +"System.out.println(\"Permissions granted by the server: \");\n" +"\n" +"for (Permission granted : requestingPartyToken.getPermissions()) {\n" +" System.out.println(granted);\n" +"}" + +msgid "Policy enforcers" +msgstr "ポリシー・エンフォーサー" + +msgid "" +"Policy Enforcement Point (PEP) is a design pattern and as such you can " +"implement it in different ways. {project_name} provides all the necessary " +"means to implement PEPs for different platforms, environments, and " +"programming languages. {project_name} Authorization Services presents a " +"RESTful API, and leverages OAuth2 authorization capabilities for fine-" +"grained authorization using a centralized authorization server." +msgstr "" +"ポリシー実施ポイント(PEP)はデザインパターンの1つであり、さまざまな方法で実装できます。{project_name}は、さまざまなプラットフォーム、環境、およびプログラミング言語に対してPEPを実装するために必要なすべての手段を提供します。{project_name}認可サービスは、RESTfulなAPIを提供し、一元的な認可サーバーを使用してきめ細かな認可を行うための、OAuth2認可機能を活用します。" + +msgid "" +"A PEP is responsible for enforcing access decisions from the {project_name} " +"server where these decisions are taken by evaluating the policies associated" +" with a protected resource. It acts as a filter or interceptor in your " +"application in order to check whether or not a particular request to a " +"protected resource can be fulfilled based on the permissions granted by " +"these decisions." +msgstr "" +"PEPは、保護されたリソースに関連するポリシーを評価することによって、これらの決定が行われる{project_name}サーバーからのアクセス決定を強制する責任があります。これらの決定によって与えられたパーミッションに基づいて、保護されたリソースへの特定の要求が満たされているかどうかをチェックするために、アプリケーションのフィルターまたはインターセプターとして機能します。" + +msgid "" +"{project_name} provides built-in support for enabling the *{project_name} " +"Policy Enforcer* to Java applications with built-in support to secure " +"JakartaEE-compliant frameworks and web containers. If you are using Maven, " +"you should configure the following dependency to your project:" +msgstr "" +"{project_name} は、Jakarta " +"EE準拠のフレームワークとWebコンテナーをセキュリティー保護するためのビルトインサポートを使用して、Javaアプリケーションに " +"*{project_name} Policy Enforcer* " +"を有効にするためのビルトイン・サポートを提供します。Mavenを使用している場合は、以下の依存関係をプロジェクトに追加する必要があります。" + +msgid "" +"\n" +" org.keycloak\n" +" keycloak-policy-enforcer\n" +" ${keycloak.version}\n" +"" +msgstr "" +"\n" +" org.keycloak\n" +" keycloak-policy-enforcer\n" +" ${keycloak.version}\n" +"" + +msgid "" +"When you enable the policy enforcer all requests sent to your application " +"are intercepted and access to protected resources will be granted depending " +"on the permissions granted by {project_name} to the identity making the " +"request." +msgstr "" +"ポリシー・エンフォーサーを有効にすると、アプリケーションに送信されたすべてのリクエストはインターセプトされ、リクエストしているアイデンティティーに{project_name}が付与したパーミッションに応じて、保護されたリソースへのアクセスが許可されます。" + +msgid "" +"Policy enforcement is strongly linked to your application's paths and the " +"<<_resource_overview, resources>> you created for a resource server using " +"the {project_name} Administration Console. By default, when you create a " +"resource server, {project_name} creates a <<_resource_server_default_config," +" default configuration>> for your resource server so you can enable policy " +"enforcement quickly." +msgstr "" +"ポリシー適用は、アプリケーションのパスと、{project_name}管理コンソールを使用してリソースサーバー用に作成した<<_resource_overview," +" " +"リソース>>に強く関連しています。デフォルトでは、リソースサーバーを作成すると、{project_name}はリソースサーバーの<<_resource_server_default_config," +" デフォルト設定>>を作成し、ポリシー適用を即時に有効化することができます。" + +msgid "" +"The policy enforcer configuration uses a JSON format and most of the time " +"you don't need to set anything if you want to automatically resolve the " +"protected paths based on the resources available from your resource server." +msgstr "" +"ポリシー・エンフォーサーの設定はJSON形式を使用しており、リソースサーバーから利用可能なリソースに基づいて保護されたパスを自動的に解決したい場合は、ほとんどの場合、何も設定する必要はありません。" + +msgid "" +"If you want to manually define the resources being protected, you can use a " +"slightly more verbose format:" +msgstr "保護するリソースを手動で定義したい場合は、以下のようにもう少し冗長な書式を使うことができます。" + +msgid "" +"{\n" +" \"enforcement-mode\" : \"ENFORCING\",\n" +" \"paths\": [\n" +" {\n" +" \"path\" : \"/users/*\",\n" +" \"methods\" : [\n" +" {\n" +" \"method\": \"GET\",\n" +" \"scopes\" : [\"urn:app.com:scopes:view\"]\n" +" },\n" +" {\n" +" \"method\": \"POST\",\n" +" \"scopes\" : [\"urn:app.com:scopes:create\"]\n" +" }\n" +" ]\n" +" }\n" +" ]\n" +"}" +msgstr "" +"{\n" +" \"enforcement-mode\" : \"ENFORCING\",\n" +" \"paths\": [\n" +" {\n" +" \"path\" : \"/users/*\",\n" +" \"methods\" : [\n" +" {\n" +" \"method\": \"GET\",\n" +" \"scopes\" : [\"urn:app.com:scopes:view\"]\n" +" },\n" +" {\n" +" \"method\": \"POST\",\n" +" \"scopes\" : [\"urn:app.com:scopes:create\"]\n" +" }\n" +" ]\n" +" }\n" +" ]\n" +"}" + +msgid "The following is a description of each configuration option:" +msgstr "以下は、各設定オプションの説明です。" + +msgid "*enforcement-mode*" +msgstr "*enforcement-mode*" + +msgid "Specifies how policies are enforced." +msgstr "ポリシーの適用方法を指定します。" + +msgid "*ENFORCING*" +msgstr "*ENFORCING*" + +msgid "" +"(default mode) Requests are denied by default even when no policy is " +"associated with a given resource." +msgstr "(デフォルトモード)与えられたリソースにポリシーが関連付けられていない場合でも、リクエストはデフォルトで拒否されます。" + +msgid "*PERMISSIVE*" +msgstr "*PERMISSIVE*" + +msgid "" +"Requests are allowed even when no policy is associated with a given " +"resource." +msgstr "与えられたリソースにポリシーが関連付けられていない場合でも、リクエストは許可されます。" + +msgid "*DISABLED*" +msgstr "*DISABLED*" + +msgid "" +"Completely disables the evaluation of policies and allows access to any " +"resource. When `enforcement-mode` is `DISABLED`, applications are still able" +" to obtain all permissions granted by {project_name} through the " +"<<_enforcer_authorization_context, Authorization Context>>" +msgstr "" +"ポリシーの評価を完全に無効にし、あらゆるリソースへのアクセスを許可します。 `enforcement-mode` が `DISABLED` " +"の場合、アプリケーションは <<_enforcer_authorization_context, 認可コンテキスト>> " +"を通して{project_name}から付与されたすべてのパーミッションを取得することができます。" + +msgid "*on-deny-redirect-to*" +msgstr "*on-deny-redirect-to*" + +msgid "" +"Defines a URL where a client request is redirected when an \"access denied\"" +" message is obtained from the server. By default, the adapter responds with " +"a 403 HTTP status code." +msgstr "" +"サーバーから\"access " +"denied\"のメッセージを取得したときに、クライアント・リクエストがリダイレクトされるURLを定義します。デフォルトでは、アダプターは403 " +"HTTPステータスコードで応答します。" + +msgid "*path-cache*" +msgstr "*path-cache*" + +msgid "" +"Defines how the policy enforcer should track associations between paths in " +"your application and resources defined in {project_name}. The cache is " +"needed to avoid unnecessary requests to a {project_name} server by caching " +"associations between paths and protected resources." +msgstr "" +"ポリシー・エンフォーサーがアプリケーション内のパスと{project_name}で定義されているリソースとの間の関連性を追跡する方法を定義します。キャッシュは、パスと保護されたリソース間の関連付けをキャッシュすることによって、{project_name}サーバーへの不要なリクエストを回避するために必要です。" + +msgid "*lifespan*" +msgstr "*lifespan*" + +msgid "" +"Defines the time in milliseconds when the entry should be expired. If not " +"provided, default value is *30000*. A value equal to 0 can be set to " +"completely disable the cache. A value equal to -1 can be set to disable the " +"expiry of the cache." +msgstr "" +"エントリーを期限切れにする時間をミリ秒単位で定義します。指定されていない場合、デフォルト値は *30000* " +"です。0を設定してキャッシュを完全に無効にすることができます。または、-1を設定してキャッシュの有効期限を無効にすることもできます。" + +msgid "*max-entries*" +msgstr "*max-entries*" + +msgid "" +"Defines the limit of entries that should be kept in the cache. If not " +"provided, default value is *1000*." +msgstr "キャッシュに保持する必要があるエントリーの制限を定義します。指定されていない場合、デフォルト値は *1000* です。" + +msgid "*paths*" +msgstr "*paths*" + +msgid "" +"Specifies the paths to protect. This configuration is optional. If not " +"defined, the policy enforcer discovers all paths by fetching the resources " +"you defined to your application in {project_name}, where these resources are" +" defined with `URIS` representing some paths in your application." +msgstr "" +"保護するパスを指定します。この設定はオプションです。定義されていない場合、ポリシー・エンフォーサーは{project_name}でアプリケーションに定義したリソースを取得することですべてのパスを検出します。これらのリソースはアプリケーションでいくつかのパスを表す" +" `URIS` で定義されています。" + +msgid "*name*" +msgstr "*name*" + +msgid "" +"The name of a resource on the server that is to be associated with a given " +"path. When used in conjunction with a *path*, the policy enforcer ignores " +"the resource's *URIS* property and uses the path you provided instead." +msgstr "" +"指定されたパスに関連付けられるサーバー上のリソースの名前。ポリシー・エンフォーサーは、 *path* と組み合わせて使用すると、リソースの *URIS*" +" プロパティーを無視し、代わりに指定したパスを使用します。" + +msgid "*path*" +msgstr "*path*" + +msgid "" +"(required) A URI relative to the application's context path. If this option " +"is specified, the policy enforcer queries the server for a resource with a " +"*URI* with the same value. Currently a very basic logic for path matching is" +" supported. Examples of valid paths are:" +msgstr "" +"(必須)アプリケーションのコンテキストパスに関連するURI。このオプションを指定すると、ポリシー・エンフォーサーは、同じ値の *URI* " +"を持つリソースをサーバーに問い合わせます。現在、パスマッチングのための最も基本的なロジックがサポートされています。有効なパスの例は次のとおりです。" + +msgid "Wildcards: `/*`" +msgstr "ワイルドカード: `/*`" + +msgid "Suffix: `/*.html`" +msgstr "サフィックス: `/*.html`" + +msgid "Sub-paths: `/path/*`" +msgstr "サブパス: `/path/*`" + +msgid "Path parameters: /resource/{id}" +msgstr "パスパラメーター:/resource/{id}" + +msgid "Exact match: /resource" +msgstr "完全一致:/resource" + +msgid "" +"Patterns: /{version}/resource, /api/{version}/resource, " +"/api/{version}/resource/*" +msgstr "" +"パターン:/{version}/resource、 /api/{version}/resource、 /api/{version}/resource/*" + +msgid "*methods*" +msgstr "*methods*" + +msgid "" +"The HTTP methods (for example, GET, POST, PATCH) to protect and how they are" +" associated with the scopes for a given resource in the server." +msgstr "" +"保護するHTTPメソッド(GET、POST、PATCHなど)と、サーバー内の特定のリソースのスコープにどのように関連付けられているかを示します。" + +msgid "*method*" +msgstr "*method*" + +msgid "The name of the HTTP method." +msgstr "HTTPメソッドの名前。" + +msgid "*scopes*" +msgstr "*scopes*" + +msgid "" +"An array of strings with the scopes associated with the method. When you " +"associate scopes with a specific method, the client trying to access a " +"protected resource (or path) must provide an RPT that grants permission to " +"all scopes specified in the list. For example, if you define a method _POST_" +" with a scope _create_, the RPT must contain a permission granting access to" +" the _create_ scope when performing a POST to the path." +msgstr "" +"メソッドに関連付けられたスコープを持つ文字列の配列。スコープを特定のメソッドに関連付けると、保護されたリソース(またはパス)にアクセスしようとするクライアントは、そのリストに指定されたすべてのスコープにパーミッションを与えるRPTを提供する必要があります。たとえば、スコープ" +" _create_ を持つメソッド _POST_ を定義した場合、RPTにはパスへのPOSTを実行したときに _create_ " +"スコープへのアクセスを許可するパーミッションが含まれていなければなりません。" + +msgid "*scopes-enforcement-mode*" +msgstr "*scopes-enforcement-mode*" + +msgid "" +"A string referencing the enforcement mode for the scopes associated with a " +"method. Values can be *ALL* or *ANY*. If *ALL*, all defined scopes must be " +"granted in order to access the resource using that method. If *ANY*, at " +"least one scope should be granted in order to gain access to the resource " +"using that method. By default, enforcement mode is set to *ALL*." +msgstr "" +"メソッドに関連付けられたスコープの適用モードを参照する文字列。値は *ALL* または *ANY* にすることができます。 *ALL* " +"の場合、そのメソッドを使用してリソースにアクセスするには、すべての定義されたスコープを付与する必要があります。 *ANY* " +"の場合は、そのメソッドを使用してリソースにアクセスするために、少なくとも1つのスコープを付与する必要があります。デフォルトでは、適用モードは *ALL*" +" に設定されています。" + +msgid "*claim-information-point*" +msgstr "*claim-information-point*" + +msgid "" +"Defines a set of one or more claims that must be resolved and pushed to the " +"{project_name} server in order to make these claims available to policies. " +"See <<_enforcer_claim_information_point, Claim Information Point>> for more " +"details." +msgstr "" +"これらのクレームをポリシーで利用できるようにするために解決され、{project_name}サーバーにプッシュされなければならない1つ以上のクレームのセットを定義します。詳細については、<<_enforcer_claim_information_point," +" Claim Information Point>>を参照してください。" + +msgid "*lazy-load-paths*" +msgstr "*lazy-load-paths*" + +msgid "" +"Specifies how the adapter should fetch the server for resources associated " +"with paths in your application. If *true*, the policy enforcer is going to " +"fetch resources on-demand accordingly with the path being requested. This " +"configuration is specially useful when you do not want to fetch all " +"resources from the server during deployment (in case you have provided no " +"`paths`) or in case you have defined only a sub set of `paths` and want to " +"fetch others on-demand." +msgstr "" +"アプリケーション内のパスに関連付けられたリソースを、アダプターがサーバーから取得する方法を指定します。 *true* " +"の場合、ポリシー・エンフォーサーは要求されたパスに応じたリソースをオンデマンドで取得します。この設定は、デプロイ時にサーバーからすべてのリソースを取得したくない場合(" +" `paths` を指定しなかった場合)や、 `paths` のサブセットのみを定義していて他のリソースをオンデマンドで取得したい場合に便利です。" + +msgid "*http-method-as-scope*" +msgstr "*http-method-as-scope*" + +msgid "" +"Specifies how scopes should be mapped to HTTP methods. If set to *true*, the" +" policy enforcer will use the HTTP method from the current request to check " +"whether or not access should be granted. When enabled, make sure your " +"resources in {project_name} are associated with scopes representing each " +"HTTP method you are protecting." +msgstr "" +"スコープをHTTPメソッドにマッピングする方法を指定します。 *true* " +"に設定されている場合、ポリシー・エンフォーサーは現在のリクエストからのHTTPメソッドを使用して、アクセスを許可する必要があるかどうかをチェックします。有効になっている場合は、{project_name}のリソースが保護している各HTTPメソッドを表すスコープに関連付けられていることを確認してください。" + +msgid "" +"Defines a set of one or more *global* claims that must be resolved and " +"pushed to the {project_name} server in order to make these claims available " +"to policies. See <<_enforcer_claim_information_point, Claim Information " +"Point>> for more details." +msgstr "" +"これらのクレームをポリシーで利用できるようにするために解決され、{project_name}サーバーにプッシュされなければならない1つ以上の " +"*global* クレームのセットを定義します。詳細については、<<_enforcer_claim_information_point, Claim " +"Information Point>>を参照してください。" + +msgid "Claim Information Point" +msgstr "クレーム情報ポイント" + +msgid "" +"A Claim Information Point (CIP) is responsible for resolving claims and " +"pushing these claims to the {project_name} server in order to provide more " +"information about the access context to policies. They can be defined as a " +"configuration option to the policy-enforcer in order to resolve claims from " +"different sources, such as:" +msgstr "" +"クレーム情報ポイント(CIP)は、クレームを解決し、それらのクレームを{project_name}サーバーにプッシュすることにより、ポリシーへのアクセス・コンテキストに関する詳細情報を提供します。さまざまなソースからの要求を解決するために、次のようなポリシー・エンフォーサーの設定オプションとして定義できます。" + +msgid "HTTP Request (parameters, headers, body, etc)" +msgstr "HTTPリクエスト(パラメーター、ヘッダー、ボディーなど)" + +msgid "External HTTP Service" +msgstr "外部HTTPサービス" + +msgid "Static values defined in configuration" +msgstr "設定で定義された静的な値" + +msgid "Any other source by implementing the Claim Information Provider SPI" +msgstr "クレーム情報プロバイダーSPIを実装することによる他のソース" + +msgid "" +"When pushing claims to the {project_name} server, policies can base " +"decisions not only on who a user is but also by taking context and contents " +"into account, based on who, what, why, when, where, and which for a given " +"transaction. It is all about Contextual-based Authorization and how to use " +"runtime information in order to support fine-grained authorization " +"decisions." +msgstr "" +"クレームを{project_name}サーバーにプッシュすると、ポリシーは、ユーザーが誰であるかだけでなく、コンテキストとコンテンツを考慮して決定を下すことができます(トランザクションに対して誰が、何を、いつ、どこで、どのような、に基づいて)。それはコンテキストベースの認可と、きめ細かい認可決定をサポートするためのランタイム情報の使用方法に関するすべてのものです。" + +msgid "Obtaining information from the HTTP request" +msgstr "HTTPリクエストからの情報の取得" + +msgid "" +"Here are several examples showing how you can extract claims from an HTTP " +"request:" +msgstr "HTTPリクエストからクレームを抽出する方法を示すいくつかの例を以下に示します。" + +msgid "keycloak.json" +msgstr "keycloak.json" + +msgid "" +"{\n" +" \"paths\": [\n" +" {\n" +" \"path\": \"/protected/resource\",\n" +" \"claim-information-point\": {\n" +" \"claims\": {\n" +" \"claim-from-request-parameter\": \"{request.parameter['a']}\",\n" +" \"claim-from-header\": \"{request.header['b']}\",\n" +" \"claim-from-cookie\": \"{request.cookie['c']}\",\n" +" \"claim-from-remoteAddr\": \"{request.remoteAddr}\",\n" +" \"claim-from-method\": \"{request.method}\",\n" +" \"claim-from-uri\": \"{request.uri}\",\n" +" \"claim-from-relativePath\": \"{request.relativePath}\",\n" +" \"claim-from-secure\": \"{request.secure}\",\n" +" \"claim-from-json-body-object\": \"{request.body['/a/b/c']}\",\n" +" \"claim-from-json-body-array\": \"{request.body['/d/1']}\",\n" +" \"claim-from-body\": \"{request.body}\",\n" +" \"claim-from-static-value\": \"static value\",\n" +" \"claim-from-multiple-static-value\": [\"static\", \"value\"],\n" +" \"param-replace-multiple-placeholder\": \"Test {keycloak.access_token['/custom_claim/0']} and {request.parameter['a']}\"\n" +" }\n" +" }\n" +" }\n" +" ]\n" +"}" +msgstr "" +"{\n" +" \"paths\": [\n" +" {\n" +" \"path\": \"/protected/resource\",\n" +" \"claim-information-point\": {\n" +" \"claims\": {\n" +" \"claim-from-request-parameter\": \"{request.parameter['a']}\",\n" +" \"claim-from-header\": \"{request.header['b']}\",\n" +" \"claim-from-cookie\": \"{request.cookie['c']}\",\n" +" \"claim-from-remoteAddr\": \"{request.remoteAddr}\",\n" +" \"claim-from-method\": \"{request.method}\",\n" +" \"claim-from-uri\": \"{request.uri}\",\n" +" \"claim-from-relativePath\": \"{request.relativePath}\",\n" +" \"claim-from-secure\": \"{request.secure}\",\n" +" \"claim-from-json-body-object\": \"{request.body['/a/b/c']}\",\n" +" \"claim-from-json-body-array\": \"{request.body['/d/1']}\",\n" +" \"claim-from-body\": \"{request.body}\",\n" +" \"claim-from-static-value\": \"static value\",\n" +" \"claim-from-multiple-static-value\": [\"static\", \"value\"],\n" +" \"param-replace-multiple-placeholder\": \"Test {keycloak.access_token['/custom_claim/0']} and {request.parameter['a']}\"\n" +" }\n" +" }\n" +" }\n" +" ]\n" +"}" + +msgid "Obtaining information from an external HTTP service" +msgstr "外部HTTPサービスからの情報の取得" + +msgid "" +"Here are several examples showing how you can extract claims from an " +"external HTTP Service:" +msgstr "外部HTTPサービスからクレームを抽出する方法を示すいくつかの例を以下に示します。" + +msgid "" +"{\n" +" \"paths\": [\n" +" {\n" +" \"path\": \"/protected/resource\",\n" +" \"claim-information-point\": {\n" +" \"http\": {\n" +" \"claims\": {\n" +" \"claim-a\": \"/a\",\n" +" \"claim-d\": \"/d\",\n" +" \"claim-d0\": \"/d/0\",\n" +" \"claim-d-all\": [\n" +" \"/d/0\",\n" +" \"/d/1\"\n" +" ]\n" +" },\n" +" \"url\": \"http://mycompany/claim-provider\",\n" +" \"method\": \"POST\",\n" +" \"headers\": {\n" +" \"Content-Type\": \"application/x-www-form-urlencoded\",\n" +" \"header-b\": [\n" +" \"header-b-value1\",\n" +" \"header-b-value2\"\n" +" ],\n" +" \"Authorization\": \"Bearer {keycloak.access_token}\"\n" +" },\n" +" \"parameters\": {\n" +" \"param-a\": [\n" +" \"param-a-value1\",\n" +" \"param-a-value2\"\n" +" ],\n" +" \"param-subject\": \"{keycloak.access_token['/sub']}\",\n" +" \"param-user-name\": \"{keycloak.access_token['/preferred_username']}\",\n" +" \"param-other-claims\": \"{keycloak.access_token['/custom_claim']}\"\n" +" }\n" +" }\n" +" }\n" +" }\n" +" ]\n" +"}" +msgstr "" +"{\n" +" \"paths\": [\n" +" {\n" +" \"path\": \"/protected/resource\",\n" +" \"claim-information-point\": {\n" +" \"http\": {\n" +" \"claims\": {\n" +" \"claim-a\": \"/a\",\n" +" \"claim-d\": \"/d\",\n" +" \"claim-d0\": \"/d/0\",\n" +" \"claim-d-all\": [\n" +" \"/d/0\",\n" +" \"/d/1\"\n" +" ]\n" +" },\n" +" \"url\": \"http://mycompany/claim-provider\",\n" +" \"method\": \"POST\",\n" +" \"headers\": {\n" +" \"Content-Type\": \"application/x-www-form-urlencoded\",\n" +" \"header-b\": [\n" +" \"header-b-value1\",\n" +" \"header-b-value2\"\n" +" ],\n" +" \"Authorization\": \"Bearer {keycloak.access_token}\"\n" +" },\n" +" \"parameters\": {\n" +" \"param-a\": [\n" +" \"param-a-value1\",\n" +" \"param-a-value2\"\n" +" ],\n" +" \"param-subject\": \"{keycloak.access_token['/sub']}\",\n" +" \"param-user-name\": \"{keycloak.access_token['/preferred_username']}\",\n" +" \"param-other-claims\": \"{keycloak.access_token['/custom_claim']}\"\n" +" }\n" +" }\n" +" }\n" +" }\n" +" ]\n" +"}" + +msgid "Static claims" +msgstr "静的なクレーム" + +msgid "" +"{\n" +" \"paths\": [\n" +" {\n" +" \"path\": \"/protected/resource\",\n" +" \"claim-information-point\": {\n" +" \"claims\": {\n" +" \"claim-from-static-value\": \"static value\",\n" +" \"claim-from-multiple-static-value\": [\"static\", \"value\"]\n" +" }\n" +" }\n" +" }\n" +" ]\n" +"}" +msgstr "" +"{\n" +" \"paths\": [\n" +" {\n" +" \"path\": \"/protected/resource\",\n" +" \"claim-information-point\": {\n" +" \"claims\": {\n" +" \"claim-from-static-value\": \"static value\",\n" +" \"claim-from-multiple-static-value\": [\"static\", \"value\"]\n" +" }\n" +" }\n" +" }\n" +" ]\n" +"}" + +msgid "Claim information provider SPI" +msgstr "クレーム情報プロバイダーSPI" + +msgid "" +"The Claim Information Provider SPI can be used by developers to support " +"different claim information points in case none of the built-ins providers " +"are enough to address their requirements." +msgstr "" +"ビルトインのプロバイダーでは要件を満たすことができない場合、異なるクレーム情報ポイントをサポートするために、開発者はクレーム情報プロバイダーSPIを使用することができます。" + +msgid "" +"For example, to implement a new CIP provider you need to implement " +"`org.keycloak.adapters.authorization.ClaimInformationPointProviderFactory` " +"and `ClaimInformationPointProvider` and also provide the file `META-" +"INF/services/org.keycloak.adapters.authorization.ClaimInformationPointProviderFactory`" +" in your application`s classpath." +msgstr "" +"たとえば、新しいCIPプロバイダーを実装するには、 " +"`org.keycloak.adapters.authorization.ClaimInformationPointProviderFactory` と" +" `ClaimInformationPointProvider` を実装し、アプリケーションのクラスパスに `META-" +"INF/services/org.keycloak.adapters.authorization.ClaimInformationPointProviderFactory`" +" ファイルを提供する必要があります。" + +msgid "" +"Example of " +"`org.keycloak.adapters.authorization.ClaimInformationPointProviderFactory`:" +msgstr "" +"`org.keycloak.adapters.authorization.ClaimInformationPointProviderFactory` " +"の例:" + +msgid "" +"public class MyClaimInformationPointProviderFactory implements ClaimInformationPointProviderFactory {\n" +"\n" +" @Override\n" +" public String getName() {\n" +" return \"my-claims\";\n" +" }\n" +"\n" +" @Override\n" +" public void init(PolicyEnforcer policyEnforcer) {\n" +"\n" +" }\n" +"\n" +" @Override\n" +" public MyClaimInformationPointProvider create(Map config) {\n" +" return new MyClaimInformationPointProvider(config);\n" +" }\n" +"}" +msgstr "" +"public class MyClaimInformationPointProviderFactory implements ClaimInformationPointProviderFactory {\n" +"\n" +" @Override\n" +" public String getName() {\n" +" return \"my-claims\";\n" +" }\n" +"\n" +" @Override\n" +" public void init(PolicyEnforcer policyEnforcer) {\n" +"\n" +" }\n" +"\n" +" @Override\n" +" public MyClaimInformationPointProvider create(Map config) {\n" +" return new MyClaimInformationPointProvider(config);\n" +" }\n" +"}" + +msgid "" +"Every CIP provider must be associated with a name, as defined above in the " +"`MyClaimInformationPointProviderFactory.getName` method. The name will be " +"used to map the configuration from the `claim-information-point` section in " +"the `policy-enforcer` configuration to the implementation." +msgstr "" +"すべてのCIPプロバイダーは、上記の `MyClaimInformationPointProviderFactory.getName` " +"メソッドで定義されている名前に関連付けられている必要があります。この名前は `policy-enforcer` 設定の `claim-" +"information-point` セクションから実装への設定をマッピングするために使用されます。" + +msgid "" +"When processing requests, the policy enforcer will call the " +"MyClaimInformationPointProviderFactory.create method in order to obtain an " +"instance of MyClaimInformationPointProvider. When called, any configuration " +"defined for this particular CIP provider (via claim-information-point) is " +"passed as a map." +msgstr "" +"リクエストを処理する際に、ポリシー・エンフォーサーは、MyClaimInformationPointProviderのインスタンスを取得するため、MyClaimInformationPointProviderFactory.createメソッドを呼び出します。呼び出されると、この特定のCIPプロバイダー用に定義された設定(claim-" +"information-pointを経由)がマップとして渡されます。" + +msgid "Example of `ClaimInformationPointProvider`:" +msgstr "`ClaimInformationPointProvider` の例:" + +msgid "" +"public class MyClaimInformationPointProvider implements ClaimInformationPointProvider {\n" +"\n" +" private final Map config;\n" +"\n" +" public MyClaimInformationPointProvider(Map config) {\n" +" this.config = config;\n" +" }\n" +"\n" +" @Override\n" +" public Map> resolve(HttpFacade httpFacade) {\n" +" Map> claims = new HashMap<>();\n" +"\n" +" // put whatever claim you want into the map\n" +"\n" +" return claims;\n" +" }\n" +"}" +msgstr "" +"public class MyClaimInformationPointProvider implements ClaimInformationPointProvider {\n" +"\n" +" private final Map config;\n" +"\n" +" public MyClaimInformationPointProvider(Map config) {\n" +" this.config = config;\n" +" }\n" +"\n" +" @Override\n" +" public Map> resolve(HttpFacade httpFacade) {\n" +" Map> claims = new HashMap<>();\n" +"\n" +" // put whatever claim you want into the map\n" +"\n" +" return claims;\n" +" }\n" +"}" + +msgid "Obtaining the authorization context" +msgstr "認可コンテキストの取得" + +msgid "" +"When policy enforcement is enabled, the permissions obtained from the server" +" are available through `org.keycloak.AuthorizationContext`. This class " +"provides several methods you can use to obtain permissions and ascertain " +"whether a permission was granted for a particular resource or scope." +msgstr "" +"ポリシーの施行が有効になっている場合、サーバーから取得したパーミッションは `org.keycloak.AuthorizationContext` " +"で利用できます。このクラスは、パーミッションを取得し、特定のリソースまたはスコープに対してパーミッションが付与されているかどうかを確認するために使用できるいくつかのメソッドを提供します。" + +msgid "Obtaining the Authorization Context in a Servlet Container" +msgstr "サーブレット・コンテナー内の認可コンテキストの取得" + +msgid "" +" HttpServletRequest request = // obtain javax.servlet.http.HttpServletRequest\n" +" AuthorizationContext authzContext = (AuthorizationContext) request.getAttribute(AuthorizationContext.class.getName());" +msgstr "" +" HttpServletRequest request = // obtain javax.servlet.http.HttpServletRequest\n" +" AuthorizationContext authzContext = (AuthorizationContext) request.getAttribute(AuthorizationContext.class.getName());" + +msgid "" +"The authorization context helps give you more control over the decisions " +"made and returned by the server. For example, you can use it to build a " +"dynamic menu where items are hidden or shown depending on the permissions " +"associated with a resource or scope." +msgstr "" +"認可コンテキストを使用すると、サーバーによって行われて返された決定を、より詳細に制御できます。たとえば、リソースまたはスコープに関連付けられたパーミッションに応じて、アイテムを表示または非表示にする動的なメニューを作成することができます。" + +msgid "" +"if (authzContext.hasResourcePermission(\"Project Resource\")) {\n" +" // user can access the Project Resource\n" +"}\n" +"\n" +"if (authzContext.hasResourcePermission(\"Admin Resource\")) {\n" +" // user can access administration resources\n" +"}\n" +"\n" +"if (authzContext.hasScopePermission(\"urn:project.com:project:create\")) {\n" +" // user can create new projects\n" +"}" +msgstr "" +"if (authzContext.hasResourcePermission(\"Project Resource\")) {\n" +" // user can access the Project Resource\n" +"}\n" +"\n" +"if (authzContext.hasResourcePermission(\"Admin Resource\")) {\n" +" // user can access administration resources\n" +"}\n" +"\n" +"if (authzContext.hasScopePermission(\"urn:project.com:project:create\")) {\n" +" // user can create new projects\n" +"}" + +msgid "" +"The `AuthorizationContext` represents one of the main capabilities of " +"{project_name} Authorization Services. From the examples above, you can see " +"that the protected resource is not directly associated with the policies " +"that govern them." +msgstr "" +"`AuthorizationContext` " +"は、{project_name}認可サービスのメイン機能の1つです。上記の例から、保護されたリソースはそれらを管理するポリシーに直接関連付けられていないことが分かります。" + +msgid "Consider some similar code using role-based access control (RBAC):" +msgstr "次のような、ロールベースのアクセス制御(RBAC)を使用した同様のコードを考えてみましょう。" + +msgid "" +"if (User.hasRole('user')) {\n" +" // user can access the Project Resource\n" +"}\n" +"\n" +"if (User.hasRole('admin')) {\n" +" // user can access administration resources\n" +"}\n" +"\n" +"if (User.hasRole('project-manager')) {\n" +" // user can create new projects\n" +"}" +msgstr "" +"if (User.hasRole('user')) {\n" +" // user can access the Project Resource\n" +"}\n" +"\n" +"if (User.hasRole('admin')) {\n" +" // user can access administration resources\n" +"}\n" +"\n" +"if (User.hasRole('project-manager')) {\n" +" // user can create new projects\n" +"}" + +msgid "" +"Although both examples address the same requirements, they do so in " +"different ways. In RBAC, roles only _implicitly_ define access for their " +"resources. With {project_name}, you gain the capability to create more " +"manageable code that focuses directly on your resources whether you are " +"using RBAC, attribute-based access control (ABAC), or any other BAC variant." +" Either you have the permission for a given resource or scope, or you do not" +" have that permission." +msgstr "" +"どちらの例も同じ要件に対処していますが、その方法は異なります。RBACでは、ロールはリソースのアクセスを暗黙的に定義するだけです。{project_name}を使用すると、RBAC、属性ベースアクセス・コントロール(ABAC)、その他のBACバリアントのいずれを使用している場合でも、リソースに直接焦点を当てた、より管理しやすいコードを作成する機能が得られます。あるリソースやスコープに対するパーミッションを持っているか、持っていないかのどちらかです。" + +msgid "" +"Now, suppose your security requirements have changed and in addition to " +"project managers, PMOs can also create new projects." +msgstr "セキュリティー要件が変更され、プロジェクト・マネージャーに加えて、PMOが新しいプロジェクトを作成できるようになったとします。" + +msgid "" +"Security requirements change, but with {project_name} there is no need to " +"change your application code to address the new requirements. Once your " +"application is based on the resource and scope identifier, you need only " +"change the configuration of the permissions or policies associated with a " +"particular resource in the authorization server. In this case, the " +"permissions and policies associated with the `Project Resource` and/or the " +"scope `urn:project.com:project:create` would be changed." +msgstr "" +"セキュリティー要件は変更されますが、{project_name}を使用すると、新しい要件を満たすためにアプリケーションコードを変更する必要はありません。アプリケーションがリソースとスコープの識別子に基づいていれば、認可サーバー内の特定のリソースに関連付けられているパーミッションまたはポリシーの設定を変更するだけで済みます。この場合、" +" `Project Resource` および(または)スコープ `urn:project.com:project:create` " +"に関連するパーミッションとポリシーが変更されます。" + +msgid "" +"Using the AuthorizationContext to obtain an Authorization Client Instance" +msgstr "認可クライアント・インスタンスを取得するためAuthorizationContextを使用する" + +msgid "" +"The ```AuthorizationContext``` can also be used to obtain a reference to the" +" <<_service_client_api, Authorization Client API>> configured to your " +"application:" +msgstr "" +"`AuthorizationContext` は、以下のようにアプリケーションに設定された<<_service_client_api, " +"認可クライアントAPI >>への参照を取得するためにも使用できます。" + +msgid "" +" ClientAuthorizationContext clientContext = ClientAuthorizationContext.class.cast(authzContext);\n" +" AuthzClient authzClient = clientContext.getClient();" +msgstr "" +" ClientAuthorizationContext clientContext = ClientAuthorizationContext.class.cast(authzContext);\n" +" AuthzClient authzClient = clientContext.getClient();" + +msgid "" +"In some cases, resource servers protected by the policy enforcer need to " +"access the APIs provided by the authorization server. With an " +"```AuthzClient``` instance in hands, resource servers can interact with the " +"server in order to create resources or check for specific permissions " +"programmatically." +msgstr "" +"場合によっては、ポリシー・エンフォーサーによって保護されたリソースサーバーが、認可サーバーによって提供されるAPIにアクセスする必要があります。取得した" +" ```AuthzClient``` " +"インスタンスで、リソースサーバーはリソースを作成したり、プログラムで特定のパーミッションをチェックするためにサーバーとやりとりすることができます。" + +msgid "JavaScript integration" +msgstr "JavaScriptの統合" + +msgid "" +"The {project_name} Server comes with a JavaScript library you can use to " +"interact with a resource server protected by a policy enforcer. This library" +" is based on the {project_name} JavaScript adapter, which can be integrated " +"to allow your client to obtain permissions from a {project_name} Server." +msgstr "" +"{project_name}サーバーには、ポリシー・エンフォーサーによって保護されたリソースサーバーと対話するために使用できるJavaScriptライブラリーが付属しています。このライブラリーは{project_name}" +" JavaScriptアダプターに基づいています。これを統合すると、クライアントは{project_name}サーバーからパーミッションを取得できます。" + +msgid "" +"You can obtain this library from a running a {project_name} Server instance " +"by including the following `script` tag in your web page:" +msgstr "" +"次の `script` タグをWebページに含めることで、実行中の{project_name}サーバー・インスタンスからこのライブラリーを入手できます。" + +msgid "" +msgstr "" + +msgid "Next, you can create a `KeycloakAuthorization` instance as follows:" +msgstr "次のようにして `KeycloakAuthorization` インスタンスを作成します。" + +msgid "" +"const keycloak = ... // obtain a Keycloak instance from keycloak.js library\n" +"const authorization = new KeycloakAuthorization(keycloak);" +msgstr "" +"const keycloak = ... // obtain a Keycloak instance from keycloak.js library\n" +"const authorization = new KeycloakAuthorization(keycloak);" + +msgid "The *keycloak-authz.js* library provides two main features:" +msgstr "*keycloak-authz.js* ライブラリには2つの主な機能があります。" + +msgid "" +"Obtain permissions from the server using a permission ticket, if you are " +"accessing a UMA protected resource server." +msgstr "UMAで保護されたリソースサーバーにアクセスする場合は、パーミッション・チケットを使用して、サーバーからパーミッションを取得します。" + +msgid "" +"Obtain permissions from the server by sending the resources and scopes the " +"application wants to access." +msgstr "アプリケーションがアクセスしたいリソースとスコープを送信して、サーバーからパーミッションを取得します。" + +msgid "" +"In both cases, the library allows you to easily interact with both resource " +"server and {project_name} Authorization Services to obtain tokens with " +"permissions your client can use as bearer tokens to access the protected " +"resources on a resource server." +msgstr "" +"いずれの場合も、リソースサーバーと{project_name}認可サービスの両方との対話を容易にし、クライアントがリソースサーバー上の保護されたリソースにアクセスするベアラー・トークンとして使用できる権限を持つトークンを取得できます。" + +msgid "Handling authorization responses from a UMA-Protected resource server" +msgstr "UMAで保護されたリソースサーバーからの認可レスポンスの処理" + +msgid "" +"If a resource server is protected by a policy enforcer, it responds to " +"client requests based on the permissions carried along with a bearer token. " +"Typically, when you try to access a resource server with a bearer token that" +" is lacking permissions to access a protected resource, the resource server " +"responds with a *401* status code and a `WWW-Authenticate` header." +msgstr "" +"リソースサーバーがポリシー・エンフォーサーによって保護されている場合、リソースサーバーは、ベアラートークンとともに搬送されるパーミッションに基づいてクライアント・リクエストに応答します。通常、保護されたリソースにアクセスする権限がないベアラトークンを使用してリソースサーバーにアクセスしようとすると、リソースサーバーは" +" *401* ステータスコードと `WWW-Authenticate` ヘッダーで応答します。" + +msgid "" +"See <<_service_uma_authorization_process, UMA Authorization Process>> for " +"more information." +msgstr "詳細については、<<_service_uma_authorization_process, UMAの認可プロセス>>を参照してください。" + +msgid "" +"What your client needs to do is extract the permission ticket from the " +"```WWW-Authenticate``` header returned by the resource server and use the " +"library to send an authorization request as follows:" +msgstr "" +"クライアントが行う必要があるのは、リソースサーバーから返された ```WWW-Authenticate``` " +"ヘッダーからパーミッション・チケットを抽出し、ライブラリーを使用して次のように認可リクエストを送信することです。" + +msgid "" +"// prepare a authorization request with the permission ticket\n" +"const authorizationRequest = {};\n" +"authorizationRequest.ticket = ticket;\n" +"\n" +"// send the authorization request, if successful retry the request\n" +"Identity.authorization.authorize(authorizationRequest).then(function (rpt) {\n" +" // onGrant\n" +"}, function () {\n" +" // onDeny\n" +"}, function () {\n" +" // onError\n" +"});" +msgstr "" +"// prepare a authorization request with the permission ticket\n" +"const authorizationRequest = {};\n" +"authorizationRequest.ticket = ticket;\n" +"\n" +"// send the authorization request, if successful retry the request\n" +"Identity.authorization.authorize(authorizationRequest).then(function (rpt) {\n" +" // onGrant\n" +"}, function () {\n" +" // onDeny\n" +"}, function () {\n" +" // onError\n" +"});" + +msgid "" +"The `authorize` function is completely asynchronous and supports a few " +"callback functions to receive notifications from the server:" +msgstr "`authorize` 関数は完全に非同期で、サーバーからの通知を受け取るためのいくつかのコールバック関数をサポートしています。" + +msgid "" +"`onGrant`: The first argument of the function. If authorization was " +"successful and the server returned an RPT with the requested permissions, " +"the callback receives the RPT." +msgstr "" +"`onGrant`: 関数の第1引数。認可が成功し、サーバーが要求されたパーミッションでRPTを返した場合、コールバックはRPTを受け取ります。" + +msgid "" +"`onDeny`: The second argument of the function. Only called if the server has" +" denied the authorization request." +msgstr "`onDeny`: 関数の第2引数。サーバーがリクエストを拒否した場合にのみ呼び出されます。" + +msgid "" +"`onError`: The third argument of the function. Only called if the server " +"responds unexpectedly." +msgstr "`onError`: 関数の第3引数。サーバーが予期せず応答する場合にのみ呼び出されます。" + +msgid "" +"Most applications should use the `onGrant` callback to retry a request after" +" a 401 response. Subsequent requests should include the RPT as a bearer " +"token for retries." +msgstr "" +"ほとんどのアプリケーションは、 `onGrant` " +"コールバックを使用して401応答後にリクエストをリトライする必要があります。以降のリクエストには、RPTをリトライのためのベアラー・トークンとして含める必要があります。" + +msgid "Obtaining entitlements" +msgstr "エンタイトルメントの取得" + +msgid "" +"The ```keycloak-authz.js``` library provides an `entitlement` function that " +"you can use to obtain an RPT from the server by providing the resources and " +"scopes your client wants to access." +msgstr "" +"`keycloak-authz.js` " +"ライブラリーは、クライアントがアクセスしたいリソースとスコープを提供することによって、サーバーからRPTを取得するために使用できる " +"`entitlement` 関数を提供します。" + +msgid "" +"Example about how to obtain an RPT with permissions for all resources and " +"scopes the user can access" +msgstr "ユーザーがアクセス可能なすべてのリソースとスコープに対するパーミッションを持つ、RPTを取得する方法の例" + +msgid "" +"authorization.entitlement('my-resource-server-id').then(function (rpt) {\n" +" // onGrant callback function.\n" +" // If authorization was successful you'll receive an RPT\n" +" // with the necessary permissions to access the resource server\n" +"});" +msgstr "" +"authorization.entitlement('my-resource-server-id').then(function (rpt) {\n" +" // onGrant callback function.\n" +" // If authorization was successful you'll receive an RPT\n" +" // with the necessary permissions to access the resource server\n" +"});" + +msgid "" +"Example about how to obtain an RPT with permissions for specific resources " +"and scopes" +msgstr "特定のリソースとスコープに対するパーミッションを持つ、RPTを取得する方法の例" + +msgid "" +"authorization.entitlement('my-resource-server', {\n" +" \"permissions\": [\n" +" {\n" +" \"id\" : \"Some Resource\"\n" +" }\n" +" ]\n" +"}).then(function (rpt) {\n" +" // onGrant\n" +"});" +msgstr "" +"authorization.entitlement('my-resource-server', {\n" +" \"permissions\": [\n" +" {\n" +" \"id\" : \"Some Resource\"\n" +" }\n" +" ]\n" +"}).then(function (rpt) {\n" +" // onGrant\n" +"});" + +msgid "" +"When using the `entitlement` function, you must provide the _client_id_ of " +"the resource server you want to access." +msgstr "`entitlement` を使用する場合は、アクセスするリソースサーバーの _client_id_ を指定する必要があります。" + +msgid "" +"The `entitlement` function is completely asynchronous and supports a few " +"callback functions to receive notifications from the server:" +msgstr "`entitlement` 関数は完全に非同期で、サーバーからの通知を受け取るためのコールバック関数をいくつかサポートしています。" + +msgid "Authorization request" +msgstr "認可リクエスト" + +msgid "" +"Both ```authorize``` and ```entitlement``` functions accept an authorization" +" request object. This object can be set with the following properties:" +msgstr "" +"`authorize` と ```entitlement``` " +"の両方の関数は、認可リクエスト・オブジェクトを受け入れます。このオブジェクトは、次のプロパティーで設定できます。" + +msgid "*permissions*" +msgstr "*permissions*" + +msgid "" +"An array of objects representing the resource and scopes. For instance:" +msgstr "リソースとスコープを表すオブジェクトの配列。以下に例を示します。" + +msgid "" +"const authorizationRequest = {\n" +" \"permissions\": [\n" +" {\n" +" \"id\" : \"Some Resource\",\n" +" \"scopes\" : [\"view\", \"edit\"]\n" +" }\n" +" ]\n" +"}" +msgstr "" +"const authorizationRequest = {\n" +" \"permissions\": [\n" +" {\n" +" \"id\" : \"Some Resource\",\n" +" \"scopes\" : [\"view\", \"edit\"]\n" +" }\n" +" ]\n" +"}" + +msgid "*metadata*" +msgstr "*metadata*" + +msgid "" +"An object where its properties define how the authorization request should " +"be processed by the server." +msgstr "サーバーで認可リクエストをどのように処理するかを定義したプロパティーを持つオブジェクト。" + +msgid "*response_include_resource_name*" +msgstr "*response_include_resource_name*" + +msgid "" +"A boolean value indicating to the server if resource names should be " +"included in the RPT's permissions. If false, only the resource identifier is" +" included." +msgstr "リソース名をRPTのパーミッションに含めるかどうかをサーバーに示すブール値。falseの場合、リソース識別子のみが含まれます。" + +msgid "*response_permissions_limit*" +msgstr "*response_permissions_limit*" + +msgid "" +"An integer N that defines a limit for the amount of permissions an RPT can " +"have. When used together with `rpt` parameter, only the last N requested " +"permissions will be kept in the RPT" +msgstr "" +"RPTが持つことができるパーミッションの量の限界を定義する整数N。 `rpt` " +"パラメーターと一緒に使用すると、最後に要求されたN個のパーミッションだけがRPTに保持されます。" + +msgid "*submit_request*" +msgstr "*submit_request*" + +msgid "" +"A boolean value indicating whether the server should create permission " +"requests to the resources and scopes referenced by a permission ticket. This" +" parameter will only take effect when used together with the `ticket` " +"parameter as part of a UMA authorization process." +msgstr "" +"サーバーがリソースとパーミッション・チケットによって参照されるスコープへのパーミッション・リクエストを作成する必要があるかどうかを示すブール値。このパラメーターは、UMA認証プロセスの一部として" +" `ticket` パラメーターとともに使用されるときにのみ有効になります。" + +msgid "Obtaining the RPT" +msgstr "RPTの取得" + +msgid "" +"If you have already obtained an RPT using any of the authorization functions" +" provided by the library, you can always obtain the RPT as follows from the " +"authorization object (assuming that it has been initialized by one of the " +"techniques shown earlier):" +msgstr "" +"ライブラリによって提供されている認可関数を使用してRPTをすでに取得している場合は、認可オブジェクトから次のようにRPTを得ることができます(前述のいずれかの手法で初期化されているものとします)。" + +msgid "const rpt = authorization.rpt;" +msgstr "const rpt = authorization.rpt;" + +msgid "Configuring TLS/HTTPS" +msgstr "TLS/HTTPSの設定" + +msgid "" +"When the server is using HTTPS, ensure your policy enforcer is configured as" +" follows:" +msgstr "サーバーがHTTPSを使用している場合、ポリシー・エンフォーサー が以下のように設定されていることを確認します。" + +msgid "" +"{\n" +" \"truststore\": \"path_to_your_trust_store\",\n" +" \"truststore-password\": \"trust_store_password\"\n" +"}" +msgstr "" +"{\n" +" \"truststore\": \"path_to_your_trust_store\",\n" +" \"truststore-password\": \"trust_store_password\"\n" +"}" + +msgid "" +"The configuration above enables TLS/HTTPS to the Authorization Client, " +"making possible to access a {project_name} Server remotely using the HTTPS " +"scheme." +msgstr "" +"上記の設定により、認可クライアントでTLS/HTTPSが有効になり、HTTPSスキームを使用してリモートから{project_name}サーバーにアクセスできるようになります。" + +msgid "" +"It is strongly recommended that you enable TLS/HTTPS when accessing the " +"{project_name} Server endpoints." +msgstr "{project_name}サーバーのエンドポイントにアクセスする際は、TLS/HTTPSを有効にすること強くお勧めします。"