GCP - Storage Enum
Сховище
Сховище Google Cloud Platform (GCP) - це хмарне сховище, яке забезпечує високу надійність та доступність сховища об'єктів для неструктурованих даних. Воно пропонує різні класи сховищ на основі продуктивності, доступності та вартості, включаючи Standard, Nearline, Coldline та Archive. Сховище GCP також надає розширені функції, такі як політики життєвого циклу, версіювання та контроль доступу, для ефективного управління та захисту даних.
Відро може бути збережене в регіоні, в 2 регіонах або в кількох регіонах (за замовчуванням).
Типи сховищ
Стандартне сховище: Це типовий варіант сховища, який пропонує високу продуктивність та доступ з низькою затримкою до часто використовуваних даних. Він підходить для широкого спектру використань, включаючи надання вмісту веб-сайтів, стрімінг медіа та розміщення конвеєрів аналізу даних.
Сховище Nearline: Цей клас сховища пропонує низькі витрати на зберігання та незначно вищі витрати на доступ порівняно зі стандартним сховищем. Воно оптимізоване для даних, які рідко використовуються, з мінімальним терміном зберігання 30 днів. Це ідеально підходить для резервного копіювання та архівування.
Сховище Coldline: Цей клас сховища оптимізований для довгострокового зберігання даних, які рідко використовуються, з мінімальним терміном зберігання 90 днів. Воно пропонує низькі витрати на зберігання порівняно зі сховищем Nearline, але з вищими витратами на доступ.
Сховище Archive: Цей клас сховища призначений для холодних даних, до яких дуже рідко звертаються, з мінімальним терміном зберігання 365 днів. Воно пропонує найнижчі витрати на зберігання серед усіх варіантів сховищ GCP, але з найвищими витратами на доступ. Воно підходить для довгострокового зберігання даних, які потрібно зберігати з міркувань відповідності або регулювання.
Автоклас: Якщо ви не знаєте, наскільки часто ви будете звертатися до даних, ви можете вибрати Автоклас, і GCP автоматично змінить тип сховища для вас, щоб знизити витрати.
Контроль доступу
За замовчуванням рекомендується керувати доступом через IAM, але також можна активувати використання ACL. Якщо ви виберете використання лише IAM (за замовчуванням) і пройде 90 днів, ви не зможете активувати ACL для відра.
Версіювання
Можливо активувати версіювання, це дозволить зберігати старі версії файлів всередині відра. Можливо налаштувати кількість версій, які ви хочете зберігати і навіть як довго ви хочете, щоб некоректні версії (старі версії) існували. Рекомендовано 7 днів для типу Standard.
Метадані некоректної версії зберігаються. Крім того, ACL некоректних версій також зберігаються, тому старі версії можуть мати різні ACL від поточної версії.
Дізнайтеся більше в документації.
Політика збереження
Вкажіть, наскільки довго ви хочете заборонити видалення об'єктів всередині відра (дуже корисно для відповідності, принаймні). Одночасно може бути активовано лише одне з версіювання або політику збереження.
Шифрування
За замовчуванням об'єкти шифруються за допомогою керованих ключів Google, але ви також можете використовувати ключ від KMS.
Публічний доступ
Можливо надати зовнішнім користувачам (увійшовши в GCP або ні) доступ до вмісту відра. За замовчуванням, коли створюється відро, опція публічного викладання відра вимкнена, але з достатніми дозволами її можна змінити.
Формат URL для доступу до відра - https://storage.googleapis.com/<ім'я-відра>
або https://<ім'я_відра>.storage.googleapis.com
(обидва варіанти є дійсними).
Ключі HMAC
Ключ HMAC - це тип підтвердження і може бути пов'язаний з обліковим записом служби або обліковим записом користувача в Cloud Storage. Ви використовуєте ключ HMAC для створення підписів, які потім включаються в запити до Cloud Storage. Підписи показують, що даний запит авторизований користувачем або обліковим записом служби.
У ключах HMAC є дві основні частини: ідентифікатор доступу та секрет.
Ідентифікатор доступу: Алфавітно-цифровий рядок, пов'язаний з певною службою або обліковим записом користувача. Коли він пов'язаний з обліковим записом служби, рядок має довжину 61 символ, а коли він пов'язаний з обліковим записом користувача, рядок має довжину 24 символи. Нижче наведено приклад ідентифікатора доступу:
GOOGTS7C7FUP3AIRVJTE2BCDKINBTES3HC2GY5CBFJDCQ2SYHV6A6XXVTJFSA
Секрет: 40-символьний рядок, закодований у форматі Base-64, який пов'язаний з певним ідентифікатором доступу. Секрет - це ключ, який відомий лише вам та Cloud Storage. Ви використовуєте свій секрет для створення підписів у процесі аутентифікації. Нижче наведено приклад секрету:
bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ
Як ідентифікатор доступу, так і секрет унікально ідентифікують ключ HMAC, але секрет є набагато більш чутливою інформацією, оскільки він використовується для створення підписів.
Енумерація
Якщо ви отримали помилку permission denied при переліку відра, у вас все ще може бути доступ до вмісту. Тепер, коли ви знаєте про конвенцію імен відра, ви можете згенерувати список можливих імен і спробувати отримати до них доступ:
З дозволами storage.objects.list
та storage.objects.get
ви повинні змогти перерахувати всі папки та файли з відра, щоб їх завантажити. Ви можете досягти цього за допомогою цього сценарію Python:
Підвищення привілеїв
На наступній сторінці ви можете перевірити, як зловживати дозволами на сховище для підвищення привілеїв:
pageGCP - Storage PrivescНеаутентифікована енумерація
pageGCP - Storage Unauthenticated EnumПісляексплуатаційна діяльність
pageGCP - Storage Post ExploitationПостійність
pageGCP - Storage PersistenceLast updated