# DO - Spaces
{{#include ../../../banners/hacktricks-training.md}}
## Grundinformationen
DigitalOcean Spaces sind **Objektspeicherdienste**. Sie ermöglichen es Benutzern, **große Mengen an Daten** zu **speichern und bereitzustellen**, wie z.B. Bilder und andere Dateien, auf eine skalierbare und kosteneffiziente Weise. Spaces können über das DigitalOcean-Dashboard oder die DigitalOcean-API aufgerufen werden und sind in andere DigitalOcean-Dienste wie Droplets (virtuelle private Server) und Load Balancers integriert.
### Zugriff
Spaces können **öffentlich** (jeder kann von Internet darauf zugreifen) oder **privat** (nur autorisierte Benutzer). Um auf die Dateien von einem privaten Space außerhalb des Control Panels zuzugreifen, müssen wir einen **Zugriffsschlüssel** und ein **Geheimnis** generieren. Dies sind ein Paar zufälliger Tokens, die als **Benutzername** und **Passwort** dienen, um Zugriff auf Ihren Space zu gewähren.
Eine **URL eines Spaces** sieht so aus: **`https://uniqbucketname.fra1.digitaloceanspaces.com/`**\
Beachten Sie die **Region** als **Subdomain**.
Selbst wenn der **Space** **öffentlich** ist, können die **Dateien** **darinnen** **privat** sein (Sie können nur mit Anmeldeinformationen darauf zugreifen).
Allerdings ist es **auch** möglich, eine Datei über die Konsole mit einem Link wie `https://fra1.digitaloceanspaces.com/uniqbucketname/filename?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=DO00PL3RA373GBV4TRF7%2F20221213%2Ffra1%2Fs3%2Faws4_request&X-Amz-Date=20221213T121017Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=6a183dbc42453a8d30d7cd2068b66aeb9ebc066123629d44a8108115def975bc` für eine bestimmte Zeit zu teilen:
### Aufzählung
```bash
# Unauthenticated
## Note how the region is specified in the endpoint
aws s3 ls --endpoint=https://fra1.digitaloceanspaces.com --no-sign-request s3://uniqbucketname
# Authenticated
## Configure spaces keys as AWS credentials
aws configure
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]:
## List all buckets in a region
aws s3 ls --endpoint=https://fra1.digitaloceanspaces.com
## List files inside a bucket
aws s3 ls --endpoint=https://fra1.digitaloceanspaces.com s3://uniqbucketname
## It's also possible to generate authorized access to buckets from the API
```
{{#include ../../../banners/hacktricks-training.md}}