SIM グループ画面の をクリックすると、グループに所属している IoT SIM が表示されます。この画面では、SIM 管理画面とほぼ同じ機能を利用できます。SIM 管理画面について詳しくは、SIM 管理画面で IoT SIM の情報を確認 / 検索する を参照してください。
特定のグループの IoT SIM だけを表示できる SAM ユーザーを作成する
SIM グループ画面の タブの IoT SIM の一覧は、Query:searchSimsByGroup API を使用して表示されます。
この API では、グループ ID を API のパスで指定します。そのため、SAM ユーザーのパーミッション構文で pathVariable('group_id') を利用した condition を設定すると、指定したグループに所属する IoT SIM だけを検索および表示できます。
次のパーミッション構文では、以下の権限を設定します。パーミッション構文について詳しくは、パーミッション構文 を参照してください。
- グループ一覧の表示を許可する
- 指定したグループの情報と、そのグループに所属する IoT SIM の表示を許可する
- グループに関係なく、すべての IoT SIM を検索および一覧表示することを禁止する
{
"statements": [
{
"effect": "allow",
"api": ["Group:listGroups"]
},
{
"effect": "allow",
"api": ["Group:getGroup", "Query:searchSimsByGroup"],
"condition": "pathVariable('group_id') == '<グループ ID>'"
},
{
"effect": "deny",
"api": [
"Query:searchSims",
"Sim:listSims",
"Subscriber:listSubscribers"
]
}
]
}
すべての IoT SIM を表示する API の deny を削除しないでください
上記のパーミッション構文では、Query:searchSims API、Sim:listSims API、Subscriber:listSubscribers API を deny しています。
これらの deny を削除すると、ロール指定や SAM デフォルト権限で API が許可されている場合に、SAM ユーザーがグループに関係なくすべての IoT SIM を検索および一覧表示できるようになります。
IoT SIM に対する操作はグループごとに制限できません
グループ ID を条件として制限できるのは、Group:getGroup API を使用したグループ情報の表示と、Query:searchSimsByGroup API を使用した、そのグループに所属する IoT SIM の検索および表示です。
Sim:getSim API、Sim:activateSim API、Sim:terminateSim API など、個別の IoT SIM を操作する API は、グループ ID ではなく IoT SIM の ID をパスで指定します。そのため、グループ ID を条件として操作を制限できません。
これらの API を許可すると、SAM ユーザーは、グループに所属していない IoT SIM の ID を知っている場合に、その IoT SIM を操作できます。
操作できる IoT SIM を制限する場合は、上記のサンプルと同様に condition を設定します。pathVariable() で利用できるプレースホルダーには sim_id や imsi などがあり、API ごとに異なります。詳しくは、SORACOM API リファレンス を参照してください。
なお、Napter の一部の API など、対象の IoT SIM の ID がパスに含まれない API には、この方法は使えません。