Spec-Zone.ru › Chef 16

azurerm_role_definitions ресурс

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

Используйте azurerm_role_definitions ресурс проверки InSpec, чтобы проверить свойства некоторых или всех определений ролей 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