Как внешнее приложение может получить доступ к хранилищу облачных объектов ibm
У меня есть служба IBM COS и я могу использовать команду Curl через cli для извлечения объектов. Я использовал токены IAM для получения. Но как мне разрешить внешнему веб-приложению ex. Узел получить доступ к этой службе?
какое значение должно быть в авторизации для доступа к внешнему приложению?
2 ответа
Внешние приложения будут иметь вид чего-то вроде интерфейса командной строки AWS или любого другого приложения, использующего либо библиотеку HTTP в сочетании с API-интерфейсом IBM Cloud Object Storage, либо даже SDK для таких языков, как Python, Java или Node.Js.
Все вышеперечисленное попросит вас ввести ключ доступа и секретный ключ.
Вы можете получить их оба из консоли IBM Cloud, создав новые учетные данные HMAC [1]:
- Перейдите к своей учетной записи хранения Cloud Object
- Нажмите справа под учетными данными службы
- Нажмите кнопку Новые учетные данные справа
- В текстовом поле "Добавить параметры конфигурации (необязательно)" введите следующий JSON:
{"HMAC":true}
[1] https://console.bluemix.net/docs/services/cloud-object-storage/iam/service-credentials.html
Мы можем использовать библиотеку узлов ibm-cos-sdk https://www.npmjs.com/package/ibm-cos-sdk. Вам нужно будет использовать свои учетные данные HMAC.
var config = {
endpoint: '<endpoint>',
ibmAuthEndpoint: 'https://iam.ng.bluemix.net/oidc/token',
serviceInstanceId: '<resource-instance-id>',
accessKeyId: '<HMAC access_key>',
secretAccessKey: '<HMAC secret access key>'
};