SAM のパーミッション構文のサンプルはありますか?

よく使われるパーミッション構文のサンプルをご紹介します。SAMの詳細は開発者向けWebサイトをご参照ください。

※以下のパーミッション構文はあくまでサンプルです。
 実際にお使いになる際は事前にテストを実施くださいますようお願いいたします。


(サンプル1)「SIM管理」「課金情報」参照のみ許可するパーミッション構文

{
  "statements": [
    {
      "api": [
        "Subscriber:list*",
        "Billing:*",
        "Payment:get*",
        "Payment:list*",
        "Stats:*",
        "Files:*",
        "Query:searchSubscribers"
      ],
      "effect": "allow"
    }
  ]
}

ユーザーコンソールの検索機能強化にともない、以前に公開していた構文に加えて "Query:searchSubscribers" が追加されています。

(サンプル2)SIM管理画面の参照、監視情報の参照・更新のみ許可するパーミッション構文

{
  "statements": [
    {
      "api": [
        "EventHandler:*",
        "Subscriber:listSubscribers",
        "Query:searchSubscribers"
      ],
      "effect": "allow"
    }
  ]
}

ユーザーコンソールの検索機能強化にともない、以前に公開していた構文に加えて "Query:searchSubscribers" が追加されています。

(サンプル3)Harvestのデータの参照のみ許可するパーミッション構文

{
  "statements": [
    {
      "api": [
        "Subscriber:getDataFromSubscriber",
        "LoraDevice:getDataFromLoraDevice",
        "SigfoxDevice:getDataFromSigfoxDevice",
        "DataEntry:getDataEntries",
        "DataEntry:getDataEntry"
      ],
      "effect": "allow"
    }
  ]
}

(サンプル4)サポート問い合わせのみ不可・他のAPIは全て許可するパーミッション構文

{
  "statements": [
    {
      "api": "*",
      "effect": "allow"
    },
    {
      "api": [
        "Operator:generateSupportToken"
      ],
      "effect": "deny"
    }
  ]
}

(サンプル5)全てのAPIを許可するパーミッション構文

{
  "statements": [
    {
      "api": "*",
      "effect": "allow"
    }
  ]
}

 

(サンプル6)SAMユーザーが自分自身のパスワードのみを変更することを許可するパーミッション構文

{
  "statements":[
    {
      "effect":"allow",
      "api": "User:updateUserPassword",
      "condition": "pathVariable('user_name') == samUserName"
    }
  ]
}

 

(サンプル7)特定の IMSI に対する使用開始、休止へのステータス変更とセッション切断を許可、また SIM 管理画面の参照、SIM の検索を許可するパーミッション構文

{
    "statements":[
        {
            "api":[ 
              "Subscriber:activateSubscriber",
              "Subscriber:deactivateSubscriber",
              "Subscriber:deleteSubscriberSession",
              "Subscriber:getSubscriber"
            ],
            "effect":"allow",
            "condition":"pathVariable('imsi') == '対象の IMSI 番号'"
        },
        {
            "api":[ 
              "Subscriber:listSubscribers",
              "Query:searchSubscribers"
            ],
            "effect":"allow"
        }
    ]
}
この記事は役に立ちましたか?

1人中1人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください
Powered by Zendesk