翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS KMS キーリングの更新
の AWS KMS キーリングAWS Encryption SDK for C、 AWS Encryption SDK for .NET、および は、暗号化および復号時にラッピングキーを指定できるようにすることで、ベストプラクティスAWS Encryption SDK for JavaScriptをサポートします。AWS KMS 検出キーリングを作成する場合は、明示的に作成します。
.NET AWS Encryption SDK 用 の最も古いバージョンはバージョン 3.0.x です。for 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 ユーザーについて、 でのコミットメントポリシーの設定について説明しますコミットメントポリシーの設定。
AWS Encryption SDK for Java、 AWS Encryption SDK for Python、および AWS Encryption CLI ユーザーの場合、 のマスターキープロバイダーに必要な更新について説明しますAWS KMS マスターキープロバイダーの更新。
アプリケーションでは、コードは次のようなものになります。この例では、米国西部 (オレゴン) (us-west-2) リージョンのラッピングキーのみを使用する AWS KMS
リージョン検出キーリングを作成します。この例では、1.7.x より前の AWS Encryption SDK バージョンのコードを表します。ただし、バージョン 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 Encryption SDK は、 AWS KMS keys が復号に使用できる を、指定されたパーティションとアカウント内のものに制限します。このコードを使用する前に、必要に応じてパーティションを変更し、サンプルアカウント 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
-
詳しい例については、kms_filtered_discovery.ts を参照してください。
const discovery = true
const clientProvider = limitRegions(['us-west-2'], getKmsClient)
const keyring = new KmsKeyringNode({
clientProvider,
discovery,
discoveryFilter: { accountIDs: ['111122223333
', '444455556666
'], partition: 'aws
' }
})