bash интеграция с terraform - PullRequest
0 голосов
/ 27 мая 2020
• 1000 Я создал машинный код, и я интегрирую файл сценария оболочки с расширением terraform.

, поэтому проблема заключается в том, что когда azcopy копирует файл из системы и передает его в учетную запись хранения, требуется вход в систему azcopy для аутентификации этого процесса, но эти шаги мы можем 'Не выполнять через автоматизацию.

с использованием следующего сценария azcopy и версии v10, пожалуйста, помогите мне с этой

AzCopy /Source:/var/log/syslog/Dest:https://testingwt.blob.core.windows.net/insights-operational-logs//SourceKey:y/bUACOu/wogikUT1EG0XeaPC4Y6spHcZly2d26QeENKwMiRpjFu5PwmXrThRbNGS3PiPfqEX8WsYC3dg== /S

обновленная ошибка azcopy с использованием linux машины в azure

1 Ответ

0 голосов
/ 01 июня 2020

Для автоматической загрузки файлов в большой двоичный объект хранилища с помощью сценария оболочки можно использовать маркер SAS хранилища или azcopy login с субъектом службы или управляемым удостоверением виртуальной машины.

Для токена SAS:

azcopy copy "/path/to/file" "https://account.blob.core.windows.net/mycontainer1/?sv=2018-03-28&ss=bjqt&srt=sco&sp=rwddgcup&se=2019-05-01T05:01:17Z&st=2019-04-30T21:01:17Z&spr=https&sig=MGCXiyEzbtttkr3ewJIh2AR8KrghSy1DGM9ovN734bQF4%3D" --recursive=true

Для субъекта-службы необходимо установить переменную среды AZCOPY_SPA_CLIENT_SECRET с секретом субъекта-службы в качестве значения и назначить роль Storage Blob Data Contributor или роль Storage Blob Data Owner большого двоичного объекта хранилища:

azcopy login --service-principal --application-id <application-id> --tenant-id=<tenant-id>
azcopy copy "/path/to/file" "https://account.blob.core.windows.net/mycontainer1/" --recursive=true

Для управляемого удостоверения виртуальной машины вам также необходимо назначить управляемому удостоверению ВМ роль Storage Blob Data Contributor или роль Storage Blob Data Owner большого двоичного объекта хранилища :

azcopy login --identity
azcopy copy "/path/to/file" "https://account.blob.core.windows.net/mycontainer1/" --recursive=true

Но когда вы используете управляемую идентификацию виртуальной машины, вам необходимо выполнить сценарий оболочки на виртуальной машине Azure, это означает, что вам необходимо развернуть Terraform на виртуальной машине Azure. Итак, лучший способ - использовать субъект-службу, вы можете выполнить сценарий оболочки в другой Linux ОС, например, на вашем локальном Linux компьютере. Токен SAS также является хорошим способом без назначения роли. Для получения дополнительных сведений см. Использование Azcopy для Azure большого двоичного объекта хранилища .

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