6.4.3. IAMロールを作成する¶
実際のAPI実行権限を制御するIAMロールを作成します。IAMロール作成時のエンドポイントとパラメータは以下のとおりです。
注釈
- 使用可能な文字は、以下です。
- key:半角英数字、利用可能記号(@,-,‘(シングルクォート),.(ピリオド),_(アンダー))の中から1~128文字で入力してください。
- value:半角英数字、利用可能記号(@,-,/,*,‘(シングルクォート),.(ピリオド),_(アンダー))の中から128文字までで入力してください。
エンドポイント
POST {api_endpoint}/api/v2/iam/roles
パラメータ
contract_id(任意) | システム契約ID(デフォルトはAPI実行ユーザーのシステム契約ID) |
iam_role_name | IAMロールの名前 |
description(任意) | IAMロールの説明 |
resources | ホワイトリスト形式のAPI実行許可リスト。以降5つのパラメータを記載する |
basePath(resources内に記述) | 実行を許可する各APIエンドポイント |
ipAddress(resources内に記述) | 実行を許可するアクセス元グローバルIPアドレス |
path(resources内に記述) | 実行を許可するURLのパス |
verb(resources内に記述) | 実行を許可するメソッド |
任意の要素(resources内に記述) | 各APIのクエリパラメータやリクエストボディに含まれる任意の値 |
管理機能のGET操作を許可するIAMロール作成のリクエストボティと、リクエスト例は以下のとおりです。
{
"contract_id": "econXXXXXXXXX",
"iam_role_name": "sss_get_role",
"description": "管理機能のGET操作を許可するIAMロール",
"resources": [
{
"ipAddress": "*",
"basePath": "/ecl-sss",
"path": "*",
"verb": "GET"
}
]
}
curl -1 -i -X POST \
-H "X-Auth-Token:d381dd28fa804954972d2b6e7609a00a" \
-H "Content-Type:application/json" \
-d \
'{
"contract_id": "econXXXXXXXXX",
"iam_role_name": "sss_get_role",
"description": "管理機能のGET操作を許可するIAMロール",
"resources": [
{
"ipAddress": "*",
"basePath": "/ecl-sss",
"path": "*",
"verb": "GET"
}
]
}' https://sss-jp1-ecl.api.ntt.com/api/v2/iam/roles
IAMロール作成成功時のレスポンス例
IAMロール作成成功時にレスポンスとして返ってくる iam_role_id はIAMグループとの紐付け・紐付け解除、ロールの詳細参照の際に必要となります。
HTTP/1.1 201 Created
Date: Wed, 17 Aug 2016 07:12:09 GMT
Content-Type: application/json
Content-Length: 208
Connection: keep-alive
Set-Cookie: TS0183560f=01ccdba5ce1ef3285bf92fd59c7086829cbd0614e9fa8c1f832317bb53e565a1ff9a62f0771; Path=/
{"contract_id":"econXXXXXXXXX","iam_role_id":"e8422cea-6449-11e6-82d8-7f1d195e00b5","iam_role_name":"sss_get_role","description":"管理機能のGET操作のみを許可するロール","resources":[{"ipAddress":"*","basePath":"/ecl-sss","path":"*","verb":"GET"}]}