Ресурс google_service_accounts
Синтаксис
Для проверки ресурса Google ServiceAccount используется google_service_accounts
Примеры
describe google_service_accounts(project: 'chef-gcp-inspec', name: "display-name@project-id.iam.gserviceaccount.com") do
its('service_account_emails') { should include "display-name@project-id.iam.gserviceaccount.com" }
its('count') { should be <= 1000 }
end
Проверка, что для проекта не более определённого количества учётных записей сервисов
describe google_service_accounts(project: 'chef-inspec-gcp') do
its('count') { should be <= 1000}
end
Проверка наличия ожидаемого имени отображения учётной записи сервиса
describe google_service_accounts(project: 'chef-inspec-gcp') do
its('service_account_display_names'){ should include "gcp_sa_name" }
end
Проверка наличия ожидаемого уникального идентификатора учётной записи сервиса
describe google_service_accounts(project: 'chef-inspec-gcp') do
its('service_account_ids'){ should include 12345678 }
end
Проверка наличия учётной записи сервиса с ожидаемым именем
describe google_service_accounts(project: 'dummy-project') do
its('service_account_names'){ should include "projects/dummy-project/serviceAccounts/dummy-acct@dummy-project.iam.gserviceaccount.com" }
end
Использование фильтрации для получения конкретной учётной записи сервиса
google_service_accounts(project: 'chef-inspec-gcp').where(service_account_display_names: /^dummyaccount/).service_account_names.each do |sa_name|
describe google_service_account(name: sa_name) do
it { should exist }
end
end
Свойства
Свойства, к которым можно получить доступ из ресурса google_service_accounts:
Для получения дополнительной информации обратитесь к ресурсу google_service_account.
service_account_names- массив
google_service_accountимен project_ids- массив
google_service_accountидентификаторов проекта service_account_ids- массив
google_service_accountуникальных идентификаторов service_account_emails- массив
google_service_accountэлектронных адресов service_account_display_names- массив
google_service_accountимён отображения oauth2_client_ids- массив
google_service_accountидентификаторов OAuth2
Критерии фильтрации
Этот ресурс поддерживает все вышеперечисленные свойства в качестве критериев фильтрации, которые могут быть использованы с where в блоке или как метод.
Разрешения GCP
Убедитесь, что API «Управление идентификацией и доступом (IAM)» https://console.cloud.google.com/apis/library/iam.googleapis.com/ включён для текущего проекта.
© 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_service_accounts/