Ресурс google_users
Используйте ресурс проверки InSpec google_users для проверки свойств всех или отфильтрованной группы пользователей GCP.
Синтаксис
Блок ресурса google_users собирает пользователей GCP для указанного клиента. Как документировано здесь, по умолчанию используется псевдоним my_customer, чтобы представить customerId вашей учетной записи.
describe google_users(customer: 'my_customer') do
it { should exist }
end
Аргумент domain можно необязательно указать, чтобы получить поля только из одного домена. Необходимо указать либо параметр customer, либо параметр domain.
describe google_users(domain: 'my_domain.com') do
it { should exist }
end
Используйте этот ресурс InSpec для перечисления идентификаторов, а затем для глубокой проверки с помощью google_user.
google_users(customer: 'my_customer').user_ids.each do |user_id|
describe google_user(user_key: user_id) do
it { should exist }
it { should_not be_suspended }
end
end
Примеры
В следующих примерах показано, как использовать этот ресурс проверки InSpec.
Проверка, что для проекта доступно не более заданного количества пользователей
describe google_users(customer: 'my_customer') do
its('count') { should be <= 100}
end
Проверка, что ожидаемый пользователь доступен для проекта
describe google_users(customer: 'my_customer') do
its('user_names') { should include "Monsieur Happy" }
end
Проверка, что существует подмножество всех пользователей с именем, соответствующим «Бэтмен»
google_users(customer: 'my_customer').where(user_full_name: /Batman/).user_ids.each do |user_id|
describe google_user(user_key: user_id) do
it { should exist }
end
end
Критерии фильтрации
Этот ресурс поддерживает следующие критерии фильтрации: user_id; user_full_name и user_email. Любой из них может быть использован с where, в качестве блока или метода.
Свойства
-
user_ids— массив целых чисел идентификаторов google_user -
user_full_names— массив строк полных имён google_user -
user_emails— массив строк основных адресов электронной почты google_user
Разрешения GCP
Убедитесь, что в службе G Suite Admin SDK API каталогов включен и у вас есть достаточные привилегии для перечисления пользователей.
© 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/google_users/