Hosts
| Omgeving | Host |
|---|---|
| Pre-productie | https://storage-authorization.acc.cleverbase.com |
| Productie | https://storage-authorization.cleverbase.com |
OpenAPI / Swagger
Op elke host staat een interactieve Swagger UI op /swagger-ui/index.html:
- Pre-productie: https://storage-authorization.acc.cleverbase.com/swagger-ui/index.html
- Productie: https://storage-authorization.cleverbase.com/swagger-ui/index.html
Credentials
POST /v1/credentials
Omschrijving
Maakt een S3-bucket aan voor het geauthenticeerde client-gebruikerpaar (als die er nog niet is) en geeft tijdelijke S3-compatibele credentials terug die uitsluitend voor die bucket gelden. Een volgende aanroep geeft nieuwe credentials voor dezelfde bucket.
Input headers
| Header | Aanwezigheid | Waarde | Omschrijving |
|---|---|---|---|
| Authorization | REQUIRED | String | Moet van het type Bearer zijn. Het access token moet zijn uitgegeven met scope com.cleverbase.storage. |
Antwoord - 200 OK
De credentials zijn uitgegeven.
| Veld | Type | Omschrijving |
|---|---|---|
bucket | String | Naam van de S3-bucket die bij dit client-gebruikerpaar hoort. |
endpoint | String | Basis-URL van de S3-compatibele opslagserver. Gebruik deze als endpoint-URL in je S3-client. |
credentials.accessKeyId | String | Tijdelijke access key ID in AWS-stijl. |
credentials.secretAccessKey | String | Tijdelijke secret access key. |
credentials.sessionToken | String | Sessietoken dat naast de access key nodig is. Geef die mee als AWS_SESSION_TOKEN in je S3-SDK of CLI. |
credentials.expiration | String | ISO 8601-tijdstempel met het moment waarop de credentials verlopen. Standaard is dat na een uur. |
Toegestane S3-bewerkingen
Een inline session policy beperkt de credentials tot de volgende bewerkingen, en alleen op de toegewezen bucket:
s3:GetObjects3:PutObjects3:DeleteObjects3:ListBucket
Foutantwoorden
Alle foutantwoorden volgen het formaat RFC 9457 Problem Details.
| Veld | Type | Omschrijving |
|---|---|---|
type | URI | URI die het soort probleem aanduidt. |
title | String | Korte samenvatting, leesbaar voor mensen. |
status | Integer | HTTP-statuscode. |
detail | String | Leesbare uitleg van dit specifieke geval. |
instance | URI | URI die dit specifieke geval aanduidt. |
| Status | Oorzaak |
|---|---|
400 | In het bearer token ontbreken vereiste claims (sub of client_id). |
401 | De Authorization-header ontbreekt, of het token is ongeldig of niet actief. |
500 | Onverwachte interne fout. |
502 | De identificatie- of opslagdienst is niet beschikbaar. |
Voorbeelden
-
Voorbeeldverzoek
POST /v1/credentials HTTP/1.1 Host: storage-authorization.cleverbase.com Authorization: Bearer <access_token> -
Voorbeeldantwoord
HTTP/1.1 200 OK Content-Type: application/json { "bucket": "97f836e151c8ef6bf8bed303d6dd0bc7e54e131dc608bc24e460faf07bcf123", "endpoint": "https://storage.cleverbase.com", "credentials": { "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "secretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "sessionToken": "FwoGZXIvY...", "expiration": "2026-03-15T14:00:00Z" } } -
De credentials gebruiken (AWS CLI)
export AWS_ACCESS_KEY_ID=<accessKeyId> export AWS_SECRET_ACCESS_KEY=<secretAccessKey> export AWS_SESSION_TOKEN=<sessionToken> # Een bestand uploaden aws s3 cp file.txt s3://<bucket>/file.txt --endpoint-url <endpoint> # De inhoud van de bucket tonen aws s3 ls s3://<bucket> --endpoint-url <endpoint>