本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
正在更新AWS KMS鑰匙圈
所以此AWS KMS鑰匙圈中適用於 C 的 AWS Encryption SDK,該AWS Encryption SDK針對 .NET,以及適用於 JavaScript 的 AWS Encryption SDK支持最佳實務允許您在加密和解密時指定包裝密鑰。如果您建立AWS KMS探索鑰匙圈,您明確地這樣做。
最早的版本AWS Encryption SDK.NET 是 3.0 版。x。所有版本AWS Encryption SDK為了 .NET 支持 2.0 中引入的安全最佳實踐。x的AWS Encryption SDK。您可以安全地升級到最新版本,而無需任何代碼或數據更改。
當您更新到最新的 1.x的版本AWS Encryption SDK,您可以使用探索篩選限制包裝鍵AWS KMS探索鑰匙圈或者AWS KMS區域探索鑰匙圈特別是解密到那些時使用AWS 帳戶。篩選探索金鑰圈是AWS Encryption SDK 最佳實務。
本節中的範例將說明如何將探索篩選器新增至AWS KMS區域探索鑰匙圈。
進一步了解移轉
適用於所有AWS Encryption SDK使用者, 瞭解如何設定承諾原則設定承諾產品原則。
對於適用於 JAVA 的 AWS Encryption SDK、適用於 Python 的 AWS Encryption SDK,以及AWS加密 CLI 使用者,瞭解主金鑰提供者的必要更新更新AWS KMS主要金鑰提供者。
您的應用程序中可能有如下所示的代碼。本範例會建立AWS KMS區域探索金鑰圈只能在美國西部 (奧勒岡) (us-west-2) 區域中使用包裝金鑰圈。此範例代表AWS Encryption SDK1.7 版。x。但是,它在 1.7 版本中仍然有效。x和更新版本。
- C
struct aws_cryptosdk_keyring *kms_regional_keyring = Aws::Cryptosdk::KmsKeyring::Builder()
.WithKmsClient(create_kms_client(Aws::Region::US_WEST_2)).BuildDiscovery());
- JavaScript Browser
const clientProvider = getClient(KMS, { credentials })
const discovery = true
const clientProvider = limitRegions(['us-west-2'], getKmsClient)
const keyring = new KmsKeyringBrowser({ clientProvider, discovery })
- JavaScript Node.js
const discovery = true
const clientProvider = limitRegions(['us-west-2'], getKmsClient)
const keyring = new KmsKeyringNode({ clientProvider, discovery })
從 1.7 版中開始。x,您可以將探索篩選器新增至任何AWS KMS探索鑰匙圈。此探索篩選器會限制AWS KMS keys那AWS Encryption SDK可以用於解密指定分區和帳戶中的那些。在使用此程式碼之前,請視需要變更分割區,並以有效的帳戶 ID 取代範例帳戶 ID。
- C
-
如需完整的範例,請參閱kms_discovery.cpp。
std::shared_ptr<KmsKeyring::DiscoveryFilter> discovery_filter(
KmsKeyring::DiscoveryFilter::Builder("aws
")
.AddAccount("111122223333
")
.AddAccount("444455556666
")
.Build());
struct aws_cryptosdk_keyring *kms_regional_keyring = Aws::Cryptosdk::KmsKeyring::Builder()
.WithKmsClient(create_kms_client(Aws::Region::US_WEST_2)).BuildDiscovery(discovery_filter));
- JavaScript Browser
const clientProvider = getClient(KMS, { credentials })
const discovery = true
const clientProvider = limitRegions(['us-west-2'], getKmsClient)
const keyring = new KmsKeyringBrowser(clientProvider, {
discovery,
discoveryFilter: { accountIDs: ['111122223333
', '444455556666
'], partition: 'aws
' }
})
- JavaScript Node.js
-
如需完整的範例,請參閱已找到的 .ts 檔案。
const discovery = true
const clientProvider = limitRegions(['us-west-2'], getKmsClient)
const keyring = new KmsKeyringNode({
clientProvider,
discovery,
discoveryFilter: { accountIDs: ['111122223333
', '444455556666
'], partition: 'aws
' }
})