Download OpenAPI specification:Download
「さくらのオブジェクトストレージ」が提供するAPIの利用方法とサンプルを公開しております。
JSON 形式の OpenAPI 仕様は、以下の URL からダウンロードしてください。
APIを利用するためには、認証のための「APIキー」が必要です。事前にキーを発行しておきます。 APIキーは「ユーザーID」「パスワード」に相当する「トークン」と呼ばれる認証情報で構成されています。
項目名 | APIキー発行時の項目名 | このドキュメント内での例 |
---|---|---|
ユーザーID | アクセストークン(UUID) | 01234567-89ab-cdef-0123-456789abcdef |
パスワード | アクセストークンシークレット | SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM |
APIの入力には送信先URLに対して、いくつかのヘッダーとAPIキーを送信します。
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/fed/v1/(エンドポイント)
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/(エンドポイント)
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
'https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/fed/v1/clusters'
APIからの結果は、「応答コード(HTTPステータスコード)」と、「JSON形式(UTF-8)の結果」として出力されます。
応答コードは、リクエストが成功したのか、失敗したのか大まかな情報を判断することができるもので、例えば失敗したときには、なぜこのような結果になったのかなど、具体的な情報は応答コードと主に返された本文を見ることで把握することができます。
結果 | 応答コード/status |
---|---|
成功(要求を受け付けた) | 2xx |
失敗(要求が受け付けられなかった) | 4xx, 5xx |
# 出力結果サンプル(レスポンスヘッダ)
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 16 Nov 2021 12:39:48 GMT
Content-Type: application/json; charset=UTF-8
Content-Length: 443
Connection: keep-alive
Status: 200 OK
Pragma: no-cache
Cache-Control: no-cache
X-Sakura-Proxy-Microtime: 66245
X-Sakura-Proxy-Decode-Microtime: 62
X-Sakura-Content-Length: 443
X-Sakura-Serial: 86ab6c743f72aa5ea6f17e254fd5f803
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Frame-Options: DENY
X-Sakura-Encode-Microtime: 260
Vary: Accept-Encoding
# 出力結果サンプル(レスポンスボディー)
{
"error": {
"code": 404,
"errors": [
{
"domain": "fed.objectstorage.sacloud",
"location": "clusters",
"location_type": "path_parameter",
"message": "Cluster was not found",
"reason": "not_found"
}
],
"message": "Cluster was not found",
"trace_id": "0f36837633984f3fc8871f515e8efa24"
}
}
さくらのオブジェクトストレージを利用するには、まずバケット作成先となるサイトを取得・選択します。
サイト一覧を取得するには、以下のような入力を行います。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
'https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/fed/v1/clusters'
実行結果として、サイトのリストが返却されます。
# 出力結果サンプル
{
"data": [
{
"api_zone": [],
"control_panel_url": "https://secure.sakura.ad.jp/objectstorage/",
"display_name_en_us": "Ishikari Site #1",
"display_name_ja": "石狩第1サイト",
"display_name": "石狩第1サイト",
"display_order": 1,
"endpoint_base": "isk01.sakurastorage.jp",
"id": "isk01",
"region": "jp-north-1",
"s3_endpoint": "s3.isk01.sakurastorage.jp",
"s3_endpoint_for_control_panel": "s3.cp.isk01.sakurastorage.jp",
"storage_zone": []
}
]
}
得られたサイトID(上記のid
フィールド)を確認します。これは後続の利用例で使用します。
上記のサイトから利用したいサイトIDを選択し(ここではisk01を選択することにします)、サイトアカウントを作成します。
サイトアカウントとは、サイトを利用するための独立したアカウントであり、サイトアカウント作成・削除による料金の発生はございません。 なお、すでにサイトアカウントを作成済みの場合は、再度サイトアカウントの作成は不要です。
サイトアカウントを作成するには以下のような入力を行います。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
-X POST \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/isk01/v2/account
サイトアカウントの作成が完了すると、選択したサイトにて
などの操作が可能になります。
選択したサイトにてサイトアカウントを作成後、バケットの作成・削除が可能です。
バケットを作成するには以下のような入力を行います。
この時、選択したサイト(ここではisk01とします)をリクエストボディーに入れ、作成したいバケット名をパスパラメータに入れる必要があります。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
-X PUT \
-d '{"cluster_id": "isk01"}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/fed/v1/buckets/sample
上記で作成したバケットを削除するには以下のような入力を行います。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
-X DELETE \
-d '{"cluster_id": "isk01"}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/fed/v1/buckets/sample
選択したサイトにてサイトアカウントを作成後、アクセスキーの発行・削除が可能です。
アクセスキーを発行するには以下のような入力を行います。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
-X POST \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/isk01/v2/account/keys
コマンド結果には以下のフィールドが含まれます。
created_at
: 作成日時id
: アクセスキーIDsecret
: シークレットアクセスキー# 出力結果サンプル
{
"data": {
"created_at": "2021-11-04T07:42:41.121418479Z",
"id": "XPJK4SC9883N91RHR253",
"secret": "jqRaUo5l+EiEYqP8wos9exbmFfq4/vG8CLPYI2XN"
}
}
上記で作成したアクセスキーを削除するには以下のような入力を行います。
この時、削除したいアクセスキーIDをパスパラメータに入れる必要があります。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
-X DELETE \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/isk01/v2/account/keys/XPJK4SC9883N91RHR253
選択したサイトにてサイトアカウントを作成後且つバケットが1つ以上ある場合、パーミッションの発行・削除が可能です。
パーミッションを作成するには以下のような入力を行います。 この時、パーミッション名、パーミッションで制御したいバケットとそれに対する操作をリクエストボディーに入れる必要があります。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
-X POST \
-d '{"display_name": "sample_permission", "bucket_controls": [{"bucket_name": "sample", "can_read": true, "can_write": true}]}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/isk01/v2/permissions
作成が完了すると、パーミッションIDが含まれたレスポンスを受け取ります。
# 出力サンプル
{
"data": {
"bucket_controls": [
{
"bucket_name":"sample",
"can_read":true,
"can_write":true,
"created_at":"2021-11-11T13:36:08.767118492Z"
}
],
"created_at":"2021-11-11T13:36:08.690384415Z",
"display_name":"sample_permission",
"id":619
}
}
このパーミッションのアクセスキーを発行するには以下のような入力を行います。 この時、パーミッション作成時に発行されたID(ここでは619とします)をパスパラメータに含める必要があります。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
-X POST \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/isk01/v2/permissions/619/keys
コマンド結果には以下のフィールドが含まれます。
created_at
: 作成日時id
: アクセスキーIDsecret
: シークレットアクセスキー# 出力結果サンプル
{
"data": {
"created_at": "2021-11-04T07:42:41.121418479Z",
"id": "XPJK4SC9883N91RHR253",
"secret": "jqRaUo5l+EiEYqP8wos9exbmFfq4/vG8CLPYI2XN"
}
}
パーミッションアクセスキーを削除するには以下のような入力を行います。 この時、パーミッションアクセスキー発行時に出力されたIDをパスパラメータに含める必要があります。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
-X DELETE \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/isk01/v2/permissions/619/keys/XPJK4SC9883N91RHR253
パーミッションを削除するには以下のような入力を行います。 この時、パーミッション作成時に発行されたID(ここでは619とします)をパスパラメータに含める必要があります。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
-X DELETE \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/isk01/v2/permissions/619
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/fed/v1/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /clusters
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/fed/v1/clusters
となります。
{- "data": [
- {
- "api_zone": [
- "is1b"
], - "control_panel_url": "secure.sakura.ad.jp/objectstorage/isk01",
- "display_name_en_us": "Ishikari Cluster #1",
- "display_name_ja": "石狩第1サイト",
- "display_name": "石狩第1サイト",
- "display_order": 1,
- "endpoint_base": "isk01.objectstorage.sakurastorage.jp",
- "iam_endpoint": "iam.isk01.objectstorage.sakurastorage.jp",
- "iam_endpoint_for_control_panel": "iam.cp.isk01.objectstorage.sakurastorage.jp",
- "id": "isk01",
- "region": "jp-north-1",
- "s3_endpoint": "s3.isk01.objectstorage.sakurastorage.jp",
- "s3_endpoint_for_control_panel": "s3.cp.isk01.objectstorage.sakurastorage.jp",
- "storage_zone": [
- "is1a",
- "is1b"
]
}
]
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/fed/v1/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /clusters
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/fed/v1/clusters
となります。
id required | string サイトID |
{- "data": {
- "api_zone": [
- "is1b"
], - "control_panel_url": "secure.sakura.ad.jp/objectstorage/isk01",
- "display_name_en_us": "Ishikari Cluster #1",
- "display_name_ja": "石狩第1サイト",
- "display_name": "石狩第1サイト",
- "display_order": 1,
- "endpoint_base": "isk01.objectstorage.sakurastorage.jp",
- "iam_endpoint": "iam.isk01.objectstorage.sakurastorage.jp",
- "iam_endpoint_for_control_panel": "iam.cp.isk01.objectstorage.sakurastorage.jp",
- "id": "isk01",
- "region": "jp-north-1",
- "s3_endpoint": "s3.isk01.objectstorage.sakurastorage.jp",
- "s3_endpoint_for_control_panel": "s3.cp.isk01.objectstorage.sakurastorage.jp",
- "storage_zone": [
- "is1a",
- "is1b"
]
}
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/fed/v1/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /clusters
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/fed/v1/clusters
となります。
name required | string バケット名 |
作成したいバケット情報
cluster_id required | string |
{- "cluster_id": "string"
}
{- "data": {
- "cluster_id": "string",
- "name": "string"
}
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/fed/v1/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /clusters
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/fed/v1/clusters
となります。
name required | string バケット名 |
{- "error": {
- "code": 400,
- "message": "Invalid parameters.",
- "trace_id": "0f36837633984f3fc8871f515e8efa24",
- "errors": [
- {
- "domain": "{federaton,cluster}-api-objectstorage.sacloud",
- "location": "String",
- "location_type": "String",
- "message": "XXXX failed.",
- "reason": "XXXX is wrong. Should set valid parameters."
}
]
}
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /account
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/account
となります。
なお、サイト名の取得方法は「利用例>接続先サイト一覧の取得」をご参考下さい。
{- "data": {
- "resource_id": "123456789012",
- "code": "abc01234@foo@isk01",
- "created_at": "2020-01-11T01:11:23.123456+09:00"
}
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /account
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/account
となります。
なお、サイト名の取得方法は「利用例>接続先サイト一覧の取得」をご参考下さい。
{- "data": {
- "resource_id": "123456789012",
- "code": "abc01234@foo@isk01",
- "created_at": "2020-01-11T01:11:23.123456+09:00"
}
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /account
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/account
となります。
なお、サイト名の取得方法は「利用例>接続先サイト一覧の取得」をご参考下さい。
{- "error": {
- "code": 401,
- "message": "Authentication failed.",
- "trace_id": "0f36837633984f3fc8871f515e8efa24",
- "errors": [
- {
- "domain": "{federaton,cluster}-api-objectstorage.sacloud",
- "location": "String",
- "location_type": "String",
- "message": "XXXX failed.",
- "reason": "XXXX is wrong. Should set valid parameters."
}
]
}
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /account
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/account
となります。
なお、サイト名の取得方法は「利用例>接続先サイト一覧の取得」をご参考下さい。
{- "data": [
- {
- "id": "abcdefABCDEF0123456789",
- "secret": "/NOTICE==EXISTS+ONLY+WHEN+JUST+CREATED/",
- "created_at": "2020-01-11T01:11:23.123456+09:00"
}
]
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /account
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/account
となります。
なお、サイト名の取得方法は「利用例>接続先サイト一覧の取得」をご参考下さい。
{- "data": {
- "id": "abcdefABCDEF0123456789",
- "secret": "/NOTICE==EXISTS+ONLY+WHEN+JUST+CREATED/",
- "created_at": "2020-01-11T01:11:23.123456+09:00"
}
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /account
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/account
となります。
なお、サイト名の取得方法は「利用例>接続先サイト一覧の取得」をご参考下さい。
id required | string アクセスキーID |
{- "data": {
- "id": "abcdefABCDEF0123456789",
- "secret": "/NOTICE==EXISTS+ONLY+WHEN+JUST+CREATED/",
- "created_at": "2020-01-11T01:11:23.123456+09:00"
}
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /account
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/account
となります。
なお、サイト名の取得方法は「利用例>接続先サイト一覧の取得」をご参考下さい。
id required | string アクセスキーID |
{- "error": {
- "code": 401,
- "message": "Authentication failed.",
- "trace_id": "0f36837633984f3fc8871f515e8efa24",
- "errors": [
- {
- "domain": "{federaton,cluster}-api-objectstorage.sacloud",
- "location": "String",
- "location_type": "String",
- "message": "XXXX failed.",
- "reason": "XXXX is wrong. Should set valid parameters."
}
]
}
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /account
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/account
となります。
なお、サイト名の取得方法は「利用例>接続先サイト一覧の取得」をご参考下さい。
{- "data": [
- {
- "id": 123,
- "display_name": "abc012345-",
- "bucket_controls": [
- {
- "bucket_name": "Abcdefg1235-",
- "can_read": true,
- "can_write": true,
- "created_at": "2020-01-11T01:11:23.123456+09:00"
}
], - "created_at": "2020-01-11T01:11:23.123456+09:00"
}
]
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /account
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/account
となります。
なお、サイト名の取得方法は「利用例>接続先サイト一覧の取得」をご参考下さい。
どのバケットを制御するかを定義します。
display_name | string^.+$ Display name |
Array of objects Bucket controls |
{- "display_name": "abc012345-",
- "bucket_controls": [
- {
- "bucket_name": "Abcdefg1235-",
- "can_read": true,
- "can_write": true,
- "created_at": "2020-01-11T01:11:23.123456+09:00"
}
]
}
{- "data": {
- "id": 123,
- "display_name": "abc012345-",
- "bucket_controls": [
- {
- "bucket_name": "Abcdefg1235-",
- "can_read": true,
- "can_write": true,
- "created_at": "2020-01-11T01:11:23.123456+09:00"
}
], - "created_at": "2020-01-11T01:11:23.123456+09:00"
}
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /account
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/account
となります。
なお、サイト名の取得方法は「利用例>接続先サイト一覧の取得」をご参考下さい。
id required | string パーミッションID |
{- "data": {
- "id": 123,
- "display_name": "abc012345-",
- "bucket_controls": [
- {
- "bucket_name": "Abcdefg1235-",
- "can_read": true,
- "can_write": true,
- "created_at": "2020-01-11T01:11:23.123456+09:00"
}
], - "created_at": "2020-01-11T01:11:23.123456+09:00"
}
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /account
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/account
となります。
なお、サイト名の取得方法は「利用例>接続先サイト一覧の取得」をご参考下さい。
注意: 本APIは指定したパーミッションIDの内容を全て置き換えます。 そのため、一部のバケットの権限を変更したい場合であっても、本パーミッションIDが管理する全てのバケットに関する情報も合わせて送る必要があります。
例えば、パーミッションID1
が管理するバケットが下記の内容であるとします(パーミッションID1
をGETした際の内容を示しています)。
{
"data": {
"bucket_controls": [
{
"bucket_name": "your-bucket-name-001",
"can_read": false,
"can_write": false,
"created_at": "2021-01-01T12:59:59.371074+09:00"
},
{
"bucket_name": "your-bucket-name-002",
"can_read": false,
"can_write": false,
"created_at": "2021-01-01T12:59:59.371074+09:00"
}
]
"created_at": "2021-01-01T12:59:59.371074+09:00"
"display_name": "your-permission-001",
"id": 1
},
}
この内、your-bucket-name-002
の読み込み及び書き込み権限だけを許可したい場合は下記のようなリクエストボディーを送る必要があります。
{
"id": 1,
"display_name": "your-permission-001",
"bucket_controls": [
{
"bucket_name": "your-bucket-name-001",
"can_read": false,
"can_write": false,
},
{
"bucket_name": "your-bucket-name-002",
"can_read": true,
"can_write": true,
}
]
}
実際にリクエストを送る際には上記の内容をdata.json
というファイルに保存し、以下のような入力を行います。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
-X PUT \
-d @data.json \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/permissions/1
id required | string パーミッションID |
どのバケットを制御するかを定義します。
display_name | string^.+$ Display name |
Array of objects Bucket controls |
{- "display_name": "abc012345-",
- "bucket_controls": [
- {
- "bucket_name": "Abcdefg1235-",
- "can_read": true,
- "can_write": true,
- "created_at": "2020-01-11T01:11:23.123456+09:00"
}
]
}
{- "data": {
- "id": 123,
- "display_name": "abc012345-",
- "bucket_controls": [
- {
- "bucket_name": "Abcdefg1235-",
- "can_read": true,
- "can_write": true,
- "created_at": "2020-01-11T01:11:23.123456+09:00"
}
], - "created_at": "2020-01-11T01:11:23.123456+09:00"
}
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /account
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/account
となります。
なお、サイト名の取得方法は「利用例>接続先サイト一覧の取得」をご参考下さい。
id required | string パーミッションID |
{- "error": {
- "code": 401,
- "message": "Authentication failed.",
- "trace_id": "0f36837633984f3fc8871f515e8efa24",
- "errors": [
- {
- "domain": "{federaton,cluster}-api-objectstorage.sacloud",
- "location": "String",
- "location_type": "String",
- "message": "XXXX failed.",
- "reason": "XXXX is wrong. Should set valid parameters."
}
]
}
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /account
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/account
となります。
なお、サイト名の取得方法は「利用例>接続先サイト一覧の取得」をご参考下さい。
id required | string パーミッションID |
{- "data": [
- {
- "id": 123,
- "secret": "/NOTICE==EXISTS+ONLY+WHEN+JUST+CREATED/",
- "created_at": "2020-01-11T01:11:23.123456+09:00"
}
]
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /account
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/account
となります。
なお、サイト名の取得方法は「利用例>接続先サイト一覧の取得」をご参考下さい。
id required | string パーミッションID |
{- "data": {
- "id": 123,
- "secret": "/NOTICE==EXISTS+ONLY+WHEN+JUST+CREATED/",
- "created_at": "2020-01-11T01:11:23.123456+09:00"
}
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /account
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/account
となります。
なお、サイト名の取得方法は「利用例>接続先サイト一覧の取得」をご参考下さい。
id required | string パーミッションID |
key_id required | string パーミッションが保有するアクセスキーID |
{- "data": {
- "id": 123,
- "secret": "/NOTICE==EXISTS+ONLY+WHEN+JUST+CREATED/",
- "created_at": "2020-01-11T01:11:23.123456+09:00"
}
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /account
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/account
となります。
なお、サイト名の取得方法は「利用例>接続先サイト一覧の取得」をご参考下さい。
id required | string パーミッションID |
key_id required | string パーミッションが保有するアクセスキーID |
{- "error": {
- "code": 401,
- "message": "Authentication failed.",
- "trace_id": "0f36837633984f3fc8871f515e8efa24",
- "errors": [
- {
- "domain": "{federaton,cluster}-api-objectstorage.sacloud",
- "location": "String",
- "location_type": "String",
- "message": "XXXX failed.",
- "reason": "XXXX is wrong. Should set valid parameters."
}
]
}
}
アクセス先ベースURL: https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/
上記アクセス先ベースURLと右ペインのパスを組み合わせたものがアクセス先URLになります。
例えば、右ペインのパスが /account
の場合、アクセス先URLは、
https://secure.sakura.ad.jp/cloud/zone/is1a/api/objectstorage/1.0/(サイト名)/v2/account
となります。
なお、サイト名の取得方法は「利用例>接続先サイト一覧の取得」をご参考下さい。
{- "data": {
- "accept_new": true,
- "message": "some extra info",
- "started_at": "2020-01-11T01:11:23.123456+09:00",
- "status_code": {
- "id": 1,
- "status": "available"
}
}
}