Create Key

Prev Next

Classic/VPC環境で利用できます。

キーを新規作成します。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /keys

リクエストヘッダ

Key Management Service APIで共通して使用されるヘッダの詳細は、Key Management Serviceのリクエストヘッダでアカウント認証方式をご参照ください。

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
keyName String Required キー名
  • 英数字、記号の「-」、「_」を組み合わせて3~15文字以内で入力
  • 先頭文字は英字にして、ユーザーのキーストア内の他のキー名と重複不可
keyType String Required キータイプ
  • AES256 | RSA2048 | ECDSA
    • AES256: 対称鍵方式の AES暗号(AES 256-GCM96)を使用する256bitのキー
      • 最大32KBのデータ暗号化が可能
    • RSA2048: 非対称鍵方式の RSA暗号(RSA 2048)を使用する2048bitのキー
      • 暗号化・復号化、署名、検証機能をいずれも使用できるが、処理速度は一番遅い
      • 最大190byteのデータ暗号化、または最大8KBのデータ署名が可能
    • ECDSA: 非対称鍵方式の ECDSA暗号(ECDSA-P256)を使用する256bitのキー
      • 最大8KBのデータ署名が可能
memo String Optional キーのメモ
  • キーに関する追加情報と説明
  • 0~100文字以内で入力可能
isConvergent Boolean Optional 収束暗号化(convergent encryption)を設定するかどうか
  • true | false (デフォルト)
    • true: 設定
    • false: 設定しない
  • keyTypeAES256の場合にのみ設定可能
isAutoRotation Boolean Required キーの自動ローテーションを有効化するかどうか
  • true | false (デフォルト)
    • true: 有効化
    • false: 無効化
rotationPeriod Integer Optional キーの自動ローテーション周期を設定(日)
  • 1~730 (デフォルト: 90)
  • isAutoRotationtrueの場合に入力可能
protectionType String Required キーの保存方法
  • BASIC | COMMON_HSM
    • BASIC: 内部ストレージに暗号化された形で保存
    • COMMON_HSM: HSM(Hardware Security Module)に保存

リクエスト例

リクエストのサンプルコードは次の通りです。

curl --location --request POST 'https://ocapi.ncloud.com/kms/v1/keys' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--data '{
  "keyName": "{KEY_NAME}",
  "keyType": "AES256",
  "memo": "{KEY_DESCRIPTION}",
  "isConvergent": true,
  "isAutoRotation": true,
  "rotationPeriod": 90,
  "protectionType": "BASIC"
}'

レスポンス

レスポンス形式を説明します。

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
code String - 成功したかどうか
data Object - レスポンス結果
data.keyId Integer - キーの識別子
data.keyTag String - キータグ
  • キー名から派生したキーの固有 ID
  • REST APIで暗号化または復号化をリクエストする際に使用
  • キータグは機密情報として扱われない
data.keyName String - キー名
  • キー名は機密情報として扱われない
data.keyType String - キーのタイプ
data.status String - キーの状態
  • ENABLE | DISABLE | REVOKE
    • ENABLE: 使用可能
    • DISABLE: 使用停止
    • REVOKE: 削除予定
    • キーの状態の詳細は、キーの状態の管理を参照
data.keystoreId Integer - ユーザーに割り当てられた論理的キーストア識別子
data.protectionType String - キーの保存方法
  • BASIC | COMMON_HSM
    • BASIC: 内部ストレージに暗号化された形で保存
    • COMMON_HSM: HSM(Hardware Security Module)に保存
data.memo String - キーのメモ
  • 作成時に入力したキーに関する追加情報と説明
data.isConvergent Boolean - 収束暗号化を設定するかどうか
  • true | false
    • true: 設定
    • false: 設定しない
data.isAutoRotation Boolean - キーの自動ローテーションを有効化するかどうか
  • true | false
    • true: 有効化
    • false: 無効化
data.rotationPeriod Integer - キーの自動ローテーション周期(日)
data.nextRotationDate Long - 次のローテーション予定日時(ミリ秒)
  • Unix Timestamp形式
data.registerDate Long - キーの作成日時(ミリ秒)
  • Unix Timestamp形式

レスポンスステータスコード

Key Management Service APIで共通して使用されるレスポンスステータスコードの詳細は、Key Management Serviceのレスポンスステータスコードをご参照ください。

レスポンス例

レスポンスのサンプルコードは次の通りです。

{
    "code": "SUCCESS",
    "data": {
        "keyId": 12345,
        "keyTag": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6"
        "keyName": "{KEY_NAME}",
        "keyType": "AES256",
        "status": "ENABLE",
        "keystoreId": 1234,
        "protectionType": "BASIC",
        "memo": "{KEY_DESCRIPTION}",
        "isConvergent": true,
        "isAutoRotation": true,
        "rotationPeriod": 90,
        "nextRotationDate": 1741156631314,
        "registerDate": 1733380631000
    }
}