azurerm_ad_user ресурс
Используйте ресурс аудита 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_idaccount_enabledcitycountrydepartmentdisplayNamefacsimile_telephone_numbergiven_namejob_titlemailmail_nicknamemobilepassword_policiespassword_profilepostal_codestatestreet_addresssurnametelephone_numberusage_locationuser_principal_nameuser_type
object_id
Идентификатор объекта пользователя.
account_enabled
Включена ли учетная запись.
city
Город пользователя.
country
Страна пользователя.
department
Департамент пользователя.
displayName
Идентификатор пользователя.
facsimile_telephone_number
Факс пользователя.
given_name
Имя пользователя.
job_title
Должность пользователя.
Основной адрес электронной почты пользователя.
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/