Skip to main content
Astra Automation
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Modificare una credenziale

PUT /accounts/{account_id}/core/v1/credentials/{credential_id}

Sostituisce l'intera risorsa memorizzata con il corpo della richiesta JSON fornito, preservando i valori chiave non modificabili dall'utente.

Parametri

Nome Tipo In Obbligatorio Descrizione

ID account

stringa

percorso

Vero

ID della risorsa account contenitore

  • esempio: {{.Account}}

credential_id

stringa

percorso

Vero

ID della raccolta di credenziali da elencare

Corpo della richiesta

Sostituisce l'intera risorsa memorizzata con il corpo della richiesta JSON fornito, preservando i valori chiave non modificabili dall'utente.

Nome Tipo Obbligatorio Descrizione

tipo

stringa

Vero

Tipo di media della risorsa. I valori definiti sono:

  • "application/astra-credential"

versione

stringa

Vero

Versione della risorsa. I valori definiti sono:

  • "1,0"

  • "1,1"

id

stringa

Falso

Identificatore univoco globale della risorsa. I valori definiti sono:

  • Conforme allo schema UUIDv4

nome

stringa

Vero

Stringa JSON contenente un nome specificato dall'utente. Quando viene creata una credenziale per un utente, il nome verrà impostato sull'UUID di tale utente. I valori definiti sono:

  • Lunghezza minima: 1

  • Lunghezza massima: 127

keyType

stringa

Falso

Stringa JSON contenente un descrittore del tipo di convalida dei dati facoltativo specificato dall'utente per il contenuto di keyStore. Vincoli di aggiornamento estesi:

  • Se un elemento keyType non esiste nella risorsa e non è specificato in un aggiornamento, il keyType non deve continuare a esistere nella risorsa aggiornata.

  • Se un keyType non esiste nella risorsa ed è specificato in un aggiornamento, il keyType deve essere aggiunto alla risorsa ed è necessario eseguire la convalida. Se la convalida fallisce, l'aggiornamento fallirà.

  • Se un keyType esiste nella risorsa e non è specificato in un aggiornamento, il keyType deve essere conservato.

  • Se un keyType esiste nella risorsa ed è specificato in un aggiornamento, e il keyType specificato corrisponde al keyType esistente, il keyType deve essere conservato.

  • Se un keyType esiste nella risorsa ed è specificato in un aggiornamento, e il keyType specificato è diverso dall'esistente keyType, l'aggiornamento non andrà a buon fine. I valori definiti sono:

  • "generico" - La credenziale è una raccolta generica di dati. Ciò equivale a non includere un keyType.

  • La convalida estesa viene eseguita come segue:

  • Una o più stringhe devono esistere nel keyStore.

  • Ogni stringa nel keyStore deve avere un valore codificato in base64.

  • "passwordHash" - La credenziale è un hash della password.

  • La convalida estesa viene eseguita come segue:

  • Il nome della credenziale deve essere univoco.

  • Il nome della credenziale deve corrispondere a un ID risorsa utente valido.

  • Il nome della credenziale non deve essere modificato.

  • La risorsa utente corrispondente deve avere un "authProvider" di "local".

  • Deve essere presente una stringa "in chiaro" all'interno del keyStore con un valore contenente una password in chiaro codificata in base64:

  • La password in chiaro deve essere conforme alla policy relativa alle password dell'account.

  • La password viene memorizzata come hash.

  • All'interno del keyStore deve essere presente una stringa "change" con un valore contenente una stringa codificata in base64 "true" o "false".

  • Una credenziale di tipo passwordHash può essere eliminata solo se l'ID utente indicato dal nome non esiste.

  • "apikey" - La credenziale è una chiave API.

  • La convalida estesa viene eseguita come segue:

  • Una stringa "apikey" deve esistere all'interno del keyStore, con un valore contenente una stringa arbitraria codificata in base64.

  • "kubeconfig" - La credenziale è un kubeconfig.

  • La convalida estesa viene eseguita come segue:

  • All'interno del keyStore deve essere presente una stringa "base64" con un valore contenente un file kubeconfig JSON codificato in base64.

  • Il file kubeconfig deve descrivere un solo cluster.

  • Non possono esistere altri campi all'interno del keyStore.

  • "certificato" - La credenziale è un certificato codificato in formato PEM

  • La convalida estesa viene eseguita come segue:

  • All'interno di keyStore deve essere presente una stringa "certificate" con un valore contenente un certificato PEM codificato in base64.

  • "privkey" - La credenziale è una chiave privata codificata in formato PEM.

  • La convalida estesa viene eseguita come segue:

  • All'interno del keyStore deve essere presente una stringa "privkey", con un valore contenente una chiave privata PEM codificata in base64.

  • "s3" - Indica che le credenziali sono per l'accesso al servizio Simple Storage Service (S3).

  • La convalida estesa viene eseguita come segue:

  • Una stringa ""accessKey"" deve esistere all'interno del keyStore con un valore contenente una chiave di accesso S3 codificata in base64.

  • Una stringa ""accessSecret"" deve esistere all'interno del keyStore con un valore contenente un segreto di accesso S3 codificato in base64.

keyStore

"keyStore"

Vero

Oggetto JSON contenente stringhe JSON. Ogni stringa nel keyStore rappresenta una parte della credenziale. Il nome di ciascuna stringa rappresenta la parte della credenziale e la corrispondente coppia chiave-valore memorizza il valore di quella parte della credenziale in formato base64. I valori definiti sono:

  • Conforme allo schema di dati codificati in base64. Non vengono imposti limiti alla lunghezza delle stringhe.

valido

stringa

Falso

Stringa JSON che descrive se la credenziale è valida per l'uso. Il valore predefinito, se omesso, è "true". I valori definiti sono:

  • "vero" - La credenziale è idonea all'uso.

  • "falso" - La credenziale non deve essere utilizzata.

validFromTimestamp

stringa

Falso

Stringa JSON contenente un timestamp che indica quando la credenziale è valida. Queste vengono utilizzate per la rotazione delle credenziali. I valori definiti sono:

  • Conforme allo schema di data e ora ISO-8601

validUntilTimestamp

stringa

Falso

Stringa JSON contenente un timestamp che indica quando la credenziale non è più valida. Queste vengono utilizzate per la rotazione delle credenziali. I valori definiti sono:

  • Conforme allo schema di data e ora ISO-8601

metadati

"aggiornamento dei metadati di tipo Astra"

Falso

Metadati specificati dal client e dal servizio associati alla risorsa. I valori definiti sono:

  • Conforme allo schema dei metadati Astra. Se non specificato in fase di creazione, verrà creato un oggetto metadati senza etichette. Se non specificato in fase di aggiornamento, le etichette dell'oggetto metadati, creationTimestamp e createdBy, verranno conservate senza modifiche.

Esempio di richiesta
{
  "type": "application/astra-credential",
  "version": "1.1",
  "name": "oldCert",
  "keyStore": {
    "privKey": "SGkh",
    "pubKey": "VGhpcyBpcyBhbiBleGFtcGxlLg=="
  }
}

Risposta

Status: 204, Indicates if the credential resource was updated.

Risposta

Status: 403, Forbidden
Nome Tipo Obbligatorio Descrizione

tipo

stringa

Vero

titolo

stringa

Vero

dettaglio

stringa

Vero

stato

stringa

Vero

ID correlazione

stringa

Falso

Risposta tipo
{
  "type": "https://astra.netapp.io/problems/11",
  "title": "Operation not permitted",
  "detail": "The requested operation isn't permitted.",
  "status": "403"
}

Risposta

Status: 406, Not acceptable
Nome Tipo Obbligatorio Descrizione

tipo

stringa

Vero

titolo

stringa

Vero

dettaglio

stringa

Vero

stato

stringa

Vero

ID correlazione

stringa

Falso

Risposta tipo
{
  "type": "https://astra.netapp.io/problems/32",
  "title": "Unsupported content type",
  "detail": "The response can't be returned in the requested format.",
  "status": "406"
}

Risposta

Status: 500, Internal server error
Nome Tipo Obbligatorio Descrizione

tipo

stringa

Vero

titolo

stringa

Vero

dettaglio

stringa

Vero

stato

stringa

Vero

ID correlazione

stringa

Falso

Risposta tipo
{
  "type": "https://astra.netapp.io/problems/34",
  "title": "Internal server error",
  "detail": "The server was unable to process this request.",
  "status": "500"
}

Risposta

Status: 412, Precondition failed
Nome Tipo Obbligatorio Descrizione

tipo

stringa

Vero

titolo

stringa

Vero

dettaglio

stringa

Vero

stato

stringa

Vero

ID correlazione

stringa

Falso

Risposta tipo
{
  "type": "https://astra.netapp.io/problems/38",
  "title": "Precondition not met",
  "detail": "The conditional headers aren't satisfied.",
  "status": "412"
}

Risposta

Status: 409, Conflict
Nome Tipo Obbligatorio Descrizione

tipo

stringa

Vero

titolo

stringa

Vero

dettaglio

stringa

Vero

stato

stringa

Vero

ID correlazione

stringa

Falso

Risposta tipo
{
  "type": "https://astra.netapp.io/problems/39",
  "title": "Credential exists",
  "detail": "A credential of this type already exists.",
  "status": "409"
}

Risposta

Status: 502, Bad gateway
Nome Tipo Obbligatorio Descrizione

tipo

stringa

Vero

titolo

stringa

Vero

dettaglio

stringa

Vero

stato

stringa

Vero

ID correlazione

stringa

Falso

Risposta tipo
{
  "type": "https://astra.netapp.io/problems/40",
  "title": "Communication failed",
  "detail": "Communication wasn't made with downstream services.",
  "status": "502"
}

Risposta

Status: 503, Service unavailable
Nome Tipo Obbligatorio Descrizione

tipo

stringa

Vero

titolo

stringa

Vero

dettaglio

stringa

Vero

stato

stringa

Vero

ID correlazione

stringa

Falso

Risposta tipo
{
  "type": "https://astra.netapp.io/problems/41",
  "title": "Service not ready",
  "detail": "Currently, the service can't respond to this request.",
  "status": "503"
}

Errore

Status: 400, Bad request
Nome Tipo Obbligatorio Descrizione

tipo

stringa

Vero

titolo

stringa

Vero

dettaglio

stringa

Vero

stato

stringa

Vero

ID correlazione

stringa

Falso

invalidParams

vettore["invalidParams"]

Falso

Elenco dei parametri di query non validi

Esempio di risposta di errore
{
  "type": "https://astra.netapp.io/problems/7",
  "title": "Invalid JSON payload",
  "detail": "The request body is not valid JSON.",
  "status": "400"
}

Definizioni

Vedi definizioni

keyStore

Oggetto JSON contenente stringhe JSON. Ogni stringa nel keyStore rappresenta una parte della credenziale. Il nome di ciascuna stringa rappresenta la parte della credenziale e la corrispondente coppia chiave-valore memorizza il valore di quella parte della credenziale in formato base64. I valori definiti sono:

  • Conforme allo schema di dati codificati in base64. Non vengono imposti limiti alla lunghezza delle stringhe.

Mappatura hash delle stringhe in stringhe

etichetta tipo_astra

Nome Tipo Obbligatorio Descrizione

nome

stringa

Vero

valore

stringa

Vero

aggiornamento dei metadati di tipo Astra

Metadati specificati dal client e dal servizio associati alla risorsa. I valori definiti sono:

  • Conforme allo schema dei metadati Astra. Se non specificato in fase di creazione, verrà creato un oggetto metadati senza etichette. Se non specificato in fase di aggiornamento, le etichette dell'oggetto metadati, creationTimestamp e createdBy, verranno conservate senza modifiche.

Nome Tipo Obbligatorio Descrizione

etichette

vettore["etichetta tipo_astra"]

Falso

CreationTimestamp

stringa

Falso

ModificationTimestamp

stringa

Falso

CreatedBy

stringa

Falso

modifiedBy

stringa

Falso

invalidFields

Nome Tipo Obbligatorio Descrizione

nome

stringa

Vero

Nome del campo del corpo della richiesta non valido

motivo

stringa

Vero

Motivo per cui il campo del corpo della richiesta non è valido

invalidParams

Nome Tipo Obbligatorio Descrizione

nome

stringa

Vero

Nome del parametro di query non valido

motivo

stringa

Vero

Motivo per cui il parametro di query non è valido