Ключ учетной записи сервиса Google
Синтаксис
Используется для проверки ресурса Google ServiceAccountKey.
Примеры
google_service_account_keys(project: 'chef-gcp-inspec', service_account: "display-name@project-id.iam.gserviceaccount.com").key_names.each do |sa_key_name|
describe google_service_account_key(project: 'chef-gcp-inspec', service_account: "display-name@project-id.iam.gserviceaccount.com", name: sa_key_name.split('/').last) do
it { should exist }
its('key_type') { should_not cmp 'USER_MANAGED' }
end
end
Проверка, что ключ учетной записи сервиса IAM проекта GCP имеет ожидаемый алгоритм ключа
describe google_service_account_key(name: "projects/sample-project/serviceAccounts/test-sa@sample-project.iam.gserviceaccount.com/keys/c6bd986da9fac6d71178db41d1741cbe751a5080" ) do
its('key_algorithm') { should eq "KEY_ALG_RSA_2048" }
end
Свойства
Свойства, доступные из ресурса:
name- Название ключа.
private_key_type- Формат вывода ключа учетной записи сервиса.
Возможные значения:
- TYPE_UNSPECIFIED
- TYPE_PKCS12_FILE
- TYPE_GOOGLE_CREDENTIALS_FILE
key_algorithm- Указывает алгоритм для ключа.
Возможные значения:
- KEY_ALG_UNSPECIFIED
- KEY_ALG_RSA_1024
- KEY_ALG_RSA_2048
private_key_data- Данные закрытого ключа. Кодировка Base-64.
public_key_data- Данные открытого ключа. Кодировка Base-64.
valid_after_time- Ключ может использоваться только после этого времени.
valid_before_time- Ключ может использоваться только до этого времени.
key_type- Указывает тип ключа.
Возможные значения:
- KEY_TYPE_UNSPECIFIED
- USER_MANAGED
- SYSTEM_MANAGED
service_account- Название учетной записи сервиса.
path- Полное имя файла, который будет содержать закрытый ключ учетной записи сервиса. Управление этим файлом зависит от параметра sync_file. Путь к файлу должен быть абсолютным.
Разрешения GCP
Убедитесь, что для текущего проекта включен API управления идентификацией и доступом (IAM).
© 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_key/