azurerm_sql_database ресурс
Используйте azurerm_sql_database ресурс аудита InSpec для проверки свойств и конфигурации базы данных Azure SQL на SQL Server.
Версия Azure REST API
Этот ресурс взаимодействует с версией 2017-10-01-preview 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.2.0 пакета ресурсов inspec-azure.
Синтаксис
resource_group, server_name и database_name должны быть заданы как параметр.
describe azurerm_sql_database(resource_group: 'inspec-rg', server_name: 'customer_server', database_name: 'order-db') do
it { should exist }
end
Примеры
Если база данных SQL ссылается на допустимые Resource Group, Server Name и Database name.
describe azurerm_sql_database(resource_group: 'inspec-rg', server_name: 'customer_server', database_name: 'order-db') do
it { should exist }
its('name') { should be 'order-db'}
end
Если база данных SQL ссылается на недопустимые Resource Group, Server Name или Database Name.
describe azurerm_sql_database(resource_group: 'inspec-rg', server_name: 'customer_server', database_name: 'invalid-db-name') do
it { should_not exist }
end
Параметры
-
resource_group- Группа ресурсов, к которой принадлежит SQL Server. -
server_name- Уникальное имя SQL Server. -
database_name- Уникальное имя базы данных SQL.
Атрибуты
idnamekindlocationtypeskuproperties
id
Идентификатор ресурса Azure.
name
Имя SQL Server, например customer-database.
kind
Тип базы данных sql. Это метаданные, используемые для работы с порталом Azure.
location
Расположение ресурса, например eastus.
type
Тип ресурса, обычно Microsoft.Sql/servers/databases.
sku
Имя и уровень SKU.
properties
Коллекция дополнительных свойств конфигурации, относящихся к базе данных SQL, например collation.
Другие атрибуты
Есть дополнительные атрибуты, к которым можно получить доступ, которые мы не задокументировали. Пожалуйста, ознакомьтесь с документацией Azure. Любой атрибут в ответе можно получить по ключам, разделенным точками (.).
API может не всегда возвращать ключи, которые не имеют связанных данных. Может быть случай, когда глубоко вложенное свойство может не иметь нужного атрибута в цепочке вызовов. Если вы обнаруживаете, что пишете тесты против свойств, которые могут быть nil, создайте вилку этого пакета ресурсов и добавьте к нему метод доступа к ресурсу. В этом методе доступа вы сможете защититься от нулевых ключей. Запросы на вытягивание всегда приветствуются.
Сопоставители
Этот ресурс аудита InSpec имеет следующие специальные сопоставители. Для получения полного списка доступных сопоставителей, пожалуйста, посетите нашу страницу универсальных сопоставителей.
exists
describe azurerm_sql_database(resource_group: 'my-rg', server_name: 'server-name-1', database_name: 'customer-db') 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_database/