Расположение файла состояния Terraform удаленно в хранилище Azure Blob не должно быть так же легко, как создание контейнера и настраивая бэкэнда, вы должны рассмотреть несколько лучших практик. В этом посте я буду накладывать практики, которые я использовал при закреплении и внедрении избыточности на учетную запись для хранения, содержащих файлы состояния террафора.
Примечание. Некоторые настройки могут увеличить стоимость вашей учетной записи хранения, поэтому, пожалуйста, обратитесь к Ценовая страница Microsoft . Вы также должны рассмотреть каждую практику в качестве рекомендации и оценить на основе вашей настройки/потребностей.
Подписка и разрешения ресурсов
При хранении файлов состояния террафора на учетной записи хранения необходимо просмотреть разрешения подписки, групп ресурсов и ресурса. Файлы состояния террафора содержат конфиденциальную информацию и сам по себе следует считать чувствительной. Проверьте IAM (управление идентификацией и доступом), чтобы убедиться, что те, кто нуждается в доступе к ресурсу, имеют разрешения, и те, кто не должен быть удален. Рассмотрим SAS (Shared Access Signature) как другое средство аутентификации (упоминается дальше в этом посте).
Вы можете найти IAM на левой боковой панели с именем Контроль доступа (IAM) от любой подписки, группы ресурсов или ресурса.
Выбранные сети
Вы можете защитить доступ к контейнеру BLOB, обеспечивая доступ к выбранным сетям. Указание сетей снижают внешние угрозы данных, потому что только пользователи, которые на указанных сетях предоставляются доступ после аутентификации.
Чтобы настроить это, перейдите в свой Учетная запись для хранения и выберите из левого меню Сетевые Отказ Отсюда вы можете затем изменить радиопередачу от всех сетей в выбранные сети, где вы можете настроить настройки сети.
Лазурный защитник
Защитник Azure по умолчанию отключен, но может быть включен на всей учетной записи хранилища. Защитник Azure обнаруживает попытки доступа к контейнерам, которые считаются вредными. Если вы используете только учетную запись хранилища, чтобы содержать файлы состояния в контейнере BLOB, то стоимость на основе 10 000 транзакций очень низкая и должна рассматриваться как возможность включения.
Чтобы включить, выберите Безопасность С левого бокового меню в учетной записи хранения.
Отсюда вы можете выбрать Включить защитник Azure для хранения (Вам также будет предоставлена текущая сумма транзакции, эта учетная запись для хранения, чтобы помочь с оценкой затрат).
Гео репликация
Существует три формы репликаций, которые вы можете настроить, LRS (локально избыточное хранилище), GRS (GEO избыточное хранение) и Ra-GRS (Read Access Geo Restrant Storage). В зависимости от наличия данных, я бы рассмотрел либо репликацию GRS, либо RA-GRS на среду, где используется террафом для управления многими ресурсами. GRS выполнит такую же синхронизацию данных, которые LRS (три копии в локальный регион), но затем скопируют данные в вторичный регион. RA-GRS сделает то же самое, что GRS, но данные будут только прочитаны только. Выбор одного из этих типов репликаций зависит от того, если вы хотите иметь копию только для чтения данных в другом регионе или если вы хотите активно использовать эту копию данных, когда исходный регион не работает.
Репликация GEO может быть настроена во время настройки учетной записи хранилища и реконфигурирована после его создания. Чтобы перенастроить существующую репликацию хранилища, выберите Конфигурация из левого бокового меню.
В окне вы можете выбрать из Репликация Выпадайте тип репликации, которую вы хотите для учетной записи хранилища.
Мягкое удаление
В качестве меры предосторожности убедитесь, что мягкое удаление включено. Чем больше дней вы добавляете программное удаление, тем больше вы платите, так как данные хранятся где-то, так что установить что-то разумное, как 30 дней. После того, как указанное время мягкого удаления было достигнуто, данные постоянно удаляются.
Чтобы проверить программное удаление настроено, выберите Защита данных из левого бокового меню.
Здесь вы можете включить и настроить Включите мягкое удаление для Blobs Отказ
Версию
Версификация — это важная настройка, когда речь идет о восстановлении файлов. Вы можете выбрать файл «Государственный файл Terraform» и оглядывайтесь на все изменения, которые были загружены для этого файла, позволяя вам восстановиться из предыдущей версии, сделав ее текущей версией. Включите это, если еще не включен.
Чтобы включить версию, выберите Защита данных из левого бокового меню.
Затем установите флажок рядом с Включите версию для Blobs
Изменить подачу
Для наблюдаемости я рекомендую включить BLOB-изменение подачи подачи, поэтому изменения, сделанные на контейнере BLOB, проверяются для целей безопасности и расследования. Вы можете либо прочитать файлы журнала в контейнере или использовать альтернативные методы для проглатывания этих данных для мониторинга/чтения.
Включение подачи изменения, выберите Защита данных из левого бокового меню.
Отсюда вы можете установить флажок рядом с Включите BLOB Смена подачи Отказ
Публичный доступ
По умолчанию CLOB Public Access включен. Чтобы предотвратить любую ошибку, отключение общественного доступа — это разумный вариант, поэтому только аутентифицированные методы могут получить доступ к ресурсам. Обратитесь к Microsoft Documentation На предотвращении анонимного доступа к чтению до хранения BLOB.
Чтобы отключить публичный доступ, выберите Конфигурация из левого бокового меню.
Выберите Отключено Под заголовком Разрешить BLOB общественный доступ Отказ
Уровень доступа
Существует три уровня доступа к контейнеру для блокового контейнера, частного, лоб и контейнера. Частный является единственным контейнером, который предотвращает анонимный доступ к данным внутри и должен быть один на выбор. Если вы уже отключили общественный доступ, то частный будет применен ко всем контейнерам, а два других параметра не будут доступны.
Выберите Контейнер из бокового меню.
Выберите контейнер BLOB и выберите Изменить уровень доступа С верхней части окна, чтобы поменять уровень доступа уровня доступа.
Удалить замок
Предотвратите удаление вашей учетной записи хранилища, настроив удар, чтобы удаление не может произойти без удаления блокировки.
Чтобы установить блокировку удаления, выберите Замки из бокового меню внутри Учетная запись для хранения Отказ
Отсюда вы можете создать новый замок и установить тип как Удалить Отказ
SAS токенс
Рассмотрим SAS токены, если вы предоставляете доступ к людям/приложениям на определенный период. Токены SAS могут быть использованы для аутентификации подлинности на бэкэнде, используя указанную конфигурацию Hashicorp перечислены на их сайте . Это снижает необходимость создания принципалов услуг или управленческих личностей (MSI).
Снимки
Я бы только порекомендовал сделать снимок, если вы собираетесь манипулировать файлом состояния. Это даст вам дополнительную точку восстановления, если файл состояния каким-то образом перерывается (я не удался управлять файлом восстановления и никакой точки восстановления вернуться назад. Версия для версии — это опция для восстановления, но в качестве меры предосторожности, я чувствую, что снимка — это хорошо, а затем удалить, как только подтвердите файл, работает как предназначен.
Оригинал: «https://dev.to/officialcookj/best-practice-terraform-state-in-azure-blob-container-4ol3»