Отредактируйте файл sql для защиты учетных данных при развертывании проекта в azure devOps - PullRequest
0 голосов
/ 05 марта 2020

Я использую инструмент с открытым исходным кодом для развертывания схемы для моей снежинки хранилища. Я успешно сделал это для таблиц, представлений и процедур. В настоящее время я сталкиваюсь с проблемой, я должен развернуть этапы снежинки таким же образом. Но для этапов требуются URL-адрес и azure saas-токен, когда вы задаете его в файле sql следующим образом:

CREATE or replace STAGE myStage
URL = 'azure://xxxxxxxxx.blob.core.windows.net/'
CREDENTIALS = ( AZURE_SAS_TOKEN = 'xxxxxxxxxxxxxxxxxxxx' )
file_format = myFileFormat;

Поскольку не рекомендуется использовать ваши учетные данные в файле, который будет опубликован в системе управления версиями. и доступ других. Есть ли способ / задача в azure devOps, чтобы я мог просто передать файл шаблона SQL в репо и изменить его перед компиляцией и выполнением (может быть через azure хранилище ключей) и вернуться обратно в шаблон? Таким образом, эти учетные данные и токен всегда остаются в безопасности.

Ответы [ 2 ]

0 голосов
/ 06 марта 2020

Для этой проблемы вы можете использовать этапы без учетных данных для защиты своего облачного хранилища без обмена секретами.

Здесь согласны с Mike , интеграции хранилищ , a новый тип объекта, позволяющий администратору Snowflake создавать политику доверия между Snowflake и провайдером облака. Когда Snowflake подключается к облачному хранилищу организации, облачный провайдер аутентифицирует и авторизует доступ с помощью этой политики доверия.

Интеграция с хранилищем и внешние этапы без учетных данных предоставляют администратору возможность подключения к хранилищу в безопасном и безопасном режиме. управляемый способ. Эта функциональность теперь общедоступна в Snowflake.

Подробнее см. В этом документе . Кроме того, вы также можете использовать azure хранилище ключей, хранилище ключей обеспечивает безопасное место для доступа и хранения секретов.

0 голосов
/ 05 марта 2020

Вы рассматривали возможность использования ИНТЕГРАЦИИ ХРАНЕНИЯ? Если вы используете учетные данные интеграции хранилища и предоставляете их хранилищу BLOB-объектов, вы сможете создавать объекты STAGE без передачи каких-либо учетных данных вообще.

https://docs.snowflake.net/manuals/sql-reference/sql/create-storage-integration.html

...