Spec-Zone.ru › Chef 18

azurerm_role_definitions ресурс

[править на GitHub]

Используйте ресурс аудита InSpec azurerm_role_definitions для проверки свойств некоторых или всех определений ролей Azure.

Версия Azure REST API

Этот ресурс взаимодействует с версией 2015-07-01 API Azure Graph. Дополнительную информацию см. в официальной документации Azure.

В настоящее время, похоже, нет способа выбрать версию документации Azure API. Если вы заметите, что в официальной документации упоминается более новая версия, пожалуйста, откройте вопрос или отправьте запрос на вытягивание с обновленной версией.

Доступность

Установка

Этот ресурс доступен в inspec-azure пакете ресурсов. Для его использования добавьте следующее в свой inspec.yml в вашем профиле верхнего уровня:

depends:
  - name: inspec-azure
    git: https://github.com/inspec/inspec-azure.git

Вам также потребуется настроить свои учетные данные Azure; см. README пакета ресурсов.

Версия

Этот ресурс стал доступен в версии 1.3.7 пакета ресурсов inspec-azure.

Синтаксис

Блок ресурса azurerm_role_definitions возвращает все определения ролей в рамках подписки и позволяет их проверку.

describe azurerm_role_definitions do
  ...
end

Примеры

В следующих примерах показано, как использовать этот ресурс аудита InSpec.

Проверка наличия правильных разрешений у роли

describe azurerm_role_definitions.where{name.eql?('Custom-Admin')} do
    its ('properties.first.permissions.first') { should have_attributes(actions: ['*']) }
end

Проверка отсутствия определенных разрешений у роли

describe azurerm_role_definitions do
  its ('properties.first.permissions.first')  { should have_attributes(notActions: [
      'Microsoft.Authorization/*/Delete',
      'Microsoft.Authorization/*/Write',
      'Microsoft.Authorization/elevateAccess/Action',
      'Microsoft.Blueprint/blueprintAssignments/write',
      'Microsoft.Blueprint/blueprintAssignments/delete'
  ]) }
end

Критерии фильтрации

names

Фильтрует результаты, включая только те группы ресурсов, которые соответствуют заданному имени. Это строковое значение.

describe azurerm_role_definitions.where{name.eql?('Custom-Admin') } do
  it { should exist }
end

Свойства

  • ids
  • names
  • properties

ids

Идентификаторы объектов ролей.

names

Имена ролей. Для встроенной роли это будет сгенерированный Azure UUID. Для пользовательской роли это будет имя, указанное вами при создании.

properties

Дополнительные свойства, доступные для ролей. Могут быть доступны с использованием точечной нотации в контролях.

Сопоставители

Этот ресурс аудита InSpec имеет следующие специальные сопоставители. Полный список доступных сопоставителей можно найти на нашей странице Универсальные сопоставители.

exists

Контроль будет пройден, если фильтр возвращает как минимум один результат. Используйте should_not если ожидается ноль совпадений.

describe azurerm_role_definitions 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_role_definitions/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API