Spec-Zone.ru › Chef 18

Ресурс azurerm_role_definition

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

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

Версия Azure REST API

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

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

Доступность

Установка

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

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

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

Версия

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

Синтаксис

Имя name роли должно быть предоставлено в качестве параметра. Для встроенных ролей, таких как Owner или Contributor, это имя роли имеет вид UUID. Для CustomRole ролей, добавленных вами в подписку, поле Name будет тем, что вы выбрали при создании роли.

describe azurerm_role_definition(name: 'some-custom-role-name') do
  ...
end

Примеры

Убедитесь, что заданная роль имеет определённое разрешение

describe azurerm_role_definition(name: 'policy-reader-only')
  it { should exist }
    its('permissions_allowed') { should include 'Microsoft.Authorization/policyassignments/read'}
    its('permissions_allowed') { should_not include 'Microsoft.Authorization/policyassignments/write'}
    its('permissions_allowed') { should_not include '*'}
end

Атрибуты

  • id
  • name
  • role_name
  • type
  • role_type
  • assignable_scopes
  • permissions_allowed
  • permissions_not_allowed

id

Идентификатор объекта роли

name

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

role_name

Читаемое человеком имя роли.

type

Тип объекта, например Microsoft.Authorization/roleDefinitions

role_type

BuiltInRole или CustomRole

assignable_scopes

Области назначения роли.

permissions_allowed

Разрешения поставщика, предоставленные этой ролью.

permissions_not_allowed

Разрешения поставщика, заблокированные этой ролью.

Другие атрибуты

Есть дополнительные атрибуты, к которым можно получить доступ, которые мы не задокументировали. Пожалуйста, ознакомьтесь с документацией Azure. Любой атрибут в ответе можно получить с помощью имён ключей, разделённых точками (.). Учитывая пример ответа в их документации:

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

Обработчики соответствия

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

exists

describe azurerm_role_definition(name: 'some-role') 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_definition/

Spec-Zone.ru

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