鍵情報の登録 (POST /v1/{tenant_id}/secrets)

新しい鍵情報を登録する。

{tenant_id}: 鍵情報を登録するプロジェクトのID

Request Headers

X-Auth-Token

認証トークンIDを指定する。

Data Type Cardinality
String 1..1

Content-Type

Request Bodyの型を指定する。

使用可能な値:application/json

Data Type Cardinality
String 1..1

Request Parameter

なし

Request Body

name

鍵情報の名前

使用可能文字:半角英数字、半角記号

文字数:1~255

省略した場合は鍵情報のリソースIDが設定される

Data Type Cardinality
String 0..1

expiration

鍵情報の有効期限。ISO-8601で規定された値。期限が過ぎると鍵情報は自動的に削除される。省略した場合nullが設定され、自動で削除されることはない。

形式:YYYY-MM-DDThh:mm:ss.SSSSSS

Data Type Cardinality
datetime 0..1

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数の限界が実質の上限)

Data Type Cardinality
String 0..1

payload_content_type

鍵情報ペイロードを参照する場合の形式

payloadを指定した場合は必須

指定可能な値:"text/plain", "text/plain;charset=utf-8","text/plain; charset=utf-8", "application/octet-stream"

Data Type Cardinality
Enum("text/plain", "text/plain;charset=utf-8","text/plain; charset=utf-8", "application/octet-stream") 0..1

payload_content_encoding

暗号化の形式

payload_content_typeにtext/plain、text/plain;charset=utf-8、 text/plain; charset=utf-8のいずれかを指定した場合は指定不可

payload_content_typeにapplication/octet-streamを指定した場合は必須

指定可能な値:base64

Data Type Cardinality
Enum(base64) 0..1

Response Headers

ステータス

リクエストのステータスを返却する。

以下の値を返却する。

201:
正常終了
401:
認証エラー(認証トークン無し、認証トークン誤り等)
400:
不正なアクセス(パラメーター不正等)
403:
アクセス不可(権限がない)
404:
該当資源なし
413:
鍵情報のデータが10000byteを超えている
415:
サポートされていないContent-Typeが指定されている
500:
予期せぬエラー
Data Type Cardinality
int 1..1

Response Elements

secret_ref

登録した鍵情報に割り当てられた鍵情報リソースURI

Data Type Cardinality Parent Element Child Element(s)
String 1..1 None None

Example of Request


POST /v1/a759452216fd41cf8ee5aba321cfbd49/secrets
X-Auth-Token: "JpZCI6ICJjM2VlNzA4YTZhZTI0ZGRmOTJjMDc4..."
Content-Type: "application/json"
Body:
{
  "name": "key1",
  "expiration": "2015-02-28T19:14:44.180394",
  "payload":"-----BEGIN XXXX-----MIIEow・・・(中略)・・・Rwg7Jp-----END XXXX-----",
  "payload_content_type": "text/plain",
  "payload_content_encoding": "base64"
}
     

Example of Response


Status Code: 201 Created
Content-Length: 118
Content-Type: application/json; charset=UTF-8
Location: http://<host>:9311/ a759452216fd41cf8ee5aba321cfbd49/secrets/a417d40d-cec7-4129-a5ad-afaac6fab603

{"secret_ref": "http://<host>:9311/v1/ a759452216fd41cf8ee5aba321cfbd49/secrets/a417d40d-cec7-4129-a5ad-afaac6fab603"}