Overview
本APIは、各種APIを利用するユーザ作成と、利用するAPIの権限を管理するAPIです。
ユーザのアカウント作成や権限管理は、ビジネスポータルからお申込頂いた開発者ポータルのアカウント(以降、権限管理者)が実施可能です。
権限管理者は、APIによりユーザ、ユーザをまとめるユーザグループ、およびユーザに付与する権限の作成ができます。またユーザの権限を有効にするには、ユーザ、ユーザグループ、権限をAPIにより紐づけます。
ユーザは、作成直後、権限がないため、どのAPIも利用できません。
- ユーザ
権限管理者が作成したユーザアカウント。権限管理者が設定した権限の範囲でAPIを利用可能です。
- ユーザグループ
ユーザをまとめたグループ。お客さまが任意の名前をつけて、作成することが可能です。
- 権限
利用するAPIをホワイトリスト形式で、指定します。指定できる要素は、利用できるAPI、APIにアクセス可能なソースIPアドレス、および各種APIで保持する情報※です。
※例えば、ネットワークサービスにおいて、特定の回線契約番号を指定することで、ユーザは、指定された契約回線番号のみAPIにて情報参照や設定変更が可能になります。
ユーザ、ユーザグループ、権限の関係性
権限管理者が作成、設定するユーザ、ユーザグループ、および権限の関係は以下の通り。
権限判定のロジック
ユーザは、複数のユーザグループと紐付けることができ、ユーザグループは、複数の権限と紐付けることができます。
複数の権限が紐付いている場合の複数の権限間の判定ロジックは以下の通りです。
① 1つの権限内の同じ要素が複数記載されてる場合は、or条件
② 1つのユーザグループに複数の権限が紐付いている場合は、and条件
③ 1人のユーザに複数のユーザグループが紐付いている場合の各権限は、or条件
権限管理者のAPIキー利用の注意事項
セキュリティの観点から、全てのAPIが操作できる権限管理者によるAPIの操作は、権限管理API等の管理者向けのAPIでのみご利用ください。管理者向け以外のAPI(Business Process APIなど)の操作は、適切な権限を紐付けたユーザを作成し、実施してください。
How to use this API
本APIを使って、ユーザの作成から権限を有効にする設定の流れは以下の通りです。
1.ユーザ、ユーザグループ、および権限の作成
権限管理APIを設定するにあたり、ユーザ、ユーザグループ、および権限を作成します。作成の順番は、順不同。
2.ユーザとユーザグループ、ユーザグループと権限の紐付け
ユーザの権限を有効にするために作成したユーザ、グループ、および権限を紐づけます。紐付けの順番は、順不同。
- ユーザとユーザグループの紐付け
- ユーザグループと権限の紐付け
Resource URL
グローバル共通ドメインの利用、または個別リージョンドメインをご利用ください。
グローバル共通ドメインを利用する場合、お客様のご利用箇所の状況に応じて、一番近いAPIゲートウェイに接続します。
1.Base Path(Global Load Balance)
https://api.ntt.com/v1/iam
2.Base Path(Region)
https://{region}.api.ntt.com/v1/iam
- region is jp|us|fr|sg
- e.g. https://us.api.ntt.com/v1/iam
- 指定できるregionは、将来拡充予定
Key |
Value |
レスポンス フォーマット |
JSON |
認証(OAuth) |
Yes |
帯域制御#1 |
Yes |
ユーザ作成
APIを利用するユーザを作成します。
POST /v1/iam/users
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
mail |
作成するユーザのメールアドレス |
JSON |
Yes |
半角英数字および記号(-_'.)60文字以内(@を含む) |
portalUse |
開発者ポータルの利用有無を指定#1 |
JSON |
Yes |
|
distributorFlag |
作成するユーザが自社ユーザかパートナーかを指定#2 |
JSON |
Yes |
|
password |
作成するユーザの開発者ポータルのパスワード |
JSON |
No |
portalUseが1の時は、必須。0の時は、不要。入力は、半角英大文字小文字および数字かつそれぞれ1つ以上を指定。8文字以上60文字以内。 |
- #1 0: 使用しない / 1: 利用する
- #2 0: 自社ユーザ / 1: パートナー
Example Request
Content-Type: application/json; charset=utf-8
POST /v1/iam/users
[
{
"mail":"test@example.com",
"portalUse":"1",
"password":"xxxxxx",
"distributorFlag":"0"
}
]
Response Parameters
Name |
Description |
type |
mandatory |
consumerKey |
作成したユーザのAPI Key |
String |
|
consumerSecret |
作成したユーザのAPI Secret |
String |
|
distributorFlag |
作成したユーザの所属 0:自社ユーザ 1:パートナー |
|
|
mail |
作成したユーザのメールアドレス |
String |
|
portalUse |
作成したユーザの開発者ポータルの利用有無 0:利用しない 1:利用する |
Int |
|
uuid |
作成したユーザのuserId |
String |
|
Example Result
{
"users": [
{
"consumerKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"consumerSecret": "xxxxxxxxxxxxxxxx",
"distributorFlag": 0,
"mail": "test01@example.com",
"portalUse": 1,
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
ユーザ一覧の参照
ユーザ一覧を参照します。
GET /v1/iam/users
Request Parameters
なし
Example Request
GET /v1/iam/users
Response Parameters
Name |
Description |
type |
mandatory |
distributorFlag |
ユーザの所属0:自社ユーザ 1:パートナー |
Int |
|
mail |
ユーザのメールアドレス |
String |
|
portalUse |
ユーザの開発者ポータルの利用有無 0:利用しない 1:利用する |
Int |
|
uuid |
ユーザのuserId |
String |
|
Example Result
{
"count": 3,
"users": [
{
"distributorFlag": 0,
"mail": "test01@example.com",
"portalUse": 1,
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
{
"distributorFlag": 0,
"mail": "test02@example.com",
"portalUse": 1,
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
{
"distributorFlag": 0,
"mail": "test03@example.com",
"portalUse": 0,
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
特定ユーザの情報参照
特定ユーザの情報を参照します。
GET /v1/iam/users/{userId}
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
userId |
情報参照するユーザのuserId |
Path |
Yes |
|
Example Request
GET /v1/iam/users/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Response Parameters
Name |
Description |
type |
mandatory |
distributorFlag |
ユーザの所属0:自社ユーザ 1:パートナー |
|
|
mail |
ユーザのメールアドレス |
String |
|
portalUse |
ユーザの開発者ポータルの利用有無 0:利用しない 1:利用する |
Int |
|
uuid |
ユーザのUUID |
String |
|
Example Result
{
"users": [
{
"distributorFlag": 0,
"mail": "test03@example.com",
"portalUse": 0,
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
ユーザ情報の更新
ユーザの開発者ポータルの利用有無を変更する。
変更できる情報は、開発者ポータルの利用有無のみです。(2015年9月現在)
PUT /v1/iam/users/{userId}
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
userId |
情報更新するユーザのuserId |
Path |
Yes |
|
portalUse |
ユーザの開発者ポータルの利用有無 |
JSON |
Yes |
|
Example Request
Content-Type: application/json; charset=utf-8
PUT /v1/iam/users/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
{
"portalUse": "1"
}
Response Parameters
Name |
Description |
type |
mandatory |
distributorFlag |
ユーザの所属0:自社ユーザ 1:パートナー |
Int |
|
mail |
ユーザのメールアドレス |
String |
|
portalUse |
ユーザの開発者ポータルの利用有無 0:利用しない 1:利用する |
Int |
|
uuid |
ユーザのUUID |
String |
|
Example Result
{
"users": [
{
"distributorFlag": 0,
"mail": "test03@example.com",
"portalUse": 1,
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
ユーザ情報削除
DELETE /v1/iam/users/{userId}
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
userId |
情報削除するユーザのuserId |
Path |
Yes |
|
Example Request
DELETE /v1/iam/users/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Response Parameters
Name |
Description |
type |
mandatory |
uuid |
情報削除したユーザのUUID |
String |
|
Example Result
{
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
ユーザのAPIキー情報の参照
ユーザのAPIキー情報を参照する。
GET /v1/iam/users/{userId}/keys
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
userId |
APIキーを参照するユーザのuserId |
Path |
Yes |
|
Example Request
GET /v1/iam/users/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/keys
Response Parameters
Name |
Description |
type |
mandatory |
consumerKey |
ユーザのAPI Key |
String |
|
consumerSecret |
ユーザのAPI Secret |
String |
|
status |
APIキーの承認ステータス approved:承認,revoke:未承認 |
String |
|
uuid |
APIキーを参照したユーザのUUID |
String |
|
Example Result
{
"consumerKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"consumerSecret": "xxxxxxxxxxxxxxxx",
"status": "approved",
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
ユーザのAPIキー情報の更新
ユーザのAPIキー情報を更新する。
POST /v1/iam/users/{userId}/keys
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
userId |
APIキーを更新するユーザのUUID |
Path |
Yes |
|
Example Request
POST /v1/iam/users/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/keys
Response Parameters
Name |
Description |
type |
mandatory |
consumerKey |
ユーザのAPI Key |
String |
|
consumerSecret |
ユーザのAPI Secret |
String |
|
uuid |
APIキーを更新したユーザのUUID |
String |
|
Example Result
{
"consumerKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"consumerSecret": "xxxxxxxxxxxxxxxx",
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
ユーザのAPIキーの承認/無効化
ユーザのAPIキーのステータスを変更します。ユーザのAPIキーを有効化、無効化できます。
POST /v1/iam/users/{userId}/keys/{API Key}
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
userId |
APIキーを参照するユーザのuserId |
Path |
Yes |
|
API Key |
承認/無効化するAPIキー |
Path |
Yes |
|
action |
APIキーの承認/無効化の指定 approve:承認、revoke:無効 |
query argument |
Yes |
|
Example Request
POST /v1/iam/users/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/keys/***********
Response Parameters
Name |
Description |
type |
mandatory |
consumerKey |
ユーザのAPIキー |
String |
|
consumerSecret |
ユーザのAPIシークレット |
String |
|
status |
APIキーの承認ステータス approved:承認,revoked:無効 |
String |
|
uuid |
APIキーを参照したユーザのUUID |
String |
|
Example Result
{
"consumerKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"consumerSecret": "xxxxxxxxxxxxxxxx",
"status": "revoked",
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
ユーザグループの作成
ユーザを管理するユーザグループを作成します。ユーザグループには、任意の名前を指定できます。
POST /v1/iam/groups
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
groupName |
作成するユーザグループの名前 |
JSON |
Yes |
|
Example Request
Content-Type: application/json; charset=utf-8
POST /v1/iam/groups
{
"groupName":"example_group"
}
Response Parameters
Name |
Description |
type |
mandatory |
groupName |
作成したユーザグループのユーザグループ名 |
String |
|
uuid |
作成したユーザグループのgroupId |
String |
|
Example Result
{
"groups": [
{
"groupName": "example_group",
"roles": [],
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
ユーザグループ一覧の参照
ユーザグループ一覧を参照します。
GET /v1/iam/groups
Request Parameters
なし
Example Request
GET /v1/iam/groups
Response Parameters
Name |
Description |
type |
mandatory |
groupName |
参照したユーザグループのユーザグループ名 |
String |
|
uuid |
作成したユーザグループのgroupId |
String |
|
Example Result
{
"count": 10,
"cursor": "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX",
"groups": [
{
"groupName": "example_group01",
"roles": [
{
"roleId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
],
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
{
"groupName": "example_group02",
"roles": [
{
"roleId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
],
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
{
"groupName": "example_group09",
"roles": [
{
"roleId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
],
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
{
"groupName": "example_group10",
"roles": [
{
"roleId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
],
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
特定ユーザグループの情報参照
特定ユーザグループの情報を参照します。
GET /v1/iam/groups/{groupId}
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
groupId |
参照するユーザグループのUUID |
Path |
Yes |
|
Example Request
GET /v1/iam/groups/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Response Parameters
Name |
Description |
type |
mandatory |
groupName |
参照したユーザグループのユーザグループ名 |
String |
|
roleId |
参照したユーザグループに紐づく権限のUUID |
String |
|
uuid |
参照したユーザグループのUUID |
String |
|
Example Result
{
"groups": [
{
"groupName": "example_group",
"roles": [
{
"roleId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
],
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
ユーザグループの情報更新
ユーザグループ名を更新する。
PUT /v1/iam/groups/{groupId}
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
groupId |
更新するユーザグループのUUID |
Path |
Yes |
|
groupName |
更新するユーザグループのユーザグループ名 |
JSON |
Yes |
|
Example Request
Content-Type: application/json; charset=utf-8
PUT /v1/iam/groups/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
{
"groupName": "new_group_name"
}
Response Parameters
Name |
Description |
type |
mandatory |
groupName |
更新したユーザグループのユーザグループ名 |
String |
|
roleId |
更新したユーザグループに紐づく権限のUUID |
String |
|
uuid |
更新したユーザグループのgroupId |
String |
|
{
"groups": [
{
"groupName": "new_group_name",
"roles": [
{
"roleId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
],
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
ユーザグループの削除
ユーザグループにユーザが紐付いている場合、ユーザグループは削除できません。
その場合、ユーザグループとユーザの紐付けを解除してください。
DELETE /v1/iam/groups/{groupId}
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
groupId |
削除するユーザグループのUUID |
Path |
Yes |
|
Example Request
DELETE /v1/iam/groups/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Response Parameters
Name |
Description |
type |
mandatory |
groupName |
削除したユーザグループのユーザグループ名 |
String |
|
uuid |
削除したユーザグループのgroupId |
String |
|
Example Result
{
"groups": [
{
"groupName": "example_group",
"resources": [],
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
特定ユーザグループのユーザ一覧の情報参照
特定ユーザグループに紐づくユーザ一覧の情報を参照します。
GET /v1/iam/groups/{groupId}/users
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
groupId |
ユーザ情報を参照するユーザグループのUUID |
Path |
Yes |
|
Example Request
GET /v1/iam/groups/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/users
Response Parameters
Name |
Description |
type |
mandatory |
userId |
ユーザグループに所属するユーザのUUID |
String |
|
uuid |
ユーザ情報を参照したユーザグループのgroupId |
String |
|
Example Result
{
"count": 1,
"groups": [
{
"users": [
{
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
],
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
ユーザグループとユーザの紐付け
ユーザグループとユーザを紐付けます。
ユーザに権限を紐付けるには、権限が紐付いているユーザグループとユーザを紐付ける必要があります。
PUT /v1/iam/groups/{groupId}/users/{userId}
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
groupId |
ユーザを紐付けるユーザグループのUUID |
Path |
Yes |
|
userId |
紐付けるユーザのUUID |
Path |
Yes |
|
Example Request
PUT /v1/iam/groups/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/users/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Response Parameters
Name |
Description |
type |
mandatory |
userId |
紐付けられたユーザのUUID |
String |
|
uuid |
ユーザを紐付けられたユーザグループのgroupId |
String |
|
Example Result
{
"groups": [
{
"users": [
{
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
],
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
ユーザグループとユーザの紐付け解除
ユーザグループとユーザの紐付けを解除します。
ユーザグループを削除する場合、ユーザが紐付いているとユーザグループを削除できません。
本APIにて、ユーザグループとユーザの紐付けを解除してから、ユーザグループを削除してください。
DELETE /v1/iam/groups/{groupId}/users/{userId}
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
groupId |
ユーザを削除するユーザグループのUUID |
Path |
Yes |
|
userId |
削除するユーザのUUID |
Path |
Yes |
|
Example Request
DELETE /v1/iam/groups/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/users/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Response Parameters
Name |
Description |
type |
mandatory |
userId |
削除されたユーザのUUID |
String |
|
uuid |
ユーザを削除したユーザグループのgroupId |
String |
|
Example Result
{
"groups": [
{
"users": [
{
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
],
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
ユーザグループとユーザの紐付き状況の確認
ユーザグループとユーザの紐付き状況を確認します。
GET /v1/iam/groups/{groupId}/users/{userId}
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
groupId |
特定ユーザの紐付き状況を確認するユーザグループのUUID |
Path |
Yes |
|
userId |
紐付き状況を確認するユーザのUUID |
Path |
Yes |
|
Example Request
GET /v1/iam/groups/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/users/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Response Parameters
Name |
Description |
type |
mandatory |
userId |
紐付き状況を確認したユーザのUUID |
String |
|
uuid |
特定ユーザの紐付き状況を確認したユーザグループのgroupId |
String |
|
Example Result
{
"count": 1,
"groups": [
{
"users": [
{
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
],
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
ユーザグループと権限の紐付け
ユーザグループに権限を紐付けます。
PUT /v1/iam/groups/{groupId}/roles/{roleId}
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
groupId |
権限を紐付けるユーザグループのUUID |
Path |
Yes |
|
roleId |
紐付ける権限のUUID |
Path |
Yes |
|
Example Request
PUT /v1/iam/groups/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/roles/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Response Parameters
Name |
Description |
type |
mandatory |
userId |
紐付けられたユーザのUUID |
String |
|
uuid |
ユーザを紐付けられたユーザグループのgroupId |
String |
|
Example Result
{
"groups": [
{
"groupName": "example_group01",
"roles": [
{
"roleId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
],
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
ユーザグループと権限の紐付け解除
ユーザグループから権限の紐付けを解除します。
権限を削除する場合、ユーザグループが紐付いていると権限を削除できません。
本APIにて、ユーザグループと権限の紐付けを解除してから、権限を削除してください。
DELETE /v1/iam/groups/{groupId}/roles/{roleId}
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
groupId |
権限との紐付けを解除するユーザグループのUUID |
Path |
Yes |
|
roleId |
紐付けを解除する権限のUUID |
Path |
Yes |
|
Example Request
DELETE /v1/iam/groups/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/roles/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Response Parameters
Name |
Description |
type |
mandatory |
roleId |
紐付けを解除された権限のUUID |
String |
|
uuid |
権限との紐付けを解除したユーザグループのgroupId |
String |
|
Example Result
{
"groups": [
{
"groupName": "example_group01",
"roles": [],
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
権限の作成
利用するAPIをホワイトリスト形式で、指定します。
POST /v1/iam/roles
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
roleName |
作成する権限の名前 |
JSON |
Yes |
|
basePath |
利用許可するAPI名 #1 |
JSON |
Yes |
ワイルドカードは、*を指定 |
ipAddress |
利用許可するアクセス元グローバルIPアドレス #2 |
JSON |
Yes |
ワイルドカードは、*を指定 |
path |
利用許可するAPIリソース名 #3 |
JSON |
Yes |
ワイルドカードは、*を指定 |
verb |
利用許可するMethod名 #4 |
JSON |
Yes |
ワイルドカードは、*を指定 |
-
#1 権限管理APIに対応しているAPIおよび指定方法
API Name |
value |
Business Process API |
/v1/business-process |
APILog API |
/v1/apilog |
Cloudn Compute API |
/v1/cloudn |
Arcstar Universal One Mobile Global M2M API |
/v1/global-m2m |
Enterprise Cloud API |
/v1/ec-vcd/api |
Nexcenter API |
/v1/nexcenter |
-
#2 指定方法 192.168.0.10/24 または 192.168.1.2
-
#3 権限管理APIに対応しているAPIリソースの指定方法の例
API Name |
value |
Business Process API |
/contracts, /tickets, etc |
APILog API |
指定なし |
Cloudn Compute API |
/compute |
Arcstar Universal One Mobile Global M2M API |
/connectivitydirectory, /subscriptionstatus, etc |
Enterprise Cloud API |
/login, /vAPP, etc |
Nexcenter |
/data_centers, /entry_apply, etc |
-
#4 GET,POST,PUT,DELETE
Example Request
Content-Type: application/json; charset=utf-8
POST /v1/iam/roles
{
"resources": [
{
"basePath": "*",
"ipAddress": "*",
"path": "*",
"verb": "*"
}
],
"roleName": "example_role01"
}
Response Parameters
Name |
Description |
type |
mandatory |
roleName |
作成する権限の名前 |
JSON |
Yes |
basePath |
利用許可するAPI名 |
JSON |
|
ipAddress |
利用許可するアクセス元グローバルIPアドレス |
JSON |
|
path |
利用許可するAPIリソース名 |
JSON |
|
verb |
利用許可するMethod名 |
JSON |
|
uuid |
作成した権限のroleId |
JSON |
Yes |
Example Result
{
"roles": [
{
"resources": [
{
"basePath": "*",
"ipAddress": "*",
"path": "*",
"verb": "*"
}
],
"roleName": "example_role01",
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
権限一覧の参照
権限一覧を参照します。
GET /v1/iam/roles
Request Parameters
なし
Example Request
GET /v1/iam/roles
Response Parameters
Name |
Description |
type |
mandatory |
basePath |
利用許可するAPI名 |
JSON |
|
ipAddress |
利用許可するアクセス元グローバルIPアドレス |
JSON |
|
path |
利用許可するAPIリソース名 |
JSON |
|
verb |
利用許可するMethod名 |
JSON |
|
roleName |
参照した権限の権限名 |
String |
Yes |
uuid |
参照した権限のroleId |
JSON |
Yes |
Example Result
{
"count": 10,
"cursor": "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX",
"roles": [
{
"resources": [
{
"basePath": "*",
"ipAddress": "*",
"path": "*",
"verb": "*"
}
],
"roleName": "example_role01",
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
{
"resources": [
{
"basePath": "/v1/business-process",
"ipAddress": "xx.xx.xx.xx/xx",
"path": "/contracts",
"verb": "GET"
}
],
"roleName": "example_role02",
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
{
"resources": [],
"roleName": "example_role09",
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
{
"resources": [
{
"basePath": "/v1/cloudn",
"ipAddress": "*",
"path": "/compute",
"verb": "*"
}
],
"roleName": "example_role10",
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
]
}
特定権限の情報参照
特定権限の情報を参照します。
GET /v1/iam/roles/{roleId}
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
roleId |
参照する特定権限のUUID |
Path |
Yes |
|
Example Request
GET /v1/iam/roles/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Response Parameters
Name |
Description |
type |
mandatory |
basePath |
利用許可するAPI名 |
JSON |
|
ipAddress |
利用許可するアクセス元グローバルIPアドレス |
JSON |
|
path |
利用許可するAPIリソース名 |
JSON |
|
verb |
利用許可するMethod名 |
JSON |
|
roleName |
参照した権限の権限名 |
String |
Yes |
uuid |
参照した権限のroleId |
JSON |
Yes |
Example Result
{
"roles": [
{
"resources": [
{
"basePath": "*",
"ipAddress": "*",
"path": "*",
"verb": "*"
}
],
"roleName": "example_role01",
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
特定権限の情報更新
特定権限の情報を更新します。
PUT /v1/iam/roles/{roleId}
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
roleId |
情報更新する特定権限のUUID |
Path |
Yes |
|
roleName |
変更する権限名 |
JSON |
|
|
basePath |
変更するAPI名 |
JSON |
|
|
ipAddress |
変更するアクセス元グローバルIPアドレス |
JSON |
|
|
path |
変更するAPIリソース名 |
JSON |
|
|
verb |
変更するMethod名 |
JSON |
|
|
- basePath、ipAddress、path、およびverbのいずれかの情報更新をする場合、更新する情報以外は更新前の値を送る必要があります。
Example Request
Pattern 1
Content-Type: application/json; charset=utf-8
PUT /v1/iam/roles/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
{
"roleName": "new_role_name"
}
Pattern 2
Content-Type: application/json; charset=utf-8
PUT /v1/iam/roles/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
{
"resources": [
{
"basePath": "*",
"ipAddress": "*",
"path": "/compute",
"verb": "*"
}
]
}
Response Parameters
Name |
Description |
type |
mandatory |
basePath |
利用許可するAPI名 |
JSON |
|
ipAddress |
利用許可するアクセス元グローバルIPアドレス |
JSON |
|
path |
利用許可するAPIリソース名 |
JSON |
|
verb |
利用許可するMethod名 |
JSON |
|
roleName |
参照した権限の権限名 |
String |
Yes |
uuid |
参照した権限のroleId |
JSON |
Yes |
Example Result
{
"roles": [
{
"resources": [
{
"basePath": "*",
"ipAddress": "*",
"path": "/compute",
"verb": "*"
}
],
"roleName": "new_role_name",
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
権限の削除
権限を削除します。
DELETE /v1/iam/roles/{roleId}
Request Parameters
Name |
Description |
Type |
Mandatory |
Notes |
roleId |
削除する権限のUUID |
Path |
Yes |
|
Example Request
DELETE /v1/iam/roles/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Response Parameters
Name |
Description |
type |
mandatory |
basePath |
利用許可するAPI名 |
JSON |
|
ipAddress |
利用許可するアクセス元グローバルIPアドレス |
JSON |
|
path |
利用許可するAPIリソース名 |
JSON |
|
verb |
利用許可するMethod名 |
JSON |
|
roleName |
削除した権限の名前 |
JSON |
Yes |
uuid |
削除した権限のroleId |
JSON |
Yes |
Example Result
{
"roles": [
{
"resources": [
{
"basePath": "*",
"ipAddress": "*",
"path": "*",
"verb": "*"
}
],
"roleName": "example_role01",
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}