インベントリロール
インベントリロールには、デバイスのグループに割り当てることができる権限が含まれています。例えば、インベントリロールにデバイスを再起動する権限を含めるとします。そして、そのインベントリロールをデバイスグループ「Region North」とユーザー「smith」に割り当てるとします。その結果、ユーザー「smith」は、グループ「Region North」とそのサブグループ内のすべてのデバイスを再起動できるようになります。
インベントリロールの表示
現在設定されているインベントリロールを表示するには、アカウントメニューのロールをクリックし、インベントリロールタブに切り替えます。
インベントリロールタブでは、特定のグループやその配下にある子のユーザー権限を管理できます。デフォルトのインベントリロールがいくつか定義されていますが、必要に応じて独自のロールを定義できます。
新規テナントは、次のデフォルトのインベントリロールが最初から使用可能です。
ロール |
説明 |
アセットマネージャー |
すべてのアセットのデータの読み取りとインベントリ内のデータの管理ができますが、 オペレーションの実行はできません。 さらに、ダッシュボードを含むインベントリデータとアラームの管理ができます |
操作:すべて |
デバイスにオペレーションを送信し、アセットを遠隔管理することができます (例:ソフトウェアのアップデート、リモート設定) |
操作:デバイス再起動 |
デバイスを再起動できます |
リーダー |
アセットのデータをすべて閲覧することができます |
インベントリロールの追加
インベントリロールタブでインベントリロールの追加をクリックします。
新しいインベントリロールページで、名前と説明を入力し、新しいインベントリロールにアクセス権限を割り当てます。

アクセス権限は、次のカテゴリに分類されます。
カテゴリ |
説明 |
アラーム |
デバイスからのアラームの操作に関連する権限 |
監査 |
監査ログに関連する権限 |
イベント |
デバイスからのイベントの操作に関連する権限 |
インベントリ |
デバイスを閲覧および編集するための権限 |
計測値(メジャーメント) |
メジャーメントに関連する権限 |
デバイス制御 |
デバイスを遠隔制御するための権限 |
フルアクセス |
構成設定を簡素化するための、関連するデバイスへの完全なアクセス権 |
目的のカテゴリの横にあるプラスアイコン をクリックして、ロールに権限を追加します。
タイプフィールドでフラグメントを指定して、この権限が適用されるデータタイプをさらに制限します。アクセスは、指定されたフラグメントタイプを正確に含むオブジェクトにのみ許可されます。選択したオブジェクトに、インベントリロール構成で定義されているものよりも多くのフラグメントタイプが含まれている場合、それを表示するにはインベントリロール構成に追加する必要があります。
例えば、デバイスが「c8y_SignalStrength」などのデバイス管理に関連するメジャーメントを送信しているが、メジャーメント自体には関係ない「c8y_Temperature」も含まれているとします。
選択されたデバイスには、「c8y_Temperature」フラグメントのみを含むメジャーメントもあります。
POST /measurement/measurements
...
{
"source": { "id": "2480300" },
"time": "2013-07-02T16:32:30.152+02:00",
"type": "SignalStrength",
"c8y_SignalStrength": {
"rssi": { "value": -53, "unit": "dBm" },
"ber": { "value": 0.14, "unit": "%" }
},
"c8y_Temperature": {
"T": { "value": 10, "unit": "C" }
}
}
POST /measurement/measurements
...
{
"source": { "id": "2480300" },
"time": "2013-07-02T16:32:30.152+02:00",
"type": "SignalStrength",
"c8y_Temperature": {
"T": { "value": 10, "unit": "C" }
}
}
ユーザーには、フラグメント「c8y_SignalStrength」を含むデバイス管理のメジャーメントのみを表示させたいとします。
インベントリロールのデフォルト構成では、メジャーメントに含まれるすべてのフラグメント「c8y_SignalStrength」と「c8y_Temperature」へのアクセスを提供する必要があります。
メジャーメントに他のフラグメントタイプも含まれている場合、それらもインベントリロール構成に追加されている必要があり、レスポンスで返されることに注意してください。
それ以外の場合、ユーザーにアクセスが許可されていないフィールドが含まれているため、そのようなメジャーメントは返されません。
レスポンスは次のようになります。
GET /measurement/measurements
...
{
"source": { "id": "2480300" },
"time": "2013-07-02T16:32:30.152+02:00",
"type": "SignalStrength",
"c8y_SignalStrength": {
"rssi": { "value": -53, "unit": "dBm" },
"ber": { "value": 0.14, "unit": "%" }
},
"c8y_Temperature": {
"T": { "value": 10, "unit": "C" }
}
}
カテゴリconfiguration
のテナントオプション acl.measurement.only-accessible-fragments
は、メジャーメントに使用することができます。
これを有効にするには、次のようにオプションvalue
をtrue
に設定します。
POST /tenant/options
...
{
"category": "configuration",
"key": "acl.measurement.only-accessible-fragments",
"value": "true"
}
テナントオプション値をtrue
に設定した後、「c8y_SignalStrength」などの単一のメジャーメントフラグメントにアクセスするために、メジャーメントに含まれるすべてのフラグメントタイプへのアクセスを許可する必要はありません。
例えば、デバイスが前述の例のような「c8y_SignalStrength」と「c8y_Temperature」を含むメジャーメントと、「c8y_Temperature」のみを含む他のメジャーメントを送信するとします。
POST /measurement/measurements
...
{
"source": { "id": "2480300" },
"time": "2013-07-02T16:32:30.152+02:00",
"type": "SignalStrength",
"c8y_SignalStrength": {
"rssi": { "value": -53, "unit": "dBm" },
"ber": { "value": 0.14, "unit": "%" }
},
"c8y_Temperature": {
"T": { "value": 10, "unit": "C" }
}
}
POST /measurement/measurements
...
{
"source": { "id": "2480300" },
"time": "2013-07-02T16:32:30.152+02:00",
"type": "SignalStrength",
"c8y_Temperature": {
"T": { "value": 10, "unit": "C" }
}
}
HTTP/1.1 201 Created
ユーザーには、フラグメント「c8y_SignalStrength」を持つデバイス管理のメジャーメントのみを表示したいとします。
テナントオプションを変更した後、必要なフラグメントタイプのみを指定できます。
定義されたタイプのセットを持つメジャーメントのみが返され、インベントリロール構成にリストされていない追加のタイプは、返されるメジャーメントから削除されることに注意してください。
レスポンスは次のようになります。
GET /measurement/measurements
...
{
"source": { "id": "2480300" },
"time": "2013-07-02T16:32:30.152+02:00",
"type": "SignalStrength",
"c8y_SignalStrength": {
"rssi": { "value": -53, "unit": "dBm" },
"ber": { "value": 0.14, "unit": "%" }
}
}
...
これにより、ユーザーは定義されたタイプのみを含むメジャーメントを表示でき、メジャーメントに含まれる他のフラグメントのタイプを追加で構成する必要がありません。
デフォルトでは、タイプフィールドにはすべてのタイプを選択するアスタリスク「*」が含まれています。
備考
使用可能なタイプの詳細については、デバイスのドキュメントまたは
フラグメントライブラリを確認してください。ここで使用されているタイプは、いわゆる「フラグメントタイプ」であり、「タイプ」プロパティではありません。メジャーメントを表示するには、メジャーメントで送信するすべてのフラグメントタイプを入力してください。他のデータのタイプについても同様です。
アクセス権限フィールドで、ドロップダウンリストから権限レベルを選択します。
- 読み取り:オブジェクトを閲覧します
- 変更:オブジェクトを変更します(読み取り権限は含まれません)
- すべて:オブジェクトの閲覧と変更ができます
重要
アクセス権限を追加すると、小さな感嘆符が表示される場合があります。感嘆符は、ユーザーが追加した権限が有効でないことを示します。これは、そのユーザーの別の「高位」権限セットに、対応するアクセス権限がすでに含まれているためです。例えば、「フルアクセス」を設定しているかどうか、または同じセクションにタイプが「*」で、アクセス権限が「すべて」である別の設定があるかどうかを確認してください。
別の例として、トラッキングデバイスを使用しているとします。ユーザーにはすべてのデバイスを表示できるようにしたいのですが、何も変更できないようにしたいとします。さらに、ユーザーはマップ上でデバイスの軌跡を追跡できるようにしたいとします。追跡は、フラグメントタイプ「c8y_Position」のイベントを使用して記録されます(フラグメントライブラリ)。そのためには、下の図で示すようにインベントリと「c8y_Position」をタイプに持つイベントに読み取り権限を割り当てます。
ユーザーへのインベントリロールの割り当て
インベントリロールは、ユーザーとデバイスのグループに割り当てられます。
インベントリロールを割り当てるには、アカウントメニューのユーザーをクリックし、ユーザーリストでユーザーを選択してインベントリロールタブに切り替えます。
インベントリロールタブでは、デバイスグループのツリーが表示されます。インベントリロールを割り当てるには、グループ行の右側にあるドロップダウンを開きます。関連するロールを選択し、適用をクリックします。ロールの詳細については、その横にある情報アイコンをクリックしてください。
重要
ユーザーがすでにインベントリ権限を含むグローバルロールを持っている場合、ここで設定したインベントリロールに関係なく、すべてのデバイスを表示または変更できます。
インベントリロールは、グループとその直接および間接的な配下にあるすべてのサブグループ、そしてこれらのグループ内のデバイスに継承されます。例えば、デバイスのグループのアラームに対する読み取り権限を持つロールを選択すると、ユーザーはこのグループ内のすべてのデバイスとサブグループのアラームを閲覧できます。
ユーザーがデバイスグループへのインベントリのアクセス権を持っている場合、ユーザーはコックピットアプリケーションでそのデバイスグループのすべてのダッシュボードへアクセスできます。
他のユーザーのインベントリロールをコピーすることもできます。ロールをコピーするには、他のユーザーからインベントリロールをコピーをクリックします。次のウィンドウで、リストからユーザーを選択し、コピーをクリックします。上部で、現在のロールをユーザーロールにマージするか(デフォルト)、現在のユーザーロールを置き換えるかを選択できます。ロールをコピーすると、参照ユーザーを作成し、そこから権限をコピーできるため、多数のユーザーの権限を簡単に管理できます。