Naslag

API reference

Hosts

OmgevingHost
Pre-productiehttps://storage-authorization.acc.cleverbase.com
Productiehttps://storage-authorization.cleverbase.com

OpenAPI / Swagger

Op elke host staat een interactieve Swagger UI op /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

HeaderAanwezigheidWaardeOmschrijving
AuthorizationREQUIREDStringMoet van het type Bearer zijn. Het access token moet zijn uitgegeven met scope com.cleverbase.storage.

Antwoord - 200 OK

De credentials zijn uitgegeven.

VeldTypeOmschrijving
bucketStringNaam van de S3-bucket die bij dit client-gebruikerpaar hoort.
endpointStringBasis-URL van de S3-compatibele opslagserver. Gebruik deze als endpoint-URL in je S3-client.
credentials.accessKeyIdStringTijdelijke access key ID in AWS-stijl.
credentials.secretAccessKeyStringTijdelijke secret access key.
credentials.sessionTokenStringSessietoken dat naast de access key nodig is. Geef die mee als AWS_SESSION_TOKEN in je S3-SDK of CLI.
credentials.expirationStringISO 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:GetObject
  • s3:PutObject
  • s3:DeleteObject
  • s3:ListBucket

Foutantwoorden

Alle foutantwoorden volgen het formaat RFC 9457 Problem Details.

VeldTypeOmschrijving
typeURIURI die het soort probleem aanduidt.
titleStringKorte samenvatting, leesbaar voor mensen.
statusIntegerHTTP-statuscode.
detailStringLeesbare uitleg van dit specifieke geval.
instanceURIURI die dit specifieke geval aanduidt.
StatusOorzaak
400In het bearer token ontbreken vereiste claims (sub of client_id).
401De Authorization-header ontbreekt, of het token is ongeldig of niet actief.
500Onverwachte interne fout.
502De 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>