Spec-Zone.ru › Chef 18

Ресурс google_kms_crypto_key

[редактировать на GitHub]

Синтаксис

Используется google_kms_crypto_key, чтобы протестировать ресурс Google CryptoKey.

Примеры

describe google_kms_crypto_key(project: 'chef-gcp-inspec', location: 'europe-west2', key_ring_name: 'kms-key-ring', name: 'kms-key') do
  it { should exist }
  its('crypto_key_name') { should cmp 'kms-key' }
  its('primary_state') { should eq "ENABLED" }
  its('purpose') { should eq "ENCRYPT_DECRYPT" }
  its('next_rotation_time') { should be > Time.now - 100000 }
  its('create_time') { should be > Time.now - 365*60*60*24*10 }
end

describe google_kms_crypto_key(project: 'chef-gcp-inspec', location: 'europe-west2', key_ring_name: 'kms-key-ring', name: "nonexistent") do
  it { should_not exist }
end

Проверка, что ключ шифрования GCP KMS был создан недавно

describe google_kms_crypto_key(project: 'chef-inspec-gcp',   location: 'us-east1',  key_ring_name: 'key-ring', name: 'crypto-key') do
  its('create_time_date') { should be > Time.now - 365*60*60*24*10 }
end

Проверка времени следующего планируемого изменения срока действия ключа шифрования GCP KMS

describe google_kms_crypto_key(project: 'chef-inspec-gcp',   location: 'us-east1',  key_ring_name: 'key-ring', name: 'crypto-key') do
  its('next_rotation_time_date') { should be > Time.now - 100000 }
end

Проверка, что назначение ключа шифрования соответствует ожидаемому

describe google_kms_crypto_key(project: 'chef-inspec-gcp',   location: 'us-east1',  key_ring_name: 'key-ring', name: 'crypto-key') do
  its('purpose') { should eq "ENCRYPT_DECRYPT" }
end

Проверка, что первичный ключ шифрования находится в состоянии «ВКЛЮЧЕНО»

describe google_kms_crypto_key(project: 'chef-inspec-gcp',   location: 'us-east1',  key_ring_name: 'key-ring', name: 'crypto-key') do
  its('primary_state') { should eq "ENABLED" }
end

Свойства

Свойства, доступные для ресурса google_kms_crypto_key:

crypto_key_name
Имя ресурса CryptoKey.
create_time
Дата создания этого ресурса на сервере. Формат — RFC3339.
labels
Метки с пользовательскими метаданными для этого ресурса.
purpose
Неизменяемое назначение этого CryptoKey. См. справочную информацию по назначению для возможных значений.

Возможные значения:

  • ENCRYPT_DECRYPT
  • ASYMMETRIC_SIGN
  • ASYMMETRIC_DECRYPT
rotation_period
Каждый раз, когда проходит этот период, генерируется новая версия CryptoKey и устанавливается в качестве основной. Первая ротация произойдет после указанного периода. Период ротации имеет формат десятичного числа с максимальными 9 десятичными знаками, за которым следует буква s (секунды). Он должен быть больше одного дня (т.е. 86400).
version_template
Шаблон, описывающий настройки для новых версий ключа шифрования.
algorithm
Алгоритм, используемый при создании версии на основе этого шаблона. См. справочную информацию по алгоритму для возможных значений.
protection_level
Уровень защиты, используемый при создании версии на основе этого шаблона.

Возможные значения:

  • SOFTWARE
  • HSM
next_rotation_time
Время, когда KMS создаст новую версию этого CryptoKey.
key_ring
KeyRing, к которому принадлежит этот ключ. Формат: 'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'.

Разрешения GCP

Убедитесь, что API Cloud Key Management Service (KMS) включен для текущего проекта.

© 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_kms_crypto_key/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API