リソースアクセス戦略
戦略と ID
リソースアクセス戦略は一連のロジックであり、呼び出し元がアクセスできるリソースを特定します。
リソースアクセス ID は、呼び出し元が誰であるかまたは呼び出し元の所有物を識別する文字列です。
呼び出しごとに、入力としてリソースアクセス ID を使用してリソースアクセス戦略を実行することにより、リソースアクセス権が決定されます。例えば、「所有する保険契約に関連するクレームの情報に呼び出し元はアクセスできる」と特定のリソースアクセス戦略で規定していると仮定します。そして、特定の呼び出しについて、リソースアクセス ID が PA-123456 であるとします。これは、以下を意味します。
- 呼び出し元は、保険契約 PA-123456 に関連するクレームについてのリソースにアクセスできます。
- 呼び出し元は、PA-123456 以外の保険契約に関連するクレームについてのリソースにアクセスできません。
いくつかのリソースアクセス戦略では、単一のリソースアクセス ID を必要とします。他のリソースアクセス戦略では、リソースアクセス ID の配列を使用できます。
リソースアクセス戦略のリスト
ベースコンフィギュレーションには、以下のリソースアクセス戦略が含まれています。
| 戦略名 | この戦略を使用するペルソナ | リソースアクセス ID | アクセスが許可される対象 |
|---|---|---|---|
| cc_policyNumbers | アカウント名義人と保険契約者 | 保険証券番号の配列 | いずれかの保険契約に関連付けられているクレームに関連するリソース |
| cc_gwabuid | クレームサービス提供者 | サービス提供者の連絡先の ABUID(アドレス帳の一意の識別子) | 割り当てられたサービス提供者がこのユーザーであるクレームに関連するリソース |
| cc_username | 内部ユーザー | ClaimCenter ユーザー名 | 関連付けられたアクセス制御リスト(ACL)に基づいて ClaimCenter で当該内部ユーザーが表示できるリソース |
| cc.service | 信頼されるサービス間アプリケーション | 該当なし | すべてのリソース |
| default | 認証されている呼び出し元ですが、呼び出しでリソースアクセス戦略が指定されていない呼び出し元 | 該当なし | メタデータリソースのみ(API スキーマおよびタイプリストを含む) |
| unauthenticated | 認証されていない呼び出し元 | 該当なし | API スキーマのみ |
戦略名は JWT で使用されます。呼び出しに対して使用するリソースアクセス戦略を特定するために scp トークンクレームで提示されます。また、該当する場合、リソースアクセス ID を指定するために独自のトークンクレームとして提示されます。
例えば、特定の呼び出しが、PA-123456 のリソースアクセス ID で cc_policyNumbers リソースアクセス戦略を使用しているとします。JWT には、以下が含まれます。
"scp": [
"cc_policyNumbers"
],
"cc_policyNumbers": [
"PA-123456"
]
呼び出しのリソースアクセス戦略の決定
リソースアクセス戦略は、以下の表に示すように内部コードによって割り当てられます。ユーザーコンテキスト付きサービスによって行われる呼び出しの場合、2 つのリソースアクセス戦略(サービスレベルで 1 つとユーザーレベルで 1 つ)が割り当てられます。他のすべての種類の呼び出しの場合、割り当てられるリソース戦略は 1 つのみです。
| 戦略名 | 呼び出しに割り当てられる条件 |
|---|---|
| cc_policyNumbers |
次のいずれかに該当すること。
|
| cc_gwabuid |
次のいずれかに該当すること。
|
| cc_username |
次のいずれかに該当すること。
|
| cc.service | JWT の scp トークンクレームに cc_username が含まれている。 |
| default | 呼び出し元は認証済みであるが、JWT によってリソースアクセス戦略が指定されていない。 |
| unauthenticated | 呼び出し元が認証されていない。 |
cc.service リソースアクセス戦略
大部分のリソースアクセス戦略では、制限を指定しています。これらのリソースアクセス戦略では、呼び出し元が表示できる内容を制限しています。
ただし、cc.service リソースアクセス戦略では、ほとんど制限を指定していません。このリソースアクセス戦略が、サービスで使用されるように設計されているからです。状況に適したリソースにのみアクセスするようにサービスをコンフィギュレーションすることが想定されています。その結果、サービスからの API 呼び出しの JWT には、通常、リソースアクセス ID は含まれません。
さまざまなサービス関連認証フローのリソースアクセスは以下の説明のように動作することに注意してください。
- スタンドアロン型サービスの場合、呼び出しは、
cc.serviceリソースアクセス戦略を使用します。したがって、無制限のリソースアクセス権が付与されます。 - ユーザーコンテキスト付きサービスの場合、各呼び出しのリソースアクセス権は、サービスレベルのリソースアクセス権とユーザーレベルのリソースアクセス権の共通部分です。サービスレベルのリソースアクセス権は、
cc.serviceリソースアクセス戦略であり、制限はありません。したがって、論理的には、service-with-user-context 呼び出しには、ユーザーレベルのリソースアクセス権と同じリソースアクセス権が付与されます。 - サービスアカウントマッピング付きサービスの場合、サービスは内部サービスアカウントにマッピングされます。
cc.serviceリソースアクセス戦略は使用されません。代わりに、呼び出しでは、cc_usernameリソースアクセス戦略が使用されます。