Сервис «Контроль доступа к персональным данным»

Материал из Wiki ГКБ
Перейти к навигации Перейти к поиску
Главная страница Предыдущая страница


В данной статье описывается принцип работы информационной системы «Контроль доступа к персональным данным» Министерства цифрового развития, инноваций и аэрокосмической промышленности Республики Казахстан (далее – КДП) посредством информационной системы АО «Государственное кредитное бюро» (далее - ГКБ), методы запроса данных, примеры входных и выходных SOAP-запросов, возможные ошибки.



Обратите внимание!

Для ознакомления с правилами функционирования государственного сервиса КДП просим загрузить файл ниже:

Правила функционирования государственного сервиса контроля доступа к персональным данным.


Описание сервиса PersonalDataAccessControl

Адреса web сервисов:
Тестовый сервис https://testscbws.mkb.kz/gbdServices/PersonalDataAccessControlImplService?wsdl
Продуктивный сервис https://scbws.mkb.kz/gbdServices/PersonalDataAccessControlImplService?wsdl
Метод сервиса: getPersonDataAccessControl


При вызове веб-сервиса обязательно указываются следующие параметры:

1. Отличительное имя пользователя и пароль (организации) в HTTP Header, необходимые для базовой аутентификации. Так как коммуникация с веб-сервисами системы идет по защищенному протоколу HTTPS, то базовая аутентификация представляется безопасным решением.

2. Отличительное имя пользователя, от имени которого будет выполнена запрашиваемая операция в SOAP Header:

Http Headers: {Authorization=[Basic Отличительное имя пользователя]

SOAP Message: [Показать ответ]
1.	<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:data="http://data.mtszn.scb.kz/">
2.	 <soapenv:Header>
3.	  <userId>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</userId>
4.	 </soapenv:Header>
5.	 <soapenv:Body>
6.	  <data:getVerifyPhoneInfo/>
7.	 </soapenv:Body>
8.	</soapenv:Envelope>clinet


Метод getPersonDataAccessControl


Метод getPersonDataAccessControl сервиса PersonalDataAccessControl предназначен для получения уникального токена от ИС КДП – электронного ключа в виде набора определённого количества цифр и букв, предназначенного для обеспечения информационной безопасности субъекта.

Таблица 1. Состав данных запроса на получение информации [Показать ответ]


Наименование Поле Формат Обяза­тельность Примечание
1 Номер запроса requestNumber xs:string Да Значение поля должно быть уникаль­ным и не должно повторяться при каждом за­просе.
2 ИИН субъекта uin xs:string Да Значение должно со­держать 12 цифр
3 Наименование организации company xs:string Да Наименование Получателя, запрашивающего доступ к персональным данным субъекта
4 БИН/ИИН организации company_bin xs:string Да БИН/ИИН Получателя, запрашивающего доступ к персональным данным субъекта
5 Наименование организации, у которой запрашиваются данные company_responsible xs:string Да Наименование организации, у которой запрашиваются данные (Например, База мобильных граждан)
6 ФИО сотрудника из организации employee_name xs:string Да ФИО сотрудника Получателя, запрашивающего персональные данные субъекта
7 Перечень сервисов access_name xs:string Да Перечень сервисов (необходимо указывать id сервиса – MCDB_SERVICE)
8 Наименование персональных запрашиваемых по субъекту персональных данных personal_data_name xs:string Да Указывается номер мобильного телефона субъекта, который зарегистрирован на портале egov.kz в «Базе мобильных граждан».
9 Срок действия кода в миллисекундах expiresIn xs:int Да
10 Запрос персональных данных omit-sms xs:boolean Да Запрос персональных данных полученных иным путем (при значении "true" поле "ovt"становится обязательным).
11 Токен верификации в формате JWT ovt xs:string Да заполняется если omit-sms=true
Таблица 2. Состав данных ответа на запрос получения информации [Показать ответ]


Наименование Поле Формат Обяза­тельность Примечание
Возвращаемая информация по токену, который используется в методе сервиса «ГБД РН» getLackOfAvailabilityOfProperty

(responseData/data)

1 Статус запроса status xs:string Да Возвращаемые значения:

VALID – Доступ предоставлен;

INVALID – В доступе отказано;

PENDING – Ожидание ответа субъекта персональных данных;

TIMEOUT – Время ожидания ответа субъекта персональных данных истекло;

NOT_FOUND – По указанному в запросе ИИН отсутствует номер телефона в Базе мобильных граждан;

ERROR – Ошибка, полученная при отправке SMS.

2 Код верификации code xs:string Да Код верификации, представленный в JWT-формате (если статус VALID)
3 Публичный ключ public-key xs:string Да Публичный ключ, необходимый для проверки валидности кода


Инструкция по выпуску токена верификации в формате JWT:


Инструкция по выпуску токена верификации : [Показать ответ]

1. Связаться с КИБ РК для передачи открытой части ключа авторизации AUTH RSA. 2. Выпустить JWT токен и подписать его ключом авторизации AUTH RSA (структура приложена ниже).


Структура JWT токена верификации: Блок header (algorithm & token type): {

 	"alg": "RS256",
 	"typ": "JWT"

} Блок payload (data): {

 	"cbin": <БИН_организации>,
 	"mcheck": <способ_получения_подтверждения_Bio/Ds/Otp/DID/PC>,
 	"iat": <дата_время_создания_токена>,
 	"exp":<дата_время_окончания_действия_токена>

}

где: 1) cbin – БИН организации запросившая доступ к персональных данным (должен соответствовать полю company_bin запроса (Request)); 2) mcheck – способ которым организация получила подтверждение на доступ к персональным данным у субъекта персональных данных. Возможные значения: a. Bio (Система биометрии организации); b. Ds (Электронно-цифровая подпись); c. Otp (Одноразовый пароль OTP); d. DID (Система Digital ID); e. PC (Бумажный носитель информации). 3) iat – дата время создания токена верификации организации в формате Unix Time Stamp (обязательное поле JWT стандарта); 4) exp – дата время окончания действия токена верификации организации в формате Unix Time Stamp (обязательное поле JWT стандарта) (значение должно быть больше iat на один час).

Для проверки структуры JWT токена можно воспользоваться сайтом jwt.io.


Пример вызова метода getPersonDataAccessControl


Пример вызова метода getPersonDataAccessControl сервиса PersonalDataAccessControl с помощью SOAP запроса имеет следующий вид: [Показать ответ]
1.	<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:data="http://data.gbd.chdb.scb.kz/">
2.	   <soapenv:Header>
3.	      <userId>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</userId>
4.	   </soapenv:Header>
5.	   <soapenv:Body>
6.	      <data:getPersonDataAccessControl>
7.	         <requestNumber>xxxx</requestNumber>
8.	         <uin>БИН/ИИН</uin>
9.	         <company>xxxxxxxx</company>
10.	         <company_bin> xxxxxxxxxxxx </company_bin>
11.	         <company_responsible>Наименование организации</company_responsible>
12.	         <employee_name>ФИО</employee_name>
13.	         <access_name>Наименование госуслуги</access_name>
14.	         <personal_data_name>Номер телефона</personal_data_name>
15.	         <expiresIn>0</expiresIn>
16.	         <omit-sms>false</omit-sms>
17.                <ovt></ovt>
18.	      </data:getPersonDataAccessControl>
19.	   </soapenv:Body>
20.	</soapenv:Envelope>


Пример ответа на вызов метода getPersonDataAccessControl


Пример ответа на вызов метода getPersonDataAccessControl сервиса PersonalDataAccessControl с помощью SOAP запроса имеет следующий вид: [Показать ответ]
1.	<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2.	   <soap:Body>
3.	      <ns2:getPersonDataAccessControlResponse xmlns:ns2="http://data.gbd.chdb.scb.kz/" xmlns:ns3="http://bip.bee.kz/SyncChannel/v10/Types">
4.	         <return>
5.	            <response>
6.	               <responseInfo>
7.	                  <messageId>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</messageId>
8.	                  <responseDate>2021-11-24T14:24:45.675</responseDate>
9.	                  <status>
10.	                     <code>1</code>
11.	                     <message>SUCCESS</message>
12.	                  </status>
13.	               </responseInfo>
14.	               <responseData>
15.	                  <data xsi:type="ns3:getUserDataResponse" xmlns:ns2="http://bip.bee.kz/SyncChannel/v10/Types" xmlns:ns3="http://service.2fa-chain.kz/ns/kdp" xmlns:ns4="http://sms.egov.inessoft.kz/common/v10/Types" xmlns:ns5="http://smartbridge.b10.kz" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
16.	                     <ns3:status>VALID</ns3:status>
17.	                     <ns3:code>eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2Mzc3NjM4NzEsImV4cCI6MTYzNzc2Mzg3MSwiYmluYyI6IjEyMDk0MDAxMTU3NyIsImR0cyI6IjIwMjEtMTEtMjRUMTQ6MjQ6MzEiLCJkdGUiOiIyMDIxLTExLTI0VDE0OjI0OjMxIiwidWluIjoiODUwNDE0MzAwMjY1Iiwic2lkIjoiTUNEQl9TRVJWSUNFIn0.AkZMws- CM471fVvRJfiiZxl2fWDlnKo1PAZpxpLknXkyRa0q6F5-ciQf-TjQQoIkS1DdC287r57Ac64m-0lVEhziG7ExNo9hFvrVrqXSttUQ</ns3:code>
18.	                     <ns3:public-key>-----BEGIN CERTIFICATE-----MIIG6zCCBNOgAwIBAgIUb6w9cFeIv32H/2Yr+zwRsL7sescwDQYJKoZIhvcNAQELBQAwUjELMAkGA1UEBhMCS1oxQzBBBgNVBAMMOtKw0JvQotCi0KvSmiDQmtCj05jQm9CQ0J3QlNCr0KDQo9Co0Ksg0J7QoNCi0JDQm9Cr0pogKFJTQSkwHhcNMjEwMzEwMTExNDU3WhcNMjIwMzEwMTExNDU3WjCCASExJjAkBgNVBAMMHdCW0JXQotCf0JjQodCe0JIg0J3Qo9Cg0JHQldCaMRkwFwYDVQQEDBDQltCV0KLQn9CY0KHQntCSMRgwFgYDVQQFEw9JSU45MTA4MTAzNTAwODMxCzAJBgNVBAYTAktaMXgwdgYDVQQKDG/ =-----END CERTIFICATE-----</ns3:public-key>
19.	                  </data>
20.	               </responseData>
21.	            </response>
22.	         </return>
23.	      </ns2:getPersonDataAccessControlResponse>
24.	   </soap:Body>
25.	</soap:Envelope>


Обработка исключений метода getPersonDataAccessControl


При обработке запроса метод getPersonDataAccessControl сервиса может возвращать следующие виды ошибок/исключений/сообщений: [Показать ответ]


Код/Текст ошибки/сообщения Описание ошибки/сообщения
SBF-VE-8 Номер "ИИН" должен содержать 12 цифр
VAL-JSR-001 Значение обязательного поля "%s" не должно быть пустым
VAL-JSR-001 Обязательное поле "%s" отсутствует
ScbSystemFault Пользователь %s не имеет прав для вы­пол­нения действия
FAULT-015 Сервис на стороне ГБД не досту­пен


Справочник ГБД (serviceID)


Ниже приведен список сервисов, которые работают с КДП: [Показать ответ]


Главная страница Предыдущая страница