Cloud4You OCS – AWS CLI i S3 API¶
Cloud4You OCS udostępnia przestrzeń obiektową zgodną z API Amazon S3.
Oznacza to, że do obsługi OCS można używać popularnych narzędzi i aplikacji obsługujących S3, między innymi:
- AWS CLI,
- rclone,
- Veeam,
- bibliotek AWS SDK,
- aplikacji korzystających z S3 API.
Ta strona pokazuje obsługę Cloud4You OCS za pomocą AWS CLI oraz podstawowe operacje dostępne przez S3 API.
Jeżeli chcesz zarządzać plikami z przeglądarki, możesz użyć OCS Browser:
Najważniejsze dane¶
Do połączenia potrzebujesz:
| Parametr | Wartość |
|---|---|
| Endpoint | https://s3.cloud4you.pl |
| Region | eu-pl-1 |
| Access Key ID | Twój klucz dostępowy |
| Secret Access Key | Twój klucz tajny |
| API | S3-compatible |
| Podpisywanie żądań | AWS Signature Version 4 |
Zalecamy korzystanie z głównego endpointu:
Nie wpisuj adresu panelu WWW jako endpointu S3.
To:
jest panelem do obsługi przez przeglądarkę.
To:
jest endpointem S3 dla aplikacji, AWS CLI i SDK.
Co oznacza zgodność z S3¶
Cloud4You OCS korzysta z Ceph Object Gateway – RGW.
RGW udostępnia API zgodne z dużą częścią Amazon S3 API.
W praktyce oznacza to, że standardowe operacje takie jak:
tworzenie bucketa
wysyłanie obiektu
pobieranie obiektu
usuwanie obiektu
kopiowanie obiektu
multipart upload
versioning
Object Lock
retention
Legal Hold
CORS
tagi
lifecycle
bucket policy
mogą być wykonywane za pomocą standardowych poleceń AWS CLI.
Cloud4You OCS nie jest usługą Amazon AWS.
Nie należy zakładać, że każda nowa funkcja dostępna w Amazon S3 będzie dostępna w OCS.
Jeżeli dokumentacja AWS pokazuje funkcję specyficzną dla:
nie oznacza to automatycznie, że funkcja jest dostępna w Cloud4You OCS.
AWS CLI i s3api – jaka jest różnica¶
AWS CLI udostępnia dwa podstawowe zestawy poleceń do S3.
aws s3¶
To prostsze polecenia do codziennej pracy.
Przykłady:
Jeżeli chcesz po prostu:
- wysłać plik,
- pobrać plik,
- zobaczyć zawartość bucketa,
- zsynchronizować katalog,
używaj:
aws s3api¶
To polecenia niższego poziomu, odpowiadające konkretnym operacjom S3 API.
Przykłady:
aws s3api list-buckets
aws s3api create-bucket
aws s3api put-bucket-versioning
aws s3api get-bucket-cors
aws s3api put-object-retention
Jeżeli chcesz zarządzać:
- versioningiem,
- CORS,
- Object Lock,
- retencją,
- tagami,
- lifecycle,
- bucket policy,
używaj:
Instalacja AWS CLI¶
Do pracy zalecamy AWS CLI w wersji 2.
Sprawdź najpierw, czy program nie jest już zainstalowany:
Jeżeli zobaczysz wynik podobny do:
możesz przejść do konfiguracji.
Windows¶
Uruchom PowerShell lub Command Prompt jako Administrator.
Wpisz:
Po instalacji zamknij terminal i otwórz go ponownie.
Sprawdź:
Linux¶
Najprostsza instalacja dla całego systemu:
Sprawdź:
Jeżeli nie masz sudo, możesz zainstalować AWS CLI tylko dla swojego użytkownika:
Następnie otwórz nową sesję terminala i sprawdź:
macOS¶
Instalacja dla bieżącego użytkownika:
Sprawdź:
AWS udostępnia również instalator graficzny .pkg.
Konfiguracja danych dostępowych¶
Zalecamy utworzenie osobnego profilu:
Dzięki temu konfiguracja OCS nie miesza się z innymi kontami AWS lub S3.
Uruchom:
Program zapyta o:
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]:
Wpisz:
AWS Access Key ID: TWÓJ_ACCESS_KEY
AWS Secret Access Key: TWÓJ_SECRET_KEY
Default region name: eu-pl-1
Default output format: json
Przykład:
AWS Access Key ID [None]: ABCDEFGHIJKLMNOP
AWS Secret Access Key [None]: ********************************
Default region name [None]: eu-pl-1
Default output format [None]: json
Nigdy nie publikuj prawdziwego Secret Access Key.
Gdzie zapisują się klucze¶
Linux i macOS:
Windows:
Plik credentials wygląda podobnie do:
Plik zawiera dane dostępowe.
Nie:
- wysyłaj go mailem,
- wklejaj go do zgłoszenia,
- wrzucaj go do Git,
- pokazuj go na zrzucie ekranu.
Stałe ustawienie endpointu Cloud4You¶
AWS CLI domyślnie próbuje łączyć się z serwerami Amazon.
Dlatego musimy powiedzieć mu, że profil cloud4you ma korzystać z:
Otwórz plik:
Linux / macOS:
Windows:
Ustaw:
[profile cloud4you]
region = eu-pl-1
output = json
services = cloud4you-ocs
s3 =
addressing_style = path
[services cloud4you-ocs]
s3 =
endpoint_url = https://s3.cloud4you.pl
Po tej konfiguracji nie trzeba dodawać do każdego polecenia:
W dalszej części dokumentacji zakładamy, że endpoint został zapisany w profilu.
Dlaczego używamy addressing_style = path¶
S3 może adresować bucket na dwa sposoby.
Virtual-hosted style:
Path style:
W dokumentacji Cloud4You używamy:
Dzięki temu klient zawsze korzysta z głównego endpointu:
Test konfiguracji¶
Najprostszy test:
Jeżeli wszystko działa, zobaczysz listę bucketów.
Przykład:
Jeżeli nie masz jeszcze żadnego bucketa, wynik może być pusty.
To nie musi oznaczać błędu.
Sprawdzenie profilu¶
Lista skonfigurowanych profili:
Sprawdzenie profilu Cloud4You:
Secret Access Key powinien zostać zamaskowany.
Podstawowe polecenia aws s3¶
Lista bucketów¶
Utworzenie bucketu¶
Przykład:
Nazwy bucketów najlepiej tworzyć z:
- małych liter,
- cyfr,
- myślników.
Przykład:
Lista plików w buckecie¶
Lista wszystkich plików również w podfolderach¶
Wysłanie jednego pliku¶
Lokalny plik:
wysyłamy poleceniem:
Wysłanie pliku pod inną nazwą¶
Wysłanie pliku do folderu¶
W S3 „folder” jest tak naprawdę częścią nazwy obiektu.
Dla użytkownika wygląda jednak normalnie:
Wysłanie całego katalogu¶
Synchronizacja katalogu¶
sync przesyła nowe i zmienione pliki.
Domyślnie nie usuwa z bucketa plików, których nie ma już lokalnie.
Synchronizacja z usuwaniem¶
Można wymusić usuwanie plików po stronie docelowej:
Uwaga na --delete.
Jeżeli pliku nie ma w katalogu źródłowym, może zostać usunięty z lokalizacji docelowej.
Najpierw możesz sprawdzić operację:
aws s3 sync ./dokumenty/ s3://backup-firma-01/dokumenty/ \
--delete \
--dryrun \
--profile cloud4you
--dryrun pokazuje, co zostałoby wykonane, ale niczego nie zmienia.
Pobranie jednego pliku¶
Pobranie całego katalogu¶
Kopiowanie obiektu między bucketami¶
Przenoszenie obiektu¶
Ważne:
mv nie jest magicznym „przesunięciem pliku”.
AWS CLI wykonuje w praktyce:
Przy ważnych danych najpierw wykonaj cp, sprawdź plik w miejscu docelowym i dopiero potem usuń źródło.
Usunięcie jednego obiektu¶
Usunięcie całej ścieżki¶
--recursive może usunąć bardzo dużo danych.
Przed wykonaniem polecenia sprawdź:
- nazwę bucketa,
- ścieżkę,
- czy na pewno chcesz usunąć całą zawartość.
Usunięcie pustego bucketa¶
Bucket musi być pusty.
Wygenerowanie czasowego linku¶
Link ważny przez godzinę:
aws s3 presign s3://backup-firma-01/faktura.pdf \
--expires-in 3600 \
--profile cloud4you \
--region eu-pl-1
Polecenie zwróci adres URL.
Każda osoba posiadająca aktywny link może pobrać wskazany obiekt.
Domyślny czas ważności to:
Maksymalny czas obsługiwany przez AWS CLI dla presign to:
Polecenia aws s3api¶
Lista bucketów przez API¶
Utworzenie bucketu przez API¶
aws s3api create-bucket \
--bucket backup-firma-01 \
--region eu-pl-1 \
--create-bucket-configuration LocationConstraint=eu-pl-1 \
--profile cloud4you
Sprawdzenie, czy bucket istnieje i jest dostępny¶
Jeżeli polecenie kończy się bez błędu, bucket jest dostępny dla użytych danych logowania.
Lista obiektów przez API¶
Tylko obiekty zaczynające się od konkretnego prefiksu:
Informacje o obiekcie¶
aws s3api head-object \
--bucket backup-firma-01 \
--key dokumenty/faktura.pdf \
--profile cloud4you
Możesz zobaczyć między innymi:
- rozmiar,
- Content-Type,
- ETag,
- datę modyfikacji,
- metadata.
Wysłanie obiektu przez s3api¶
aws s3api put-object \
--bucket backup-firma-01 \
--key dokumenty/faktura.pdf \
--body faktura.pdf \
--profile cloud4you
Do zwykłego uploadu wygodniejsze jest jednak:
Pobranie obiektu przez s3api¶
aws s3api get-object \
--bucket backup-firma-01 \
--key dokumenty/faktura.pdf \
--profile cloud4you \
faktura.pdf
Usunięcie obiektu przez API¶
aws s3api delete-object \
--bucket backup-firma-01 \
--key dokumenty/faktura.pdf \
--profile cloud4you
Kopiowanie obiektu przez API¶
aws s3api copy-object \
--bucket bucket-b \
--key faktura.pdf \
--copy-source bucket-a/faktura.pdf \
--profile cloud4you
Versioning¶
Co robi versioning¶
Versioning pozwala przechowywać wiele wersji tego samego obiektu.
Bez versioningu:
zostaje nadpisany.
Z versioningiem mogą istnieć:
Każda wersja ma własny VersionId.
Sprawdzenie versioningu¶
Włączony:
Jeżeli versioning nigdy nie był ustawiony, odpowiedź może nie zawierać Status.
Włączenie versioningu¶
aws s3api put-bucket-versioning \
--bucket backup-firma-01 \
--versioning-configuration Status=Enabled \
--profile cloud4you
Wstrzymanie versioningu¶
aws s3api put-bucket-versioning \
--bucket backup-firma-01 \
--versioning-configuration Status=Suspended \
--profile cloud4you
Suspended nie usuwa wcześniejszych wersji.
Po prostu nowe obiekty nie są wersjonowane w taki sam sposób jak przy Enabled.
Lista wersji obiektów¶
Usunięcie konkretnej wersji¶
Najpierw znajdź VersionId:
aws s3api list-object-versions \
--bucket backup-firma-01 \
--prefix dokumenty/faktura.pdf \
--profile cloud4you
Następnie:
aws s3api delete-object \
--bucket backup-firma-01 \
--key dokumenty/faktura.pdf \
--version-id VERSION_ID \
--profile cloud4you
Sprawdź VersionId przed usunięciem.
CORS¶
Co robi CORS¶
CORS steruje dostępem wykonywanym przez przeglądarki internetowe.
Jest potrzebny między innymi wtedy, gdy przeglądarka ma bezpośrednio wysyłać lub pobierać dane z S3.
CORS nie jest wymagany dla standardowych klientów takich jak:
Sprawdzenie CORS¶
Jeżeli bucket nie ma konfiguracji CORS, otrzymasz informację o braku konfiguracji.
Konfiguracja CORS dla OCS Browser¶
Utwórz plik:
Zawartość:
{
"CORSRules": [
{
"AllowedOrigins": [
"https://ocs.cloud4you.pl"
],
"AllowedMethods": [
"GET",
"PUT",
"POST",
"DELETE",
"HEAD"
],
"AllowedHeaders": [
"*"
],
"ExposeHeaders": [
"ETag"
],
"MaxAgeSeconds": 3600
}
]
}
Zapisz konfigurację:
aws s3api put-bucket-cors \
--bucket backup-firma-01 \
--cors-configuration file://cors.json \
--profile cloud4you
Sprawdź:
Usunięcie konfiguracji CORS¶
Object Lock¶
Co robi Object Lock¶
Object Lock chroni obiekty przed usunięciem lub zmianą przez określony czas.
Najczęściej używa się go dla:
- backupów,
- danych immutable,
- danych wymagających retencji.
W Cloud4You OCS funkcja jest realizowana przez Ceph RGW.
Ważne przed utworzeniem bucketa¶
W używanej przez OCS implementacji Ceph RGW Object Lock należy włączyć podczas tworzenia bucketa.
Nie twórz więc zwykłego bucketa, jeżeli wiesz, że ma być używany jako immutable.
Utwórz go od razu z Object Lock.
Utworzenie bucketa z Object Lock¶
aws s3api create-bucket \
--bucket immutable-backup \
--region eu-pl-1 \
--create-bucket-configuration LocationConstraint=eu-pl-1 \
--object-lock-enabled-for-bucket \
--profile cloud4you
Sprawdź versioning:
Jeżeli jest potrzebne, włącz:
aws s3api put-bucket-versioning \
--bucket immutable-backup \
--versioning-configuration Status=Enabled \
--profile cloud4you
Sprawdzenie Object Lock¶
Domyślna retencja Object Lock¶
Domyślna retencja oznacza:
każdy nowy obiekt dodany do bucketa automatycznie otrzymuje ochronę.
Utwórz plik:
Przykład retencji 30 dni:
{
"ObjectLockEnabled": "Enabled",
"Rule": {
"DefaultRetention": {
"Mode": "COMPLIANCE",
"Days": 30
}
}
}
Zastosuj:
aws s3api put-object-lock-configuration \
--bucket immutable-backup \
--object-lock-configuration file://object-lock.json \
--profile cloud4you
Sprawdź:
GOVERNANCE a COMPLIANCE¶
GOVERNANCE¶
Tryb mniej restrykcyjny.
Użytkownik posiadający odpowiednie uprawnienie może ominąć retencję.
COMPLIANCE¶
Tryb bardziej restrykcyjny.
Obiekt nie powinien zostać usunięty przed zakończeniem retencji.
Nie ustawiaj COMPLIANCE „na próbę” na ważnym buckecie.
Jeżeli ustawisz:
musisz zakładać, że danych nie będzie można normalnie usunąć przez 365 dni.
Retencja konkretnego obiektu¶
Object Lock może być ustawiony również dla konkretnego obiektu.
Przykład:
aws s3api put-object-retention \
--bucket immutable-backup \
--key backup01.vbk \
--retention Mode=GOVERNANCE,RetainUntilDate=2026-12-31T23:59:59Z \
--profile cloud4you
Sprawdzenie:
aws s3api get-object-retention \
--bucket immutable-backup \
--key backup01.vbk \
--profile cloud4you
Jeżeli używasz versioningu, możesz wskazać konkretną wersję:
Legal Hold¶
Legal Hold blokuje usunięcie obiektu niezależnie od daty retencji.
Włączenie:
aws s3api put-object-legal-hold \
--bucket immutable-backup \
--key backup01.vbk \
--legal-hold Status=ON \
--profile cloud4you
Sprawdzenie:
aws s3api get-object-legal-hold \
--bucket immutable-backup \
--key backup01.vbk \
--profile cloud4you
Wyłączenie:
aws s3api put-object-legal-hold \
--bucket immutable-backup \
--key backup01.vbk \
--legal-hold Status=OFF \
--profile cloud4you
Tagi bucketa¶
Dodanie tagów¶
Utwórz plik:
Zawartość:
{
"TagSet": [
{
"Key": "project",
"Value": "backup"
},
{
"Key": "environment",
"Value": "production"
}
]
}
Zapisz:
aws s3api put-bucket-tagging \
--bucket backup-firma-01 \
--tagging file://bucket-tags.json \
--profile cloud4you
Odczyt tagów bucketa¶
Usunięcie tagów bucketa¶
Tagi obiektu¶
Dodanie tagów do pliku¶
aws s3api put-object-tagging \
--bucket backup-firma-01 \
--key dokumenty/faktura.pdf \
--tagging 'TagSet=[{Key=typ,Value=faktura},{Key=rok,Value=2026}]' \
--profile cloud4you
Odczyt tagów obiektu¶
aws s3api get-object-tagging \
--bucket backup-firma-01 \
--key dokumenty/faktura.pdf \
--profile cloud4you
Usunięcie tagów obiektu¶
aws s3api delete-object-tagging \
--bucket backup-firma-01 \
--key dokumenty/faktura.pdf \
--profile cloud4you
Lifecycle¶
Lifecycle pozwala automatycznie wykonywać operacje na obiektach po określonym czasie.
Przykład:
Przykład reguły¶
Utwórz:
Zawartość:
{
"Rules": [
{
"ID": "delete-temp-after-30-days",
"Status": "Enabled",
"Filter": {
"Prefix": "tmp/"
},
"Expiration": {
"Days": 30
}
}
]
}
Zapisz:
aws s3api put-bucket-lifecycle-configuration \
--bucket backup-firma-01 \
--lifecycle-configuration file://lifecycle.json \
--profile cloud4you
Sprawdzenie lifecycle¶
Usunięcie lifecycle¶
Lifecycle wykonuje operacje automatycznie.
Nie ustawiaj reguł usuwających dane bez sprawdzenia:
- bucketa,
- prefiksu,
- liczby dni,
- wpływu na versioning.
Bucket Policy¶
Bucket Policy pozwala definiować reguły dostępu do bucketa i obiektów.
Ceph RGW Squid obsługuje podzbiór języka Amazon S3 Bucket Policy.
Oznacza to:
nie kopiuj losowej polityki z dokumentacji AWS i nie zakładaj, że wszystkie elementy będą działały identycznie.
Odczyt Bucket Policy¶
Zapis Bucket Policy¶
Załóżmy, że prawidłowa polityka znajduje się w:
Zastosuj:
aws s3api put-bucket-policy \
--bucket backup-firma-01 \
--policy file://policy.json \
--profile cloud4you
Usunięcie Bucket Policy¶
Ważne przy Bucket Policy¶
Błędna polityka może:
- zablokować dostęp do danych,
- nadać zbyt szeroki dostęp,
- udostępnić dane użytkownikowi, który nie powinien ich widzieć.
Jeżeli nie wiesz, co robi dany dokument JSON:
nie stosuj go metodą prób i błędów na produkcyjnym buckecie.
Multipart Upload¶
Multipart Upload dzieli duży plik na części.
Jest używany po to, aby:
- sprawniej wysyłać duże pliki,
- wysyłać części równolegle,
- ponowić tylko część transferu zamiast całego pliku.
Ceph RGW obsługuje S3 Multipart Upload.
Czy trzeba robić multipart ręcznie¶
Najczęściej:
nie.
Polecenia:
same obsługują multipart dla większych plików.
Ręczne używanie s3api jest potrzebne głównie przy własnych aplikacjach lub diagnostyce.
Lista niedokończonych multipart uploadów¶
Przerwanie niedokończonego multipart uploadu¶
Najpierw pobierz UploadId:
Następnie:
aws s3api abort-multipart-upload \
--bucket backup-firma-01 \
--key duzy-plik.bin \
--upload-id UPLOAD_ID \
--profile cloud4you
Przerwanie multipart uploadu usuwa niedokończony upload, a nie prawidłowo ukończony obiekt.
Wydajność transferów¶
AWS CLI pozwala zmieniać ustawienia transferu.
W większości przypadków:
najpierw użyj ustawień domyślnych.
Nie zmieniaj parametrów tylko dlatego, że „większa liczba wygląda szybciej”.
Liczba równoległych requestów¶
Przykład:
Więcej równoległych requestów może zwiększyć wydajność, ale może też:
- zwiększyć obciążenie komputera,
- zwiększyć wykorzystanie łącza,
- pogorszyć pracę na wolnym połączeniu.
Próg multipart¶
Przykład:
Rozmiar części multipart¶
Ograniczenie przepustowości¶
Przykład ograniczenia do około 50 MB/s:
Filtrowanie plików¶
AWS CLI obsługuje:
Przykład wysłania tylko plików .jpg:
aws s3 cp ./zdjecia/ s3://backup-firma-01/zdjecia/ \
--recursive \
--exclude "*" \
--include "*.jpg" \
--profile cloud4you
Najpierw wykluczamy wszystko:
a następnie dodajemy interesujący nas typ:
Używanie AWS CLI w skryptach¶
Profil można ustawić zmienną środowiskową.
Linux / macOS:
PowerShell:
Wtedy zamiast:
możesz użyć:
Endpoint jako zmienna środowiskowa¶
AWS CLI obsługuje również zmienną:
Linux / macOS:
PowerShell:
Jeżeli endpoint jest już zapisany w profilu, nie musisz tego robić.
Podstawy S3 REST API¶
AWS CLI jest tylko klientem API.
Pod spodem wykonywane są zapytania HTTP do:
Przykładowe operacje S3 wyglądają logicznie tak:
| Operacja | Metoda |
|---|---|
| lista bucketów | GET / |
| utworzenie bucketa | PUT /bucket |
| usunięcie bucketa | DELETE /bucket |
| lista obiektów | GET /bucket?list-type=2 |
| upload obiektu | PUT /bucket/obiekt |
| pobranie obiektu | GET /bucket/obiekt |
| informacje o obiekcie | HEAD /bucket/obiekt |
| usunięcie obiektu | DELETE /bucket/obiekt |
Żądania prywatne muszą być podpisane.
Cloud4You OCS obsługuje standardowe podpisy AWS używane przez klientów S3, w tym AWS Signature Version 4.
Nie zalecamy ręcznego budowania podpisu SigV4.
W aplikacji użyj:
- AWS SDK,
- biblioteki zgodnej z S3,
- AWS CLI.
Parametry dla aplikacji S3¶
Jeżeli aplikacja pyta o konfigurację S3, najczęściej wpisz:
Endpoint:
https://s3.cloud4you.pl
Region:
eu-pl-1
Access Key ID:
TWÓJ_ACCESS_KEY
Secret Access Key:
TWÓJ_SECRET_KEY
Jeżeli aplikacja pyta o styl adresowania, wybierz:
lub:
Nazwy tej opcji różnią się między aplikacjami.
Najczęstsze błędy¶
InvalidAccessKeyId¶
Najczęściej:
Sprawdź profil:
SignatureDoesNotMatch¶
Najczęstsze przyczyny:
- błędny Secret Access Key,
- błędny region,
- niewłaściwy endpoint,
- zła data lub godzina na komputerze.
Sprawdź:
Na Linuxie:
AccessDenied¶
Połączenie działa, ale klucz nie ma uprawnień do wykonania operacji.
Przykład:
To nie jest problem z AWS CLI.
To problem z uprawnieniami użytego klucza.
NoSuchBucket¶
Wskazany bucket nie istnieje albo używasz złej nazwy.
Sprawdź:
NoSuchKey¶
Bucket istnieje, ale wskazany obiekt nie istnieje.
Sprawdź:
BucketAlreadyExists¶
Bucket o tej nazwie już istnieje.
Wybierz inną nazwę.
BucketNotEmpty¶
Próbujesz usunąć bucket, który nadal zawiera obiekty lub wersje.
Sprawdź:
Jeżeli bucket ma versioning, sprawdź również:
InvalidBucketState¶
Może pojawić się przy zmianach związanych z Object Lock.
W Cloud4You OCS Object Lock powinien być przewidziany przy tworzeniu bucketa.
AWS CLI próbuje używać endpointu Amazon¶
Sprawdź:
lub na Windows:
Profil powinien zawierać konfigurację usługi:
[profile cloud4you]
region = eu-pl-1
output = json
services = cloud4you-ocs
s3 =
addressing_style = path
[services cloud4you-ocs]
s3 =
endpoint_url = https://s3.cloud4you.pl
Polecenie działa tylko z --endpoint-url¶
Jeżeli:
działa, ale:
nie działa, oznacza to najczęściej, że endpoint nie został poprawnie zapisany w pliku config.
Diagnostyka¶
Włączenie debugowania¶
AWS CLI pokaże dużo informacji diagnostycznych.
Uwaga: przed wysłaniem logu do pomocy technicznej sprawdź, czy nie zawiera danych, których nie chcesz udostępniać.
Zapis debugowania do pliku¶
Linux / macOS:
Bezpieczeństwo¶
Secret Access Key¶
Secret Access Key traktuj jak hasło.
Nie:
wysyłaj go mailem
wklejaj do ticketu
umieszczaj na screenie
wrzucaj do Git
zapisuj w publicznym skrypcie
Pre-signed URL¶
Pre-signed URL nie pokazuje Secret Access Key.
Pozwala jednak uzyskać dostęp do obiektu przez określony czas.
Dlatego:
aktywny pre-signed URL traktuj jak tymczasowy dostęp do pliku.
Operacje usuwające¶
Szczególnie uważaj na:
aws s3 rm --recursive
aws s3 sync --delete
aws s3 rb
aws s3api delete-object
aws s3api delete-bucket
Przed wykonaniem sprawdź polecenie.
Jeżeli jest dostępne --dryrun, użyj go przed operacją masową.
Object Lock¶
Object Lock jest specjalnie zaprojektowany tak, żeby utrudnić usunięcie danych.
To jego zadanie.
Jeżeli ustawisz długą retencję w trybie COMPLIANCE, nie zakładaj, że administrator „po prostu ją zdejmie”.
Ściąga¶
Sprawdzenie połączenia¶
Utworzenie bucketa¶
Lista plików¶
Upload¶
Download¶
Synchronizacja¶
Usunięcie pliku¶
Versioning¶
aws s3api put-bucket-versioning \
--bucket NAZWA-BUCKETA \
--versioning-configuration Status=Enabled \
--profile cloud4you
CORS¶
Object Lock¶
Pre-signed URL¶
aws s3 presign s3://NAZWA-BUCKETA/plik.txt \
--expires-in 3600 \
--region eu-pl-1 \
--profile cloud4you
Pomoc¶
Dokumentacja Cloud4You:
Portal pomocy: