Esempi

Nei seguenti esempi, supponiamo che tu abbia già ottenuto un token con il tuo account di servizio:

TOKEN=$(gcloud auth print-access-token)

Supponiamo inoltre che tu abbia già impostato ${CLIENT_PROJECT} sull'ID progetto del progetto Google Cloud.

Elenca i clienti attuali

Il comando seguente restituisce tutti i clienti a cui il chiamante ha accesso:

curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${TOKEN}" \"https://sasportal.googleapis.com/v1alpha1/customers"

Per comodità, salva il nome del cliente che è stato restituito in una variabile:

CUSTOMER_NAME=customers/...

Creare una nuova configurazione dispositivo

Innanzitutto, imposta i valori per ${FCCID} e ${SN} del dispositivo che vuoi creare:

FCCID=f1
SN=sn1

Quindi, crea la configurazione del dispositivo con il comando seguente:

curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${TOKEN}" \ "https://sasportal.googleapis.com/v1alpha1/${CUSTOMER_NAME}/devices" \
  -d "{ \"fcc_id\": \"$FCCID\", \"serial_number\": \"$SN\", \"preloaded_config\": { \"call_sign\": \"cs1\", \"category\": \"DEVICE_CATEGORY_A\"}}"

Il comando restituisce una configurazione del dispositivo appena creata. Per comodità, salva il nome del dispositivo in una variabile:

DEVICE_NAME=customers/.../devices/...

Elenca i dispositivi attuali

Il seguente comando elenca i dispositivi esistenti.

curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/${CUSTOMER_NAME}/devices"

Recupera dispositivo per nome

Il comando seguente recupera i dispositivi in base al nome.

curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://sasportal.googleapis.com/v1alpha1/${DEVICE_NAME}"

Aggiorna dispositivo esistente

Il seguente comando aggiorna i dispositivi esistenti.

curl -X PATCH -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://sasportal.googleapis.com/v1alpha1/${DEVICE_NAME}" \

Convalida la tua identità e la certificazione CPI

Utilizza il seguente esempio per generare la stringa di secret:

curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/installer:generateSecret" \
  -d "{}"

Restituisce un valore con il seguente modulo:

{
  "secret": "<generated secret>"
}

La stringa segreta deve quindi essere codificata in un JWT. Utilizza il formato del token web JSON. Supponiamo che tu abbia impostato ${SECRET} sulla stringa segreta, ${ENCODED_SECRET} sulla stringa JWT e ${CPI_ID} sull'ID del CPI da convalidare.

Il seguente comando convalida l'identità e la certificazione del CPI.

curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/installer:validate" \
  -d "{ \"installer_id\": \"${CPI_ID}\", \"secret\": \"${SECRET}\", \"encoded_secret\": \"${ENCODED_SECRET}\" }"

Il CPI ora può installare un CBSD con tutti i parametri richiesti.

Registrazione CBSD in più passaggi

Nelle due sezioni seguenti è possibile eseguire la registrazione a più passaggi in CBSD in due modi. Puoi eseguire la registrazione in più passaggi CBSD con parametri firmati in precedenza da un CPI o con un account CPI.

Con parametri del dispositivo firmati in precedenza da un CPI

Questo esempio mostra come creare una configurazione dispositivo inattivo con parametri di installazione CBSD precedentemente codificati da un CPI, in modo che la configurazione possa essere creata anche da utenti non CPI. Utilizza la chiave privata del CPI per codificare i parametri CBSD. A questo scopo, utilizziamo il formato token web JSON. Supponiamo che tu abbia impostato ${ENCODED_DEVICE} sulla stringa JWT e ${CPI_ID} sull'ID del CPI.

La configurazione dispositivo inattivo può quindi essere creata con il comando seguente:

curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${TOKEN}" \ "https://sasportal.googleapis.com/v1alpha1/${CUSTOMER_NAME}/devices:createSigned" \
  -d "{ \"installer_id\": \"${CPI_ID}\", \"encoded_device\": \"${ENCODED_DEVICE}\", \"parent\": \"${CUSTOMER_NAME}\" }"

A questo punto, la CBSD deve inviare una richiesta di registrazione alla SAS per completare la registrazione.

Con un account CPI

Innanzitutto, l'identità del CPI deve essere convalidata prima di tentare di convalidare la configurazione di un dispositivo. Una volta completata questa operazione, utilizza il seguente comando per creare una configurazione dispositivo inattivo:

curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/${DEVICE_NAME}:signDevice" \
  -d "${DEVICE}"

Supponiamo che tu abbia impostato ${DEVICE} come rappresentazione JSON dei parametri di registrazione di CBSD in questo formato.

A questo punto, la CBSD deve inviare una richiesta di registrazione alla SAS per completare la registrazione.