Ресурс azurerm_sql_databases
Используйте ресурс аудита InSpec azurerm_sql_databases для проверки свойств и конфигурации баз данных Azure SQL.
Версия Azure REST API
Этот ресурс взаимодействует с версией 2017-10-01-preview API управления Azure. Дополнительную информацию можно найти в официальной документации Azure.
В настоящее время не представляется возможным выбрать версию документации API Azure. Если вы обнаружите упоминание более новой версии в официальной документации, откройте вопрос или отправьте запрос на добавление с обновленной версией.
Доступность
Установка
Этот ресурс доступен в inspec-azure пакете ресурсов. Для его использования добавьте следующее в ваш inspec.yml в вашем профиле верхнего уровня:
depends:
- name: inspec-azure
git: https://github.com/inspec/inspec-azure.git
Вам также потребуется настроить ваши учетные данные Azure; см. раздел README пакета ресурсов.
Версия
Этот ресурс впервые стал доступен в версии 1.2.0 пакета ресурсов inspec-azure.
Синтаксис
Блок ресурса azurerm_sql_databases возвращает все базы данных SQL на сервере SQL в пределах группы ресурсов.
describe azurerm_sql_databases(resource_group: ..., server_name: ...) do
...
end
Примеры
В следующих примерах показано, как использовать этот ресурс аудита InSpec.
Проверка наличия баз данных SQL
describe azurerm_sql_databases(resource_group: 'resource-group-1', server_name: 'production') do
it { should exist }
its('names') { should include 'my-database-name' }
end
Критерии фильтрации
-
azure_sql_databasesресурсы могут быть отфильтрованы по всем доступным свойствам. Ниже приведены некоторые примеры.
names
Фильтрует результаты, включая только те базы данных, которые соответствуют заданному имени. Это строковое значение.
describe azurerm_sql_databases(resource_group: 'rg', server_name: 'server').where{ name.eql?('production-database') } do
it { should exist }
end
location
Фильтрует результаты, включая только те группы ресурсов, которые находятся в заданном расположении. Это строковое значение.
describe azurerm_sql_databases(resource_group: 'rg', server_name: 'server').where{ location.eql?('eastus') } do
it { should exist }
end
Атрибуты
idnamekindlocationtypeskuproperties
ids
Идентификатор ресурса Azure.
names
Имя базы данных SQL, например, my-sql-database.
its('names') { should include 'my-sql-database' }
kinds
Тип базы данных sql. Это метаданные, используемые для опыта работы в портале Azure.
locations
Расположение ресурса, например, eastus.
its('locations') { should_not include 'eastus' }
type
Тип ресурса, как правило, Microsoft.Sql/servers/databases.
sku
Имя и уровень SKU.
properties
Коллекция дополнительных свойств конфигурации, связанных с базой данных SQL, например, collation.
Матчеры
Этот ресурс аудита InSpec имеет следующие специальные матчеры. Полный список доступных матчеров вы найдете на нашей странице универсальных матчеров.
exists
Управление будет пройдено, если фильтр вернет по крайней мере один результат. Используйте should_not если ожидается ноль совпадений.
describe azurerm_sql_databases 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_sql_databases/