メインコンテンツまでスキップ

11) セキュリティ文書の権限確認

SCIサーバーのユーザーIDに基づくセキュリティ文書権限確認

API

MethodURL
POST/api/internal/authCheck

Request Header

NameRequiredDescription
Authorizationrequiredユーザー認証手段、JWT値
Authorization: Bearer {JWT}
参考 : JWT値は認証/認可サービスを通じて発行されます。

Request Body

NameRequiredTypeDescription
srcFilePathrequiredstring暗号化文書のパス
companyIdrequiredstring権限確認時の会社ID(会社別キーデータ取得時に使用)
userIdrequiredstring権限確認時の対象ユーザーID

Response

NameTypeDescription
codeint成功の有無 (0:成功)
userIdstring対象ユーザーID
readint読み取り権限 (1:権限あり / 0:権限なし)
editint書き込み権限 (1:権限あり / 0:権限なし)
decryptint復号化権限 (1:権限あり / 0:権限なし)

Examples

Request Body

  • Body
{
"srcFilePath": "E:\\test\\orgin\\test.xlsx",
"companyId": "7FDKQsEK-QVGKyXA2-fx1LxIzy-SNIre0s9",
"userId" : "huiju.lee"
}

Response

  • 成功

Status code : 200 OK

{
"code": 0,
"userId": "huiju.lee",
"read": 1,
"edit": 0,
"decrypt": 0
}
  • 失敗

Status code : 400 Bad Request

{
"code": 40101,
"message": "Invalid token",
"detail": "invalid_token"
}

セキュリティ文書権限判断ルール

ユーザーIDとセキュリティ文書ヘッダー情報に基づいて、Key Vaultに連携されたSCIサーバーの権限を返します。

[DAC] : セキュリティ文書属性のアクセス対象者情報権限として判断

(1) キーボルトでユーザーIDを使用してグループパス情報を取得
(2) ヘッダー情報からDACオブジェクトのDAC_TYPE_IDリストを収集(DAC_TYPEが0のユーザーリスト、1の部門リスト)
(3) ユーザーリストにマッチするIDがある場合、DAC_READ、DAC_EDIT、DAC_DECRYPT権限を返します。
(4) 1番で取得したグループパスの最初のグループIDからマッチするIDがあれば、DAC_READ、DAC_EDIT、DAC_DECRYPT権限を返します。
(5) 3~4の過程でマッチする DAC_TYPE_ID がない場合、DAC_READ、DAC_EDIT、DAC_DECRYPT 権限なしを返す

[MAC] : SCIサーバーのカテゴリオンライン権限で判断

(1) キーボルトでユーザーIDから分類IDを取得 (2) ヘッダー情報からMACオブジェクトのMAC_CATEGORYを取得 (3) 2番と1番で取得した情報(MAC_CATEGORY-ユーザー分類ID)を基にキーボルトで該当カテゴリのオンライン権限(onlinegradeauth)を取得 (4) 3番で取得したオンライン権限文字列の最初の3桁(読み取り、編集、解除)の権限を返す

[GRADE] : SCIサーバーのグレードオンライン権限で判断

(1) キーボルトでユーザーIDから分類IDを取得
(2) ヘッダー情報からDACオブジェクトのDAC_TYPEリストを取得
(3) DAC_TYPEが2のDAC_TYPE_IDとDAC_GRADE_ACCESS_CLASS_IDを取得
(4) DAC_TYPE_ID(keyid)でキーボルトからonlinegradeauthを取得
(5) 1番で取得した分類IDがDAC_GRADE_ACCESS_CLASS_IDに含まれているか確認
(6) 含まれている場合は、オンライン権限文字列の最初の3文字(読み取り、編集、解除)権限を返します。