Creates a Secret entity#

シークレットを作成します。

ペイロードを省略する場合は、メタデータだけが作成され、ペイロードを設定するために、別途PUTメソッドのリクエストが必要です(「Add the payload to an existing metadata-only secret」を参照してください)。

APIエンドポイント#

リージョン APIエンドポイント
西日本リージョン3の場合 https://keymanagement.jp-west-3.cloud.global.fujitsu.com
東日本リージョン3の場合 https://keymanagement.jp-east-3.cloud.global.fujitsu.com

HTTPメソッドとURI#

POST

/v1/secrets

HTTPステータスコード#

正常時:201

エラー時:400, 401, 403, 415

リクエストパラメータの説明#

名前 In Type デフォルト値
/必須指定
Description
name body string None
任意
シークレットの名前
expiration body string None
任意
シークレットの有効期限
以下のISO 8601形式の日時です。
YYYY-MM-DDTHH:MM:SSZ.
algorithm body string None
任意
シークレット生成時に使用するアルゴリズム
bit_length body integer None
任意
シークレットのビットレンジ
指定する場合は、1以上の値を指定する必要があります。
mode body string None
任意
シークレットに関連づいたアルゴリズムのモード
payload body string None
任意
登録する鍵情報ペイロード
payloadを指定する場合は、payload_content_typeも指定する必要があります。
詳細は、「Payload」を参照してください。
payload_content_type body string None
任意
ペイロードのメディア種別
ペイロードを指定する場合は、必須設定です。
「text/plain」または「application/octet-stream」を指定します。
payload_content_encoding body string None
任意
JSONリクエストにペイロードを含めるために使用するエンコーディング
ペイロードがエンコードされている場合は、必須設定です。
現在、Base64だけがサポートされています。
secret_type body string opaque
任意
シークレットの種別
詳細は、「Secret Types」を参照してください。 

参考:Payload#

省略は可能ですが、payloadを指定した場合、空の文字列は指定できません。改行をエスケープする場合は"\n"を利用してください。改行コードはそのままでも指定可能です。

例:

"-----BEGIN XXXX-----

> MIIEowIBAAKCAQEAuyWf1R49q5ccq60LoJ1MHf0lQ"

>-----END XXXX----- 

使用可能文字:payload_content_typeに"text/plain"が指定された場合

  • -----BEGIN XXX-----で始まり-----END XXX-----で終わる文字列の節を含んでいること
  • -----BEGIN XXX-----で始まり-----END XXX-----で終わる区間において以下の文字列のみ有効
    • 1行64文字以内
    • A-Z, a-z, 0-9,+/=

文字数:制限なし(Bodyのbyte数の限界が実質の上限) 

参考:Secret Types#

シークレットの種別

以下のシークレット種別があります。

  • symmetric: 対称キー暗号化に向けた、キーなどのバイトの配列を格納します。
  • public: 非対称キーペアの公開キーを格納します。
  • private: 非対称キーペアの秘密キーを格納します。
  • passphrase: 平文のパスフレーズを格納します。
  • certificate - X.509などの暗号化されている証明書に利用されます。
  • opaque - シークレットの種別がなかった以前のバージョンとの下位互換のために利用されます。新しいアプリケーションでは、他の種別を指定することを推奨します。

レスポンスボディ(正常系)の説明#

名前 Type Description
secret_ref string シークレットの参照先

リクエスト例#

{
    "name": "AES key",
    "expiration": "2015-12-28T19:14:44.180394",
    "algorithm": "aes",
    "bit_length": 256,
    "mode": "cbc",
    "payload": "YmVlcg==",
    "payload_content_type": "application/octet-stream",
    "payload_content_encoding": "base64"
}

レスポンス例#

{
    "secret_ref": "https://{barbican_host}/v1/secrets/{secret_uuid}"
}