アクセスルールのデータ構造を説明します。
アクセスルールのメタ情報を設定する場合に使用します。
キー名 | データ型 | 必須/選択 | 指定値 | 説明 | ||
---|---|---|---|---|---|---|
policy | master | bool | 必須 | true/false | 管理者がアクセスルールを設定する場合はtrue、データ登録者がアクセスルールを設定する場合はfalseを指定してください。 | |
producer | id | 文字列 | 選択 | アクセスルール作成者名 | アクセス対象のデータ登録者が本項目のアクセスルール作成者名に一致する場合に、このアクセスルールが適用されます。
| |
category | 文字列 | 固定 | "" | 製品として固定値のため設定不要。 | ||
resource | code | 文字列 | 必須 | 任意 | 適用対象のデータの情報区分コードを設定します。 | |
message_name | 文字列 | 必須 | 任意 | 適用対象のデータのメッセージ名称を設定します。 | ||
target_notation | 文字列 | 固定 | xpath | 権限を許可する対象オブジェクト(カラム、XML要素など)の記法を設定します。本版では xpath のみ対応します(製品として固定値のため設定不要)。 | ||
timezone | 文字列 | 選択 | "UTC"|"Asia/Tokyo"|"" | タイムゾーンを示す文字列を指定します。未指定または""を指定した場合は"Asia/Tokyo"と同じタイムゾーンとします。 | ||
version | 文字列 | 固定 | 1.0 | アクセスルールのバージョンを示します(製品として固定値のため設定不要)。 |
カラムごとのアクセス権を設定する場合に使用します。有効期限ごとに複数のアクセス権を定義できます。
expires
有効期限を設定する配列です。
キー名 | データ型 | 必須/選択 | 指定値 | 説明 | |
---|---|---|---|---|---|
expires | start_time | 文字列 | 選択 | 任意 | データの有効期限の開始日をyyyyMMddHHmmssまたはyyyyMMddの形式で指定します。 HHmmssを省略した場合は0時0分0秒となります。 開始日を設定しない(開始済みとする)場合は空文字("")を指定してください。未指定の場合は空文字("")と同様の扱いとなります。 |
end_time | 文字列 | 選択 | 任意 | データの有効期限の終了日をyyyyMMddHHmmssまたはyyyyMMddの形式で指定します。 HHmmssを省略した場合は23時59分59秒となります。 終了日を設定しない(無期限とする)場合は空文字("")を指定してください。未指定の場合は空文字("")と同様の扱いとなります。 |
combining_algorithm
ユーザーが複数属性を持つ場合に、許可情報の統合処理を設定する配列です。
キー名 | データ型 | 必須/選択 | 指定値 | 説明 | |
---|---|---|---|---|---|
combining_algorithm | type | 文字列 | 必須 | first-applicable | 複数の認証認可の判定結果を統合する処理パターンを選定します(本版では first-applicable を設定してください)。 |
option | 文字列 | 選択 | user/category/crud | type が first-applicable の場合に、アクセスルールを適用する優先順位を設定します(本版では user / category / crud の順で設定してください)。 |
crud
デフォルトのアクセス権限を設定する配列です。
キー名 | データ型 | 必須/選択 | 指定値 | 説明 | ||
---|---|---|---|---|---|---|
crud | read | condition | [行単位条件] | 選択 | 任意 | 行単位制御条件を設定します。 指定された条件が“真”であると判定された場合に、 permittedの内容を適用します。 キーごと省略した場合は“真”と判定し、行単位での制御を行いません。 設定値が空の場合は異常となります。 設定方法の詳細は“B.1.2.3 conditionの設定方法”を参照してください。 |
permitted | [<対象オブジェクト>] | 必須 | 任意 | 行単位制御条件が“真”の場合にread権限を許可するオブジェクト名をXpath形式で設定します。 | ||
permitted | [<対象オブジェクト>] | 必須 | 任意 | read権限を許可するオブジェクト名をXpath形式で設定します。 行単位制御条件が“偽”であると判定された場合、または行単位での制御を行わない場合はこちらが対象となります。 | ||
update | [<対象オブジェクト>] | 固定 | [] | 製品として固定値のため設定不要。 | ||
create | [<対象オブジェクト>] | 固定 | [] | 製品として固定値のため設定不要。 | ||
delete | [<対象オブジェクト>] | 固定 | [] | 製品として固定値のため設定不要。 |
users
ユーザーごとのアクセス権限を設定する配列です。ユーザーごとの権限設定を含まないアクセスルールの場合も、必要となるキーがあります。以下の表に従って設定してください。
キー名 | データ型 | 必須/選択 | 指定値 | 説明 | ||||
---|---|---|---|---|---|---|---|---|
users | rules | 必須 | ユーザーごとの権限設定を含まないアクセスルールの場合も、指定してください。 | |||||
name | <ユーザー名> | 必須 | ユーザー名文字列 | 対象のユーザーを示します。 例) 富士通株式会社 | ||||
crud | read | condition | [行単位条件] | 選択 | 任意 | 行単位制御条件を設定します。 指定された条件が“真”であると判定された場合に、 permittedの内容を適用します。 キーごと省略した場合は“真”と判定し、行単位での制御を行いません。 設定値が空の場合は異常となります。 設定方法の詳細は“B.1.2.3 conditionの設定方法”を参照してください。 | ||
permitted | [<対象オブジェクト>] | 必須 | 任意 | 行単位制御条件が“真”の場合にread権限を許可するオブジェクト名をXpath形式で設定します。 | ||||
permitted | [<対象オブジェクト>] | 必須 | 任意 | read権限を許可するオブジェクト名をXpath形式で設定します。 行単位制御条件が“偽”であると判定された場合、または行単位での制御を行わない場合はこちらが対象となります。 | ||||
update | [<対象オブジェクト>] | 固定 | [] | 製品として固定値のため設定不要。 | ||||
create | [<対象オブジェクト>] | 固定 | [] | 製品として固定値のため設定不要。 | ||||
delete | [<対象オブジェクト>] | 固定 | [] | 製品として固定値のため設定不要。 |
categories
属性(ユーザーの職種、業界、業態)ごとのアクセス権限を設定する配列です。属性ごとの権限設定を含まないアクセスルールの場合も、必要となるキーがあります。以下の表に従って設定してください。
キー名 | データ型 | 必須/選択 | 指定値 | 説明 | ||||
---|---|---|---|---|---|---|---|---|
categories | combining_algorithm | type | 文字列 | 必須 | first-applicable | 複数の認証認可の判定結果を統合する処理パターンを選定します(本版では first-applicable を設定してください)。 属性ごとの権限設定を含まないアクセスルールの場合も、指定してください。 | ||
rules | 必須 | 属性ごとの権限設定を含まないアクセスルールの場合も、指定してください。 | ||||||
name | <属性名> | 必須 | 属性名文字列 | 対象の属性(ユーザーの職種、業界、業態)を示します。 例) 飲料メーカー | ||||
crud | read | condition | [行単位条件] | 選択 | 任意 | 行単位制御条件を設定します。 指定された条件が“真”であると判定された場合に、 permittedの内容を適用します。 キーごと省略した場合は“真”と判定し、行単位での制御を行いません。 設定値が空の場合は異常となります。 設定方法の詳細は“B.1.2.3 conditionの設定方法”を参照してください。 | ||
permitted | [<対象オブジェクト>] | 必須 | 任意 | 行単位制御条件が“真”の場合にread権限を許可するオブジェクト名をXpath形式で設定します。 | ||||
permitted | [<対象オブジェクト>] | 必須 | 任意 | read権限を許可するオブジェクト名をXpath形式で設定します。 行単位制御条件が“偽”であると判定された場合または行単位での制御を行わない場合はこちらが対象となります。 | ||||
update | [<対象オブジェクト>] | 固定 | [] | 製品として固定値のため設定不要。 | ||||
create | [<対象オブジェクト>] | 固定 | [] | 製品として固定値のため設定不要。 | ||||
delete | [<対象オブジェクト>] | 固定 | [] | 製品として固定値のため設定不要。 |
行単位制御用条件として、condition に設定する条件の指定方法を以下に説明します。
条件の指定方法は以下の2種類の演算子を利用することができます。
比較演算子:データ項目値に対して、指定された値との一致/大小関係などの比較を行う。
論理演算子:複数の演算結果の結合を行う。
比較演算子を利用する場合
キー名 | データ型 | 必須/選択 | 指定値 | 説明 | ||
---|---|---|---|---|---|---|
condition | operator | 文字列 | 必須 | 演算子名 | 比較演算子名を設定します。演算子の種類については“<比較演算子一覧>”を参照してください。 設定値が空の場合は異常となります。 | |
operation | lvalue | 文字列 | 必須 | データ項目名 | データ項目名を設定します。 設定値が空の場合は異常となります。 | |
rvalue | 文字列 | 必須 | 比較する値 | lvalueに設定したデータ項目の内容(値)と比較する値を設定します。 設定値が空の場合は異常となります。 | ||
not | 文字列 | 選択 | 真偽値 | 演算に対する結果反転の有無を設定します。 真( true )を設定した場合は、演算結果の真偽値を反転します。 省略すると、偽( false )を採用します。 |
論理演算子を利用する場合
キー名 | データ型 | 必須/選択 | 指定値 | 説明 | |||
---|---|---|---|---|---|---|---|
condition | operator | 文字列 | 必須 | 演算子名 | 論理演算子名を設定します。演算子の種類については“<論理演算子一覧>”を参照してください。 設定値が空の場合は異常となります。 | ||
operation | operator | 文字列 | 必須 | 演算子名 | 比較演算子名を設定します。演算子の種類については“<比較演算子一覧>”を参照してください。 設定値が空の場合は異常となります。 | ||
operation | lvalue | 文字列 | 必須 | データ項目名 | データ項目名を設定します。 設定値が空の場合は異常となります。 | ||
rvalue | 文字列 | 必須 | 比較する値 | lvalueに設定したデータ項目の内容(値)と比較する値を設定します。 設定値が空の場合は異常となります。 | |||
not | 文字列 | 選択 | 真偽値 | 個々の演算に対する結果反転の有無を設定します。 真( true )を設定した場合は、演算結果の真偽値を反転します。 省略すると、偽( false )を採用します。 | |||
not | 文字列 | 選択 | 真偽値 | 論理演算結果全体に対する結果反転の有無を設定します。 真( true )を設定した場合は、演算結果の真偽値を反転します。 省略すると、偽( false )を採用します。 |
演算子名 | 説明 | 判定結果 | 備考 |
---|---|---|---|
string-equal | 指定された文字列と一致するかどうかを判定します(Java実装による)。 | 一致:true 不一致:false | 数値の一致判定にも利用可能です。 |
string-equal-ignore-case | 指定された文字列と一致するかどうかを判定します(大文字/小文字の違いは判断しません)(Java実装による)。 | 一致:true 不一致:false | |
integer-greater-than | 数値の大小を比較します(Java実装による)。 | 演算子の条件に一致:true 不一致:false | |
integer-greater-than-or-equal | 数値の大小を比較します(Java実装による)。 | 演算子の条件に一致:true 不一致:false | |
integer-less-than | 数値の大小を比較します(Java実装による)。 | 演算子の条件に一致:true 不一致:false | |
integer-less-than-or-equal | 数値の大小を比較します(Java実装による)。 | 演算子の条件に一致:true 不一致:false | |
double-greater-than | 数値の大小を比較します(Java実装による)。 | 演算子の条件に一致:true 不一致:false | |
double-greater-than-or-equal | 数値の大小を比較します(Java実装による)。 | 演算子の条件に一致:true 不一致:false | |
double-less-than | 数値の大小を比較します(Java実装による)。 | 演算子の条件に一致:true 不一致:false | |
double-less-than-or-equal | 数値の大小を比較します(Java実装による)。 | 演算子の条件に一致:true 不一致:false | |
string-greater-than | 標準辞書に基づき文字列の大小を比較します(Java実装による)。 | 演算子の条件に一致:true 不一致:false | |
string-greater-than-or-equal | 標準辞書に基づき文字列の大小を比較します(Java実装による)。 | 演算子の条件に一致:true 不一致:false | |
string-less-than | 標準辞書に基づき文字列の大小を比較します(Java実装による)。 | 演算子の条件に一致:true 不一致:false | |
string-less-than-or-equal | 標準辞書に基づき文字列の大小を比較します(Java実装による)。 | 演算子の条件に一致:true 不一致:false | |
string-starts-with | 文字列の先頭文字が一致するかを比較します(Java実装による)。 | 一致:true 不一致:false | |
string-ends-with | 文字列の末尾文字が一致するかを比較します(Java実装による)。 | 一致:true 不一致:false | |
string-contains | 文字列中の文字が一致するか(部分一致するか)を比較します(Java実装による)。 | 一致:true 不一致:false |
演算子名 | 説明 | 判定結果 | 備考 |
---|---|---|---|
and | 全ての演算結果が真( true )である場合に、真( true )であると判定します。 | すべて真:true その他:false | |
or | いずれかの演算結果が真( true )である場合に、真( true )であると判定します。 | すべて偽:false その他:true |