azurerm_storage_account_blob_container ресурс
Используйте ресурс проверки InSpec для проверки свойств, связанных с контейнером Blob в учетной записи Azure Storage.
Версия Azure REST API
Этот ресурс взаимодействует с версией 2018-07-01 API Azure Management. Дополнительную информацию см. в официальной документации Azure.
В настоящий момент, похоже, нет способа выбрать версию документации Azure API. Если вы заметите упоминание новой версии в официальной документации, откройте вопрос или отправьте запрос на включение новой версии.
Доступность
Установка
Этот ресурс доступен в inspec-azure пакете ресурсов. Для использования добавьте следующее в свой inspec.yml в вашем профиле верхнего уровня:
depends:
- name: inspec-azure
git: https://github.com/inspec/inspec-azure.git
Вам также потребуется настроить свои учетные данные Azure; см. README пакета ресурсов.
Версия
Этот ресурс стал доступен в версии 1.3.0 пакета ресурсов inspec-azure.
Синтаксис
Блок azurerm_storage_account_blob_container возвращает запрошенный контейнер Blob в учетной записи Azure Storage.
resource_group, storage_account_name и blob_container_name должны быть предоставлены в качестве параметров.
describe azurerm_storage_account_blob_container(resource_group: 'rg', storage_account_name: 'production',
blob_container_name: 'logs') do
...
...
end
Примеры
Убедитесь, что контейнер Blob существует
describe azurerm_storage_account_blob_container(resource_group: 'rg', storage_account_name: 'default',
blob_container_name: 'logs') do
it { should exist }
its('name') { should eq('logs') }
end
Убедитесь, что контейнер Blob является частным
describe azurerm_storage_account_blob_container(resource_group: 'rg', storage_account_name: 'production',
blob_container_name: 'logs') do
its('properties') { should have_attributes(publicAccess: 'None') }
end
Параметры
resource_groupstorage_account_nameblob_container_name
Атрибуты
idnameetagpropertiestype
id
Полный квалифицированный идентификатор ресурса для ресурса, например:
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
name
Имя ресурса
etag
Значение ETag ресурса, например:
\"0x8D592D74CC20EBA\"
properties
Дополнительные свойства, относящиеся к контейнеру Blob, например:
its('properties') { should have_attributes(publicAccess: 'None') }
type
Тип ресурса, например:
Microsoft.Storage/storageAccounts/blobServices/containers
Другие атрибуты
Существуют дополнительные атрибуты, к которым можно получить доступ, которые мы не задокументировали. Пожалуйста, ознакомьтесь с документацией Azure. Любой атрибут в ответе может быть получен с использованием имен ключей, разделенных точками (.).
API может не всегда возвращать ключи, не имеющие связанных данных. Может быть случаи, когда глубоко вложенное свойство может не иметь желаемого атрибута в цепочке вызова. Если вы обнаруживаете, что пишете тесты для свойств, которые могут быть пустыми (null), создайте форк этого пакета ресурсов и добавьте в него метод доступа к ресурсу. В этом методе доступа вы сможете защититься от пустых ключей (null). Запросы на включение всегда приветствуются.
Обработчики
Этот ресурс проверки InSpec имеет следующие специальные обработчики. Для получения полного списка доступных обработчиков, пожалуйста, посетите нашу страницу универсальных обработчиков.
exists
describe azurerm_storage_account_blob_container(resource_group: 'rg', storage_account_name: 'production',
blob_container_name: 'logs') do
it { should exist }
end
Разрешения Azure
Ваш сервисный принцип должен быть настроен с ролью contributor на подписке, которую вы хотите протестировать.
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/azurerm_storage_account_blob_container/