Работа с конфиденциальными данными
В Tengri реализован специальный механизм для безопасного хранения конфиденциальных данных — секретов (паролей, API-ключей, токенов доступа и других учетных данных) и их безопасного использования в коде.
Главное преимущество функционала — безопасность. Значение секрета сохраняется в зашифрованном виде один раз. Оно подставляется на стороне сервера непосредственно во время выполнения запроса и больше никогда не отображается в интерфейсе платформы.
Работа с секретами осуществляется во вкладке Настройки > Секреты.
| В целях безопасности значение сохраненного секрета невозможно просмотреть или скопировать из интерфейса после его создания. |
Как это работает
Пользователь создает секрет через графический интерфейс, задавая ему уникальное имя (идентификатор) и значение. После сохранения на этот секрет можно ссылаться в коде по идентификатору с помощью специальной функции secret.
- Синтаксис
-
secret('идентификатор')
Пример
Зададим три секрета для доступа к хранилищу AWS через графический интерфейс.
Теперь используем функцию secret для задания параметров доступа к хранилищу AWS, не раскрывая секреты в коде.
import boto3
s3_client = boto3.client('s3',
endpoint_url=secret('aws_url'),
aws_access_key_id=secret('aws_access_key_id'),
aws_secret_access_key=secret('aws_access_key'),
region_name='us-east-1')
В настоящее время использование секретов реализовано для кода на Python. Использование секретов в коде SQL — в стадии разработки. Чтобы использовать секреты в коде SQL, можно воспользоваться функцией tngri.sql.
|