Spec-Zone.ru › Chef 18

azurerm_ad_user ресурс

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

Используйте ресурс аудита InSpec azurerm_ad_user для проверки свойств пользователя Azure Active Directory в рамках арендатора.

Версия Azure REST API

Этот ресурс взаимодействует с версией 1.6 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.1.0 пакета ресурсов inspec-azure.

Синтаксис

user_id должен быть передан в качестве параметра.

describe azurerm_ad_user(user_id: 'someUserId') do
  it { should exist }
end

Примеры

Если учетная запись пользователя Active Directory указана с корректным идентификатором

describe azurerm_ad_user(user_id: 'someValidId')
  it { should exist }
end

Если учетная запись пользователя Active Directory указана с некорректным идентификатором

describe azurerm_ad_user(user_id: 'someInvalidId')
  it { should_not exist }
end

Параметры

  • user_id

Примеры параметров

user_id является обязательным параметром.

describe azurerm_ad_user(user_id: 'MyUserId') do
    ...
end

Атрибуты

  • object_id
  • account_enabled
  • city
  • country
  • department
  • displayName
  • facsimile_telephone_number
  • given_name
  • job_title
  • mail
  • mail_nickname
  • mobile
  • password_policies
  • password_profile
  • postal_code
  • state
  • street_address
  • surname
  • telephone_number
  • usage_location
  • user_principal_name
  • user_type

object_id

Идентификатор объекта пользователя.

account_enabled

Включена ли учетная запись.

city

Город пользователя.

country

Страна пользователя.

department

Департамент пользователя.

displayName

Идентификатор пользователя.

facsimile_telephone_number

Факс пользователя.

given_name

Имя пользователя.

job_title

Должность пользователя.

mail

Основной адрес электронной почты пользователя.

mail_nickname

Псевдоним почтового адреса пользователя.

mobile

Мобильный телефон пользователя.

password_policies

Политики паролей для пользователя.

password_profile

Профиль пароля пользователя.

postal_code

Почтовый индекс пользователя.

state

Регион пользователя.

street_address

Улица пользователя.

surname

Фамилия пользователя.

telephone_number

Телефонный номер пользователя.

usage_location

Двухбуквенный код страны (стандарт ISO 3166). Требуется для пользователей, которым будут назначены лицензии из-за юридических требований к проверке доступности услуг в странах. Например: «US», «JP» и «GB».

user_principal_name

Основное имя пользователя.

user_type

Строковое значение, которое можно использовать для классификации типов пользователей в каталоге, например «Член» и «Гость».

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

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

...
  "preferredLanguage": "en-US",
  "provisionedPlans": [
    {
      "capabilityStatus": "Enabled",
      "provisioningStatus": "Success",
      "service": "exchange"
    },
...

Мы можем получить доступ к provisioningStatus следующим образом:

its('provisionedPlants.first.provisioningStatus') { should eq "Success" }

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

Сравниватели

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

exists

describe azurerm_ad_user(user_id: 'someUserId') do
  it { should exist }
end

Разрешения Azure

Используемое вами приложение клиента/Active Directory (AZURE_CLIENT_ID) должно иметь разрешения на чтение данных пользователей из API Azure Graph RBAC.

Для получения информации о том, как предоставить эти разрешения своему приложению, обратитесь к документации Microsoft.

Примечание: администратор Azure должен предоставить вашему приложению эти разрешения.

© 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_ad_user/

Spec-Zone.ru

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