Armadilloフォーラム

Rest API ネットワーク設定について

m.yoshida

2024年5月23日 10時47分

6.11.6.7. Rest API : ネットワーク設定の”ネットワーク接続の変更”について質問があります。
https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…
こらの機能はIPアドレスを変更するのに使えますでしょうか?

curl -k -H "Authorization: Bearer $token" -w "\n"  -X PATCH -d ipv4.method=manual -d ipv4.addresses=192.xxx.xxxx.xxxx/16 https://armadillo.local:58080/api/connections/ethernet-eth0

をATDE上で実行すると以下のメッセージが出ます。(※$tokenにはAPIトークンを記載してます。IPアドレスのXXXは適当な値入れています)

{"error":"Invalid token or insufficient access rights"}

必要権限のNetworkAdminにトークンがあることはABOSで確認してます。
また、ネットワーク接続詳細取得を取得すること確認してます。

修正必要な箇所とうありましたらご教示願います。

コメント

at_dominique.m…

2024年5月23日 11時20分

m.yoshidaさん

お世話になっています、
マルティネです。

> 6.11.6.7. Rest API : ネットワーク設定の”ネットワーク接続の変更”について質問があります。
> https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…
> こらの機能はIPアドレスを変更するのに使えますでしょうか?

はい、提供していただいたコマンドで変更できます。

> curl -k -H "Authorization: Bearer $token" -w "\n"  -X PATCH -d ipv4.method=manual -d ipv4.addresses=192.xxx.xxxx.xxxx/16 https://armadillo.local:58080/api/connections/ethernet-eth0

> をATDE上で実行すると以下のメッセージが出ます。(※$tokenにはAPIトークンを記載してます。IPアドレスのXXXは適当な値入れています)

> {"error":"Invalid token or insufficient access rights"}

>
> 必要権限のNetworkAdminにトークンがあることはABOSで確認してます。
> また、ネットワーク接続詳細取得を取得すること確認してます。

このエラーはトークンが間違っているか、権限がない場合のエラーです。
このリクエストは確かに NetworkAdmin の権限が必要ですので、大変お手数ですがもう一度トークンを確認していただけますでしょうか。

typo がないように同じ $token 変数で、以下のコマンドで確認できます:

$ curl -k -u abosweb -w '\n' "https://172.16.69.123:58080/api/tokens/$token"
Enter host password for user 'abosweb': (ここにabos-webのパスワード入力)
{"token":"e5f0a5f8-a5fc-4f3d-bfde-c0048a88c23c","permissions":["ContainerView","NetworkAdmin","NetworkView"]}

その出力に Admin か NetworkAdmin があれば大丈夫なはずですので、その場合はもう少し確認させてください。

よろしくお願いします。

マルティネです。
> typo がないように同じ $token 変数で、以下のコマンドで確認できます:
>

> $ curl -k -u abosweb -w '\n' "https://172.16.69.123:58080/api/tokens/$token"
> Enter host password for user 'abosweb': (ここにabos-webのパスワード入力)
> {"token":"e5f0a5f8-a5fc-4f3d-bfde-c0048a88c23c","permissions":["ContainerView","NetworkAdmin","NetworkView"]}
> 

> その出力に Admin か NetworkAdmin があれば大丈夫なはずですので、その場合はもう少し確認させてください。

上記のコマンド実施しました。

Enter host password for user 'abosweb':
{"token":"ea7f03a0-99bd-4d37-aa5f-9c9c57fc50eb","permissions":["NetworkAdmin"]}

NetworkAdminがありました。
ご確認よろしくお願いいたします。

マルティネさん
お世話になります。
> typo がないように同じ $token 変数で、以下のコマンドで確認できます:
>

 > $ curl -k -u abosweb -w '\n' "https://172.16.69.123:58080/api/tokens/$token"
 > Enter host password for user 'abosweb': (ここにabos-webのパスワード入力)
 > {"token":"e5f0a5f8-a5fc-4f3d-bfde-c0048a88c23c","permissions":["ContainerView","NetworkAdmin","NetworkView"]}
 > 

> その出力に Admin か NetworkAdmin があれば大丈夫なはずですので、その場合はもう少し確認させてください。

上記のコマンド実施しました。

 Enter host password for user 'abosweb':
 {"token":"ea7f03a0-99bd-4d37-aa5f-9c9c57fc50eb","permissions":["NetworkAdmin"]}
 

NetworkAdminがありました。
ご確認よろしくお願いいたします。

at_dominique.m…

2024年5月23日 11時44分

m.yoshidaさん

> 上記のコマンド実施しました。
>

> Enter host password for user 'abosweb':
> {"token":"ea7f03a0-99bd-4d37-aa5f-9c9c57fc50eb","permissions":["NetworkAdmin"]}
> 

>
> NetworkAdminがありました。

ご確認ありがとうございます。

最後のバージョンで確認していて失念していましたが、ABOS-Web 1.2.x までに接続の変更は間違って NetworkView 権限を確認していました。
ABOS 3.19.1-at.2 (ABOS-Web 1.3.0) 以降に修正されてますのでアップデートしていただければ NetworkAdmin で使用可能となりますが、それまでに NetworkView で変更できてしまいますのでそのトークに両方の権限を設定していただければアドレスを変更できるようになります。

お手数をお掛けしますがよろしくお願いします。

> 最後のバージョンで確認していて失念していましたが、ABOS-Web 1.2.x までに接続の変更は間違って NetworkView 権限を確認していました。
> ABOS 3.19.1-at.2 (ABOS-Web 1.3.0) 以降に修正されてますのでアップデートしていただければ NetworkAdmin で使用可能となりますが、それまでに NetworkView で変更できてしまいますのでそのトークに両方の権限を設定していただければアドレスを変更できるようになります。

上記で変更できました。
ありがとうございます。