プロキシユーザー
呼び出し元が Cloud API 呼び出しを行うと、十分なエンドポイントアクセス権とリソースアクセス権が呼び出し元にあるかどうかを Cloud API でチェックします。アクセス権がある場合、Cloud API によって適切な内部 ClaimCenter ロジックに処理が渡されます。
cc_user テーブルのユーザーアカウントを使用してのみ完了できるコードを内部 ClaimCenter ロジックでトリガする場合があります。次に例を示します。
- 呼び出しによって、データが作成されたり変更される場合があります。そのような場合、ClaimCenter によって
CreateUserまたはUpdateUserの名前が記録されます。 - 呼び出しによって、ドメインレベルの権限チェックがトリガされる場合があります。
- 例えば、呼び出しが、呼び出し元へのアクティビティの割り当てを試みる場合があります。これを行うために、アクティビティの所有に十分な権限を呼び出し元が持っていることを ClaimCenter で検証する必要があります。
- 呼び出しによって、権限制限チェックがトリガされる場合があります。
- 例えば、呼び出しが、2000 ドル支払の作成を試みる場合があります。ClaimCenter では、支払額が呼び出し元の権限制限を超えていないかどうかをチェックする必要があります。
呼び出し元が内部ユーザーである場合、ClaimCenter はこれらの種類のコードに対して内部ユーザーアカウントを使用します。
- 内部ユーザーは
CreateUserまたはUpdateUserとして記録されます。 - 内部ユーザーのユーザー役割は、必要に応じてドメインレベルの権限についてチェックされます。
- 内部ユーザーの権限制限プロファイルは、必要に応じて権限制限チェックについてチェックされます。
しかし、外部ユーザーおよびサービスは、cc_user テーブルにリストされていません。CreateUser や UpdateUser として記録できません。システム権限も権限制限も割り当てられません。したがって、内部ユーザーではない者から呼び出しが行われると、ClaimCenter によって呼び出しにプロキシユーザーが割り当てられます。
- 呼び出しによってデータが作成または変更される場合、プロキシユーザーが
CreateUserまたはUpdateUserとしてリストされます。 - 呼び出しによってドメインレベルの権限チェックがトリガされる場合、プロキシユーザーのユーザー役割もチェックされます。
- 呼び出しによって権限プロファイルチェックがトリガされる場合、プロキシユーザーの権限プロファイル制限がチェックされます。
プロキシユーザーの種類
基本的に、プロキシユーザーには 3 つの種類があります。
- 外部プロキシユーザーは呼び出しに割り当てられるプロキシユーザーであり、呼び出しは外部ユーザーと外部ユーザーコンテキスト付きサービスによって行われます。
- サービスプロキシユーザーは呼び出しに割り当てられるプロキシユーザーであり、呼び出しはスタンドアロン型サービスによって行われます。
- 未認証プロキシユーザーは呼び出しに割り当てられるプロキシユーザーであり、呼び出しは未認証呼び出し元によって行われます。
上記の呼び出し元の種類ごとにプロキシユーザーは 1 人のみ存在することに注意してください。つまり、外部ユーザーと外部ユーザーコンテキスト付きサービスはすべて、単一のプロキシユーザーである外部プロキシユーザーを利用します。スタンドアロン型サービスはすべて、単一のプロキシユーザーであるサービスプロキシユーザーを利用します。
技術的には、プロキシユーザーの 4 番目の種類であるデフォルトプロキシユーザーが存在します。このユーザーが使用される状況はごくまれであり、何らかの理由で通常のプロキシユーザーを呼び出しに割り当てができない場合が該当します。
ベースコンフィギュレーションのプロキシユーザー
ベースコンフィギュレーションのブートストラップデータには、以下のプロキシユーザーが含まれています(ブートストラップデータは、製品をインストールしたときに読み込まれます。これはサンプルデータには含まれていません)。
| プロキシユーザーの種類 | ベースコンフィギュレーションのユーザー | ユーザー役割 | 権限制限プロファイル |
|---|---|---|---|
| 外部プロキシユーザー | extuser |
外部ユーザー | (なし) |
| サービスプロキシユーザー | serviceuser |
サービスユーザー | サービスユーザー |
| 未認証プロキシユーザー | uauser |
未認証ユーザー | (なし) |
| デフォルトプロキシユーザー | defaultuser |
デフォルトユーザー | (なし) |
これらのユーザーの 1 人として誰かがログインしないようにするために、これらのユーザーのパスワードはそれぞれ、有効な Base64 エンコードではない文字を使用して作成します。
これらのユーザーは必要に応じてコンフィギュレーションできます。また、新規ユーザーを作成して、いずれかのユーザーをプロキシユーザーとしても指定できます。
プロキシユーザーの割り当て
プロキシユーザーは、RestAuthenticationSourceCreatorPlugin プラグインによって割り当てられます。以下の表は、呼び出しに割り当てるプロキシユーザーを決定する条件の詳細を示します。
| プロキシユーザーの種類 | このユーザーの種類を割り当てる状況 |
|---|---|
| 外部プロキシユーザー | 呼び出しに cc_policyNumbers スコープまたは cc_gwabuid スコープが含まれている |
| サービスプロキシユーザー | 呼び出しに cc.service スコープが含まれている |
| 未認証プロキシユーザー | この呼び出しに認証ヘッダーがない |
| デフォルトプロキシユーザー | 呼び出しにはプロキシユーザーが必要であるが、何らかの理由で他のプロキシユーザーの割り当てができない |
RestAuthenticationSourceCreatorPlugin プラグインには、プロキシユーザーの種類ごとに 1 つずつ、全部で 4 つのパラメータがあります。各パラメータには、内部ユーザーの ID が設定されます。プラグインで特定の種類のプロキシユーザーを割り当てる必要がある場合、関連ユーザー ID を持つユーザーがプロキシユーザーとして割り当てられます。
以下の表は、パラメータ、ベースコンフィギュレーションでのパラメータ設定、および設定が対応するユーザーのリストです。
| パラメータ | ベースコンフィギュレーション値 | 対応するベースコンフィギュレーションユーザー |
|---|---|---|
externalUserPublicId |
default_data:extuser |
extuser |
servicePublicId |
default_data:serviceuser |
serviceuser |
unathenticatedUserPublicId |
default_data:uauser |
uauser |
defaultPublicId |
default_data:defaultuser |
defaultuser |