Ресурс google_service_account
Синтаксис
Для проверки ресурса Google ServiceAccount используется google_service_account
Примеры
describe google_service_account(project: 'chef-gcp-inspec', name: "display-name@project-id.iam.gserviceaccount.com") do
it { should exist }
its('display_name') { should cmp '' }
end
describe google_service_account(project: 'chef-gcp-inspec', name: "nonexistent@project-id.iam.gserviceaccount.com") do
it { should_not exist }
end
Проверка, что у учётной записи сервиса GCP проекта IAM есть ожидаемый уникальный идентификатор
describe google_service_account(project: 'sample-project', name: 'sample-account@sample-project.iam.gserviceaccount.com') do
its('unique_id') { should eq 12345678 }
end
Проверка, что у учётной записи сервиса GCP проекта IAM есть ожидаемый идентификатор клиента OAuth2
describe google_service_account(project: 'sample-project', name: 'sample-account@sample-project.iam.gserviceaccount.com') do
its('oauth2_client_id') { should eq 12345678 }
end
Проверка, что у учётной записи сервиса GCP проекта IAM нет ключей, управляемых пользователем
describe google_service_account_keys(project: 'chef-gcp-inspec', service_account: "display-name@project-id.iam.gserviceaccount.com") do
its('key_types') { should_not include 'USER_MANAGED' }
end
Свойства
Свойства, доступные для ресурса google_service_account:
name- Имя учётной записи сервиса.
project_id- Идентификатор проекта, которому принадлежит учётная запись сервиса.
unique_id- Уникальный и стабильный идентификатор учётной записи сервиса
email- Электронный адрес учётной записи сервиса.
display_name- Описание учётной записи сервиса, заданное пользователем.
oauth2_client_id- Идентификатор клиента OAuth2 для учётной записи сервиса.
Разрешения 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_account/