Я пытаюсь назначить стандартную роль шлюза шлюзовому устройству в соответствии с доступной документацией https://docs.internetofthings.ibmcloud.com/apis/swagger/v0002-beta/security-gateway-beta.html#!/Limited_Gateway/put_authorization_devices_deviceId_roles
Но я продолжаю получать ошибку 403 Forbidden. Я использую учетные данные приложения (ключ API и токен), у которого есть роль «Операционное приложение» и, следовательно, привилегии для назначения ролей.
Вот несколько запущенных скриптов, в которых я заменил организацию, тип, идентификатор и токен фиктивными значениями.
curl -X PUT \
https://dummyorg.internetofthings.ibmcloud.com:443/api/v0002/authorization/devices/g%3Adummyorg%3Adummytype%3Adummyid/roles \
-H 'authorization: Basic dummyauth' \
-H 'content-type: application/json' \
-d '{
"roles": [
{
"roleId": "PD_STANDARD_GW_DEVICE",
"roleStatus": 1
}
]
}'
Ответ HTTP 403 запрещен
Когда я пытаюсь получить роль устройства, все работает нормально
curl -X GET \
https://dummyorg.internetofthings.ibmcloud.com:443/api/v0002/authorization/devices/g%3Adummyorg%3Adummytype%3Adummyid/roles \
-H 'authorization: Basic dummyauth' \
Ответ
{
"results": [
{
"roleId": "PD_PRIVILEGED_GW_DEVICE",
"roleStatus": 1
}
],
"rolesToGroups": {}
}