鍵情報の登録 (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"}