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.