Beispiele

In den folgenden Beispielen wird davon ausgegangen, dass Sie bereits ein Token mit Ihrem Dienstkonto abgerufen haben:

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

Außerdem gehen wir davon aus, dass Sie ${CLIENT_PROJECT} bereits auf die Projekt-ID des Google Cloud-Projekts festgelegt haben.

Bestandskunden auflisten

Mit dem folgenden Befehl werden alle Kunden zurückgegeben, auf die der Anrufer Zugriff hat:

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"

Der Einfachheit halber sollten Sie den zurückgegebenen Kundennamen in einer Variablen speichern:

CUSTOMER_NAME=customers/...

Neue Gerätekonfiguration erstellen

Legen Sie zuerst die ${FCCID} und ${SN} des Geräts fest, das Sie erstellen möchten:

FCCID=f1
SN=sn1

Erstellen Sie dann mit dem folgenden Befehl die Gerätekonfiguration:

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\"}}"

Der Befehl gibt eine neu erstellte Gerätekonfiguration zurück. Der Einfachheit halber sollten Sie den Gerätenamen in einer Variablen speichern:

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

Aktuelle Geräte auflisten

Mit dem folgenden Befehl werden vorhandene Geräte aufgelistet.

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"

Gerät nach Name abrufen

Mit dem folgenden Befehl werden Geräte nach Namen abgerufen.

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}"

Vorhandenes Gerät aktualisieren

Mit dem folgenden Befehl werden vorhandene Geräte aktualisiert.

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}" \

CPI-Identität und -Zertifizierung validieren

Verwenden Sie das folgende Beispiel, um den geheimen String zu generieren:

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 "{}"

Dadurch wird ein Wert mit der folgenden Form zurückgegeben:

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

Der geheime String muss dann in ein JWT codiert werden. Verwende das JSON Web Token-Format. Es wird davon ausgegangen, dass Sie ${SECRET} auf den geheimen String, ${ENCODED_SECRET} auf den JWT-String und ${CPI_ID} auf die ID des CPI festgelegt haben, der validiert werden soll.

Mit dem folgenden Befehl wird die Identität und die Zertifizierung des CPI bestätigt.

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}\" }"

Der CPI kann jetzt eine CBSD installieren, die alle erforderlichen Parameter enthält.

Mehrstufige CBSD-Registrierung

Es gibt zwei Möglichkeiten, die mehrstufige CBSD-Registrierung durchzuführen, die in den folgenden beiden Abschnitten beschrieben wird. Sie können die mehrstufige CBSD-Registrierung mit Parametern durchführen, die zuvor von einem CPI oder mit einem CPI-Konto signiert wurden.

Mit zuvor durch einen CPI signierten Geräteparametern

Dieses Beispiel zeigt, wie Sie eine inaktive Gerätekonfiguration mit CBSD-Installationsparametern erstellen, die zuvor von einem CPI codiert wurden, sodass die Konfiguration auch von Nutzern ohne CPI erstellt werden kann. Verwenden Sie den privaten Schlüssel des CPI, um die CBSD-Parameter zu codieren. Dazu verwenden wir das JSON Web Token-Format. Es wird davon ausgegangen, dass Sie ${ENCODED_DEVICE} auf den JWT-String und ${CPI_ID} auf die ID des CPI festgelegt haben.

Die inaktive Gerätekonfiguration kann dann mit dem folgenden Befehl erstellt werden:

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}\" }"

Die CBSD muss dann eine Registrierungsanfrage an die SAS senden, um die Registrierung abzuschließen.

Mit einem CPI-Konto

Zuerst muss die Identität des CPI bestätigt werden, bevor Sie versuchen, eine Gerätekonfiguration zu validieren. Verwenden Sie anschließend den folgenden Befehl, um eine inaktive Gerätekonfiguration zu erstellen:

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}"

Wir gehen davon aus, dass Sie ${DEVICE} als JSON-Darstellung der CBSD-Registrierungsparameter in diesem Format festgelegt haben.

Die CBSD muss dann eine Registrierungsanfrage an die SAS senden, um die Registrierung abzuschließen.