6.4.3. IAMロールを作成する

実際のAPI実行権限を制御するIAMロールを作成します。IAMロール作成時のエンドポイントとパラメータは以下のとおりです。

エンドポイント
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"}]}