CloudHSM CLI を使用してキーをフィルタリングする - AWS CloudHSM

CloudHSM CLI を使用してキーをフィルタリングする

以下のキーコマンドを使用して、CloudHSM CLI の標準化されたキーフィルタリングメカニズムを利用します。

  • key list

  • key delete

  • key share

  • key unshare

  • key set-attribute

CloudHSM CLI でキーを選択またはフィルタリングするには、キーコマンドは CloudHSM CLI のキー属性 に基づく標準化されたフィルタリングメカニズムを利用します。1 つまたは複数のキーを識別できる 1 つ以上の AWS CloudHSM 属性を使用して、キーまたはキーセットをキーコマンドで指定できます。キーフィルタリングメカニズムは、現在ログインしているユーザーが所有して共有しているキーと、AWS CloudHSM クラスター内のすべてのパブリックキーにのみ作用します。

要件

キーをフィルタリングするには、Crypto User (CU) としてログインしている必要があります。

1 つのキーを検索するためのフィルタリング

以下の例では、フィルタとして使用する各属性は attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE の形式で書き込む必要があることに注意してください。例えばラベル属性でフィルタリングする場合は、attr.label=my_label と書き込みます。

例 1 つの属性を使用して 1 つのキーを検索する

この例は、1 つの識別属性のみを使用して一意のキー 1 つにフィルタリングする方法を示しています。

aws-cloudhsm > key list --filter attr.label="my_unique_key_label" --verbose { "error_code": 0, "data": { "matched_keys": [ { "key-reference": "0x00000000001c0686", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [ { "username": "alice", "key-coverage": "full" } ], "cluster-coverage": "full" }, "attributes": { "key-type": "rsa", "label": "my_unique_key_label", "id": "", "check-value": "0xae8ff0", "class": "private-key", "encrypt": false, "decrypt": true, "token": true, "always-sensitive": true, "derive": false, "destroyable": true, "extractable": true, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": true, "trusted": false, "unwrap": true, "verify": false, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 1219, "public-exponent": "0x010001", "modulus": "0xa8855cba933cec0c21a4df0450ec31675c024f3e65b2b215a53d2bda6dcd191f75729150b59b4d86df58254c8f518f7d000cc04d8e958e7502c7c33098e28da4d94378ef34fb57d1cc7e042d9119bd79be0df728421a980a397095157da24cf3cc2b6dab12225d33fdca11f0c6ed1a5127f12488cda9a556814b39b06cd8373ff5d371db2212887853621b8510faa7b0779fbdec447e1f1d19f343acb02b22526487a31f6c704f8f003cb4f7013136f90cc17c2c20e414dc1fc7bcfb392d59c767900319679fc3307388633485657ce2e1a3deab0f985b0747ef4ed339de78147d1985d14fdd8634219321e49e3f5715e79c298f18658504bab04086bfbdcd3b", "modulus-size-bits": 2048 } } ], "total_key_count": 1, "returned_key_count": 1 } }
例 複数の属性を使用して 1 つのキーを検索する

次の例では、複数のキー属性を使用して 1 つのキーを検索する方法を示します。

aws-cloudhsm > key list --filter attr.key-type=rsa attr.class=private-key attr.check-value=0x29bbd1 --verbose { "error_code": 0, "data": { "matched_keys": [ { "key-reference": "0x0000000000540011", "key-info": { "key-owners": [ { "username": "cu3", "key-coverage": "full" } ], "shared-users": [ { "username": "cu2", "key-coverage": "full" } ], "cluster-coverage": "full" }, "attributes": { "key-type": "rsa", "label": "my_crypto_user", "id": "", "check-value": "0x29bbd1", "class": "my_test_key", "encrypt": false, "decrypt": true, "token": true, "always-sensitive": true, "derive": false, "destroyable": true, "extractable": true, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": true, "trusted": false, "unwrap": true, "verify": false, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 1217, "public-exponent": "0x010001", "modulus": "0x8b3a7c20618e8be08220ed8ab2c8550b65fc1aad8d4cf04fbf2be685f97eeb78fcbbad9b02cd91a3b15e990c2a7c7cdeff0b730576c6c5630a8509a778a96acbc7c36931e9a86e8956fbd07f0863404ce06c8bd68256784be9f5b258a35e229ce7f630228b9323b4e1f14a0384ead90bdf07dc762f710fc5663887d0787ad98d64bbe303134f545acb2ab194fee6edaecd4dd5cf31ff7f7491e37d7a850ab23247414b42d9abdd5de89b78fd464560df29a90607e9d462f21b22365da419021fb9f28ea7e6fdb1f40bf83aaf1636fba5e475ad19889cfe3f28186a969b4826c39466c0855c974d1fb723d111e4a32ab6e32b3129bc95c9206fced160015d8b2f", "modulus-size-bits": 2048 } } ], "total_key_count": 1, "returned_key_count": 1 } }
例 フィルタリングしてキーセットを検索する

以下は、プライベート RSA キーのセットを検索するためのフィルタリング方法を示す例です。

aws-cloudhsm > key list --filter attr.key-type=rsa attr.class=private-key --verbose { "error_code": 0, "data": { "matched_keys": [ { "key-reference": "0x00000000001c0686", "key-info": { "key-owners": [ { "username": "my_crypto_user", "key-coverage": "full" } ], "shared-users": [ { "username": "cu2", "key-coverage": "full" }, { "username": "cu1", "key-coverage": "full" }, ], "cluster-coverage": "full" }, "attributes": { "key-type": "rsa", "label": "rsa_key_to_share", "id": "", "check-value": "0xae8ff0", "class": "private-key", "encrypt": false, "decrypt": true, "token": true, "always-sensitive": true, "derive": false, "destroyable": true, "extractable": true, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": true, "trusted": false, "unwrap": true, "verify": false, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 1219, "public-exponent": "0x010001", "modulus": "0xa8855cba933cec0c21a4df0450ec31675c024f3e65b2b215a53d2bda6dcd191f75729150b59b4d86df58254c8f518f7d000cc04d8e958e7502c7c33098e28da4d94378ef34fb57d1cc7e042d9119bd79be0df728421a980a397095157da24cf3cc2b6dab12225d33fdca11f0c6ed1a5127f12488cda9a556814b39b06cd8373ff5d371db2212887853621b8510faa7b0779fbdec447e1f1d19f343acb02b22526487a31f6c704f8f003cb4f7013136f90cc17c2c20e414dc1fc7bcfb392d59c767900319679fc3307388633485657ce2e1a3deab0f985b0747ef4ed339de78147d1985d14fdd8634219321e49e3f5715e79c298f18658504bab04086bfbdcd3b", "modulus-size-bits": 2048 } }, { "key-reference": "0x0000000000540011", "key-info": { "key-owners": [ { "username": "my_crypto_user", "key-coverage": "full" } ], "shared-users": [ { "username": "cu2", "key-coverage": "full" } ], "cluster-coverage": "full" }, "attributes": { "key-type": "rsa", "label": "my_test_key", "id": "", "check-value": "0x29bbd1", "class": "private-key", "encrypt": false, "decrypt": true, "token": true, "always-sensitive": true, "derive": false, "destroyable": true, "extractable": true, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": true, "trusted": false, "unwrap": true, "verify": false, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 1217, "public-exponent": "0x010001", "modulus": "0x8b3a7c20618e8be08220ed8ab2c8550b65fc1aad8d4cf04fbf2be685f97eeb78fcbbad9b02cd91a3b15e990c2a7c7cdeff0b730576c6c5630a8509a778a96acbc7c36931e9a86e8956fbd07f0863404ce06c8bd68256784be9f5b258a35e229ce7f630228b9323b4e1f14a0384ead90bdf07dc762f710fc5663887d0787ad98d64bbe303134f545acb2ab194fee6edaecd4dd5cf31ff7f7491e37d7a850ab23247414b42d9abdd5de89b78fd464560df29a90607e9d462f21b22365da419021fb9f28ea7e6fdb1f40bf83aaf1636fba5e475ad19889cfe3f28186a969b4826c39466c0855c974d1fb723d111e4a32ab6e32b3129bc95c9206fced160015d8b2f", "modulus-size-bits": 2048 } } ], "total_key_count": 2, "returned_key_count": 2 } }

フィルタリングエラー

特定のキー操作は、一度に 1 つのキーに対してしか実行できません。これらの操作では、フィルタリング基準が十分に調整されておらず、複数のキーが条件に一致する場合、CloudHSM CLI はエラーを表示します。その一例として、キー削除を使用した例を以下に示します。

例 一致するキーが多すぎるとフィルタリングエラーが発生します
aws-cloudhsm > key delete --filter attr.key-type=rsa { "error_code": 1, "data": "Key selection criteria matched 48 keys. Refine selection criteria to select a single key." }

関連トピック