概要

APIを使用してAPIサブユーザーを作成する方法の一例をご案内します。

・作成するAPIサブユーザーの概要

許可する権限(ロール) トークン発行
ボリュームに関する各種操作
イメージに関する各種操作
サーバーに関する各種操作
ネットワークに関する各種操作


事前準備

APIを使用するには、事前にAPIユーザーの作成が必要になります。未作成の場合は、以下ドキュメントをご参考に作成ください。

APIユーザーを作成する

また、各種APIを操作する上で「テナント情報」や「エンドポイント」を使用します。以下ドキュメントをご参考にご確認ください。

API情報を確認する


APIによるAPIサブユーザーの作成方法

  1. [1]APIを利用するためにトークンを発行します。
    レスポンス結果から「トークン情報」をメモします。

    ※対象のAPIドキュメントは、こちら

Request

curl -i -X POST 
-H "Accept: application/json" 
-H "Content-Type: application/json" 
-d '{"auth": {"identity": {"methods": ["password"],"password": {"user": {"id": "APIユーザーID","password": "パスワード"}}},"scope": {"project": {"id": "テナントID"}}}}' 
https://identity.c3j1.conoha.io/v3/auth/tokens

Response

HTTP/1.1 201 Created
server: nginx
date: Wed, 15 Nov 2023 10:06:01 GMT
content-type: application/json
content-length: 2709
x-subject-token: トークン情報
vary: X-Auth-Token
x-openstack-request-id: req-f71225d0-44fd-425c-9ea5-f788d1fa0a43
cache-control: no-store
x-frame-options: DENY
x-content-type-options: nosniff


  1. [2]APIサブユーザーを作成するため、ロール名を確認します。
    ここでは標準で用意されているロールを使用します。

    ※対象のAPIドキュメントは、こちら

・標準で用意しているロールの種類

ロール名 説明
gmo-identity トークン発行が可能なロール
gmo-volume ボリュームに関する各種操作が可能なロール
gmo-image イメージに関する各種操作が可能なロール
gmo-compute コンピュートに関する各種操作が可能なロール
gmo-network ネットワークに関する各種操作が可能なロール
gmo-loadbalancer ロードバランサーに関する各種操作が可能なロール


Request

curl -X GET 
-H "Accept: application/json" 
-H "X-Auth-Token: トークン" 
https://identity.c3j1.conoha.io/v3/sub-users/roles

Response

{
    "roles": [
        {
            "id": "ロールID",
            "name": "gmo-loadbalancer",
            "visibility": "public"
        },
        {
            "id": "ロールID",
            "name": "gmo-compute",
            "visibility": "public"
        },
        {
            "id": "ロールID",
            "name": "gmo-identity",
            "visibility": "public"
        },
        {
            "id": "ロールID",
            "name": "gmo-image",
            "visibility": "public"
        },
        {
            "id": "ロールID",
            "name": "gmo-network",
            "visibility": "public"
        },
        {
            "id": "ロールID",
            "name": "gmo-volume",
            "visibility": "public"
        }
    ]
}


  1. [3]前項で取得したロール名「gmo-identity」「gmo-image」「gmo-volume」「gmo-compute」「gmo-network」を利用してサブユーザーを作成します。

    ※対象のAPIドキュメントは、こちら

Request

curl -X POST 
-H "Accept: application/json" 
-H "X-Auth-Token: トークン" 
-d '{"user": {"password": "サブユーザーに設定するパスワード","roles": ["gmo-identity","gmo-image","gmo-volume","gmo-compute","gmo-network"]}}' 
https://identity.c3j1.conoha.io/v3/sub-users

Response

{
    "user": {
        "id": "サブユーザーID",
        "name": "サブユーザー名",
        "roles": [
            {
                "id": "ロールID",
                "name": "gmo-compute"
            },
            {
                "id": "ロールID",
                "name": "gmo-identity"
            },
            {
                "id": "ロールID",
                "name": "gmo-image"
            },
            {
                "id": "ロールID",
                "name": "gmo-network"
            },
            {
                "id": "ロールID",
                "name": "gmo-volume"
            }
        ]
    }
}


これでサーバーやストレージ、ネットワーク、イメージの各種操作が可能な、サーバー運用のご担当者などでご活用いただけるAPIサブユーザーが作成できました。

本ドキュメントはConoHa VPSのバージョン3.0のAPIをご利用いただく際の一例となり、お客様の運用やポリシーによってその限りではございません。お客様のご利用状況に応じて必要な設定や操作をおこなってください。

また、ConoHaにて提供しておりますAPIにつきましては、クラウド基盤として採用しておりますOpenStackの機能にて実装しておりますので、詳細な情報や使い方はOpenStackのドキュメントにてご確認ください。