スタンドアロン型サービスのフローの例
下図は、スタンドアロン型サービスの認証情報と権限情報のフローを示しています。色は以下のように使用されます。
- オレンジ:認証情報
- 青:エンドポイントのアクセス権情報
- 緑:リソースのアクセス権情報
- 赤:プロキシユーザーとセッションユーザーの情報
いくつかの値を使用して、複数の種類のアクセスを決定します。これらの値は最初(1 つの種類のアクセスに適用されていない場合)は黒で表示されてから、1 つ以上の特定の色(特定の種類のアクセスに対してプロセスのその時点で使用されていることを値が反映する)で表示されます。
以下の例では、API 呼び出しが Acme FNOLReporter によってトリガされています。

- FNOLReporter が API 呼び出しをトリガすると、最初に Guidewire Hub に JWT を要求します。JWT に対する要求には、クライアント ID(
0oaqt9pl1vZK1kybt0h7)、シークレット(aSecret)、アプリケーションの API の役割(scp.cc.acme_fnolreporter)、アプリケーションのリソースアクセス戦略(cc.service)、および追加のデプロイ情報(tenant.acme、project.default、planet_class.prod)が含まれています。 - Guidewire Hub が、クライアント ID およびシークレットに基づいてサービスを認証します。また、要求で渡された API 役割とリソースアクセス戦略が、Guidewire Hub でのサービス登録時に指定した内容と一致することも確認します。
- Guidewire Hub が JWT を生成してサービスに送信します。この JWT には、クライアント ID(
cid)およびscpトークンクレームが含まれています。これによって API 役割(scp.cc.acme_fnolreporter)、リソースアクセス戦略(cc.service)、および追加のデプロイ情報が指定されます。 - サービスが、JWT とともに API 要求を ClaimCenter に送信します。
- ClaimCenter によって、エンドポイントのアクセス権が決定されます。JWT(
scp.cc.acme_fnolreporter)にリストされたscp.cc.値に基づいて、acme_fnolreporter.role.yamlの API 役割ファイルが使用され、エンドポイントアクセス権が定義されます。 - 次に、ClaimCenter によって、リソースアクセス戦略が決定されます。JWT(
cc.service)内のリソースアクセス戦略値に基づいて、serviceUseraccess.yamlファイルでの定義に従って、リソースアクセス権が付与されます(* ClaimCenter はserviceUser_ext-1.0.access.yamlから始まりますが、このファイルは別のaccess.yamlファイルを参照します。それらの名前はserviceUserで始まります)。 - セッションに割り当てるプロキシユーザーを決定するために、ClaimCenter は
RestAuthenticationSourceCreatorプラグインを呼び出します。JWT ではcc.serviceのリソースアクセス戦略が指定されています。それにより、プラグインは、サービス用プロキシユーザーのserviceuserを返します。 - ClaimCenter によって要求が処理されます。
- セッションユーザーは、プロキシサービスユーザーの
serviceuserです。 - エンドポイントアクセス権は、
acme_fnolreporter.role.yamlによって定義されます。 - リソースアクセス権は、
serviceUseraccess.yamlによって定義されます。ベースコンフィギュレーションでは、serviceuseraccess.yamlファイルによってすべてのリソースが使用できます。したがって、論理的に言えば、リソースアクセスの制限はありません。
- セッションユーザーは、プロキシサービスユーザーの
- ClaimCenter によって、最初の呼び出しに対する応答が渡されます。