ЛР3.Ч2. Основи роботи з хмарними сервісами. Хмарні сервіси для збереження об’єктів
2. Створення, наповнення та адміністрування IBM Cloud Object Storage
IBM Cloud Object Storage (надалі, COS) - це хмарне сховище даних, яке за своїми функціями подібне до файлового серверу. Ключові терміни.
2.1. Створення IBM Cloud Object Storage
Відкрийте IBM Cloud і увійдіть в систему. Перейдіть на вкладку з ресурсами і натисніть на Object Storage (рис.5).
Рис.5.
У вікні налаштувань створення сервісу (рис.6) вкажіть ServiceName, відповідно до вашого прізвища та імені, наприклад для Іваненко Івана згідно та шаблону:
IvanenkoIvanStorageCOS
Рис.6.
2.2. Створення Bucket
Після створення сервісу, автоматично відкриється вікно швидкого старту (рис.7), де запропонують створити Bucket (буквальний переклад «Відро»). Bucket – це розділ для сховища об’єктів, який за своїми функціями схожий на папку, в якій зберігаються файли. З цієї точки зору об’єкти також в певному наближенні можна вважати файлами. Новий Bucket також можна створювати з розділу Buckets.
Рис.7.
Натисніть кнопку “Create Bucket” для створення нового Bucket (рис.8). Вкажіть Bucket Name, відповідно до вашого прізвища та імені, наприклад для Іваненко Івана згідно та шаблону:
ivanenko-ivan-files
Рис.8.
Дочекайтеся, поки буде створений Bucket, після чого ви отримаєте повідомлення і автоматично перейдете до вкладки Objects (рис.9).
2.3. Добавлення файлів в Bucket.
За допомогою кнопки Upload -> Files (у спливаючому вікні виберіть Standard Upload), або шляхом перетягування, добавте в новостворений Bucket якийсь файл *.jpg (наприклад своє фото). Після завантаження у переліку буде показаний завантажений файл (рис.10).
Рис 10.
2.4. Налаштування доступу до об’єктів Bucket.
Об’єктами COS можна користуватися як з сервісів IBM Cloud, так і поза ними. Для того, щоб мати можливість користуватися цими об’єктами поза межами IBM Cloud (через HTTP API) необхідно налаштувати доступ. Нижче наведені деякі поняття, які необхідні для розуміння.
Service credential (облікові дані) - це сукупність важливої інформації, яку розробники використовують для підключення до екземпляра об'єкта зберігання даних.
Resource instance ID / Service instance ID - коли створюється або надається екземпляр сервісу, йому присвоюється унікальний ідентифікатор у вигляді імені ресурсу хмари (CRN - Cloud Resource Name).
Identity endpoint – кінцева точка IAM (iam.bluemix.net
), що використовується для отримання маркера доступу (access token) в обмін на ключ API (API key). Цей маркер надалі використовується в заголовку авторизації (Authorization
) всіх запитів REST API, надісланих кінцевій точці служби зберігання об'єктів.
Service endpoints (наприклад, s3.us-south.objectstorage.softlayer.net
) – це базові URLs куди надсилаються запити API, які взаємодіють з даними.
Object Storage bucket location – всі buckets в Object Storage находяться в певному місці. Це або регіон (такий як us-south
або us-east
) або географічне місце (такі як eu-geo
або us-geo
). У цьому місцезнаходженні об'єкти поділені та розподілені по трьох різних фізичних розташуваннях.
Regions. Регіон і розташування часто використовуються як взаємозамінні, але на відміну від більшості сервісів, доступних в IBM Cloud Platform, сховище об'єктів - це "глобальна" служба. IBM Cloud Platform існує в різних регіонах (наприклад, в US South
або
United Kingdom
), а деякі сервіси - у місці їх створення. Хоча кожен екземпляр сховища об'єктів вважається "глобальним", кожен окремий bucket має певну комбінацію розташування, стійкості та класу зберігання.
Як наведено вище, для доступу інших сервісів до ресурсів IBM cloud, необхідно створити Service ID, у якому назначити права доступу до конкретних ресурсів через ролі. Потім в межах цього Service ID необхідно вказати API key. Далі, будь який сервіс в Інтернеті, щоб скористатися цим ресурсом, повинен доступитися до кінцевої точки ідентифікації (Identity endpoint) з вказівкою API key, щоб отримати маркер доступу (access token). Маючи цей маркер, Інтернет-сервіс звертається до Service endpoints, на якому безпосередньо і знаходиться цільовий ресурс.
Для того щоб всю необхідну інформацію для доступу надати розробнику в одному місці в IBM Cloud існує можливість створити JSON-файл з обліковими даними (Service credential), використовуючи помічника, якому треба вказувати потрібні вже створені ключі та ідентифікатори. Однак, можна піти зворотнім шляхом, одразу запустивши помічник створення Service credential, який автоматично створить необхідні ключі та ідентифікатори.
Зайдіть в налаштування Service credentials (рис.11).
Рис11.
Натисніть кнопку «New credential», у новому вікні введіть назву подібну до вказану на рис.12. Також виставте опцію “Include HMAC Credential”. Усі інші поля залиште без змін.
Рис12.
Повинен створитися файл з обліковими даними (рис.13), та всі супутні записи. Вони знадобляться Вам для налаштування клієнтських сервісів, що будуть доступатися до ресурсів.
Рис13.
2.5. Перегляд створеного Service ID.
Після виконання попереднього пункту, в IBM Cloud повинен автоматично створитися Service ID. Перейдіть до вікон налаштування IAM Manage > Access (IAM). Знайдіть в налаштування новоствореного Service ID (Manage Service ID). Новостворений запис можна визначити за датою. Зайдіть на вкладку Access policies, на ній повинен бути запис з роллю Writer (рис.14).
Рис14.
Виберіть пункт контекстного меню Edit, для переходу до редагування ролі. У вікні налаштування ролі видно до яких об’єктів і який доступ надається даною роллю (рис.15). У полі Service Instance вказується ідентифікатор екземпляру COS, тоді як в полях типу і ідентифікатору ресурсу вказується конкретний ресурс, якого стосується дана роль. Якщо ресурс не вказується, то роль стосується доступу до всіх ресурсів екземпляру сервісу. Іншими словами, сервіс, який буде доступатися через цей Service ID в даному випадку буде мати можливість читання/запису в будь якому bucket даного екземпляру COS. На даний момент залиште поля в тому стані, в якому вони є.