

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Just-in-time Bereitstellung
<a name="jit-provisioning"></a>

Sie können just-in-time Provisioning (JITP) verwenden, um Ihre Geräte bereitzustellen, wenn sie zum ersten Mal versuchen, eine Verbindung herzustellen. AWS IoT Zur Bereitstellung des Geräts müssen Sie die automatische Registrierung aktivieren und dem CA-Zertifikat, mit dem das Gerätezertifikat signiert wurde, eine Bereitstellungsvorlage zuordnen. Erfolge und Fehler bei der Bereitstellung werden wie [Gerätebereitstellungsmetriken](metrics_dimensions.md#provisioning-metrics) bei Amazon CloudWatch protokolliert.

**Topics**
+ [Überblick über JITP](#jit-provisioning-overview)
+ [Registrieren einer CA mithilfe der Bereitstellungsvorlage](#jit-provisioning-registerCA-template)
+ [Registrieren einer CA anhand des Bereitstellungsvorlagennamens](#jit-provisioning-registerCA-templateName)

## Überblick über JITP
<a name="jit-provisioning-overview"></a>

Wenn ein Gerät versucht, AWS IoT mithilfe eines Zertifikats, das mit einem registrierten CA-Zertifikat signiert ist, eine Verbindung herzustellen, wird die Vorlage aus dem CA-Zertifikat AWS IoT geladen und zum Aufrufen [RegisterThing](fleet-provision-api.md#register-thing)verwendet. Der JITP-Workflow registriert zuerst ein Zertifikat mit dem Statuswert `PENDING_ACTIVATION`. Wenn die Gerätebereitstellung abgeschlossen ist, wird der Status des Zertifikats in `ACTIVE` geändert.

AWS IoT definiert die folgenden Parameter, die Sie in Bereitstellungsvorlagen deklarieren und referenzieren können:
+ `AWS::IoT::Certificate::Country`
+ `AWS::IoT::Certificate::Organization`
+ `AWS::IoT::Certificate::OrganizationalUnit`
+ `AWS::IoT::Certificate::DistinguishedNameQualifier`
+ `AWS::IoT::Certificate::StateName`
+ `AWS::IoT::Certificate::CommonName`
+ `AWS::IoT::Certificate::SerialNumber`
+ `AWS::IoT::Certificate::Id`

Die Werte für diese Bereitstellungsvorlagenparameter werden auf die Angaben beschränkt, die JITP aus dem Betreff-Feld des Zertifikats des bereitzustellenden Geräts extrahieren kann. Das Zertifikat muss Werte für alle Parameter im Vorlagentext enthalten. Der `AWS::IoT::Certificate::Id`-Parameter bezieht sich auf eine intern generierte ID und nicht auf eine ID, die im Zertifikat enthalten ist. Sie können den Wert dieser ID mithilfe der `principal()` Funktion in einer AWS IoT Regel abrufen. 

**Anmerkung**  
Sie können Geräte mithilfe der AWS IoT Core just-in-time Bereitstellungsfunktion (JITP) bereitstellen, ohne die gesamte Vertrauenskette bei der ersten Verbindung eines Geräts an senden zu müssen. AWS IoT Core Die Vorlage des CA-Zertifikats ist optional, aber das Gerät muss die [SNI-Erweiterung (Server Name Indication)](https://datatracker.ietf.org/doc/html/rfc3546#section-3.1) senden, wenn es eine Verbindung mit AWS IoT Core herstellt.

### Beispielvorlagentext
<a name="jit-provisioning-example-templatebody"></a>

Die folgende JSON-Datei ist ein Beispieltext für eine vollständige JITP-Vorlage. 

```
{
   "Parameters":{
      "AWS::IoT::Certificate::CommonName":{
         "Type":"String"
      },
      "AWS::IoT::Certificate::SerialNumber":{
         "Type":"String"
      },
      "AWS::IoT::Certificate::Country":{
         "Type":"String"
      },
      "AWS::IoT::Certificate::Id":{
         "Type":"String"
      }
   },
   "Resources":{
      "thing":{
         "Type":"AWS::IoT::Thing",
         "Properties":{
            "ThingName":{
               "Ref":"AWS::IoT::Certificate::CommonName"
            },
            "AttributePayload":{
               "version":"v1",
               "serialNumber":{
                  "Ref":"AWS::IoT::Certificate::SerialNumber"
               }
            },
            "ThingTypeName":"lightBulb-versionA",
            "ThingGroups":[
               "v1-lightbulbs",
               {
                  "Ref":"AWS::IoT::Certificate::Country"
               }
            ]
         },
         "OverrideSettings":{
            "AttributePayload":"MERGE",
            "ThingTypeName":"REPLACE",
            "ThingGroups":"DO_NOTHING"
         }
      },
      "certificate":{
         "Type":"AWS::IoT::Certificate",
         "Properties":{
            "CertificateId":{
               "Ref":"AWS::IoT::Certificate::Id"
            },
            "Status":"ACTIVE"
         }
      },
      "policy":{
         "Type":"AWS::IoT::Policy",
         "Properties":{
            "PolicyDocument":"{ \"Version\": \"2012-10-17\",		 	 	  \"Statement\": [{ \"Effect\": \"Allow\", \"Action\":[\"iot:Publish\"], \"Resource\": [\"arn:aws:iot:us-east-1:123456789012:topic/foo/bar\"] }] }"
         }
      }
   }
}
```

Diese Beispielvorlage deklariert Werte für die Bereitstellungsparameter `AWS::IoT::Certificate::CommonName`, `AWS::IoT::Certificate::SerialNumber`, `AWS::IoT::Certificate::Country` und `AWS::IoT::Certificate::Id`, die aus dem Zertifikat extrahiert und im Abschnitt `Resources` verwendet werden. Der JITP-Workflow führt anhand dieser Vorlage die folgenden Aktionen aus:
+ Ein Zertifikat registrieren und als seinen Status PENDING\$1ACTIVE einstellen.
+ Eine Objekt-Ressource erstellen.
+ Eine Richtlinien-Ressource erstellen.
+ Dem Zertifikat die Richtlinie anfügen.
+ Dem Objekt das Zertifikat anfügen.
+ Den Status des Zertifikats auf ACTIVE aktualisieren.

Die Gerätebereitstellung schlägt fehl, wenn das Zertifikat nicht alle im `Parameters` Abschnitt der genannten Eigenschaften aufweist. `templateBody` Wenn `AWS::IoT::Certificate::Country` es beispielsweise in der Vorlage enthalten ist, das Zertifikat jedoch keine `Country`-Eigenschaft besitzt, schlägt die Gerätebereitstellung fehl.

Sie können es auch CloudTrail zur Behebung von Problemen mit Ihrer JITP-Vorlage verwenden. Informationen zu den Metriken, die bei Amazon protokolliert werden CloudWatch, finden Sie unter[Gerätebereitstellungsmetriken](metrics_dimensions.md#provisioning-metrics). Weitere Informationen zur Bereitstellungsvorlagen finden Sie unter [Bereitstellungsvorlagen](provision-template.md).

**Anmerkung**  
Während des Bereitstellungsprozesses ruft das just-in-time Provisioning (JITP) andere API-Operationen auf der AWS IoT Kontrollebene auf. Diese Aufrufe können die für Ihr Konto festgelegten [AWS IoT -Drosselungskontingente](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#throttling-limits) überschreiten und zu gedrosselten Aufrufen führen. Wenden Sie sich an den [AWS -Kundenservice](https://console.aws.amazon.com/support/home), um Ihre Drosselungskontingente bei Bedarf zu erhöhen.

## Registrieren einer CA mithilfe der Bereitstellungsvorlage
<a name="jit-provisioning-registerCA-template"></a>

Gehen Sie folgendermaßen vor, um eine CA mithilfe einer vollständigen Bereitstellungsvorlage zu registrieren: 

1. Speichern Sie Ihre Bereitstellungsvorlage und die ARN-Informationen der Rolle wie im folgenden Beispiel als JSON-Datei:

   ```
   { 
        "templateBody" : "{\r\n    \"Parameters\" : {\r\n        \"AWS::IoT::Certificate::CommonName\": {\r\n            \"Type\": \"String\"\r\n        },\r\n        \"AWS::IoT::Certificate::SerialNumber\": {\r\n            \"Type\": \"String\"\r\n        },\r\n        \"AWS::IoT::Certificate::Country\": {\r\n            \"Type\": \"String\"\r\n        },\r\n        \"AWS::IoT::Certificate::Id\": {\r\n            \"Type\": \"String\"\r\n        }\r\n    },\r\n    \"Resources\": {\r\n        \"thing\": {\r\n            \"Type\": \"AWS::IoT::Thing\",\r\n            \"Properties\": {\r\n                \"ThingName\": {\r\n                    \"Ref\": \"AWS::IoT::Certificate::CommonName\"\r\n                },\r\n                \"AttributePayload\": {\r\n                    \"version\": \"v1\",\r\n                    \"serialNumber\": {\r\n                        \"Ref\": \"AWS::IoT::Certificate::SerialNumber\"\r\n                    }\r\n                },\r\n                \"ThingTypeName\": \"lightBulb-versionA\",\r\n                \"ThingGroups\": [\r\n                    \"v1-lightbulbs\",\r\n                    {\r\n                        \"Ref\": \"AWS::IoT::Certificate::Country\"\r\n                    }\r\n                ]\r\n            },\r\n            \"OverrideSettings\": {\r\n                \"AttributePayload\": \"MERGE\",\r\n                \"ThingTypeName\": \"REPLACE\",\r\n                \"ThingGroups\": \"DO_NOTHING\"\r\n            }\r\n        },\r\n        \"certificate\": {\r\n            \"Type\": \"AWS::IoT::Certificate\",\r\n            \"Properties\": {\r\n                \"CertificateId\": {\r\n                    \"Ref\": \"AWS::IoT::Certificate::Id\"\r\n                },\r\n                \"Status\": \"ACTIVE\"\r\n            },\r\n            \"OverrideSettings\": {\r\n                \"Status\": \"DO_NOTHING\"\r\n            }\r\n        },\r\n        \"policy\": {\r\n            \"Type\": \"AWS::IoT::Policy\",\r\n            \"Properties\": {\r\n                \"PolicyDocument\": \"{ \\\"Version\\\": \\\"2012-10-17		 	 	 \\\", \\\"Statement\\\": [{ \\\"Effect\\\": \\\"Allow\\\", \\\"Action\\\":[\\\"iot:Publish\\\"], \\\"Resource\\\": [\\\"arn:aws:iot:us-east-1:123456789012:topic\/foo\/bar\\\"] }] }\"\r\n            }\r\n        }\r\n    }\r\n}",
        "roleArn" : "arn:aws:iam::123456789012:role/JITPRole"
   }
   ```

   In diesem Beispiel muss der Wert des Feldes `templateBody` ein JSON-Objekt sein, das als Zeichenfolge mit Escapezeichen angegeben wird. Zulässig sind nur die Werte in der [obigen Liste](#jit-provisioning-overview). Sie können eine Vielzahl von Tools verwenden, um die erforderliche JSON-Ausgabe zu erstellen, z. B. `json.dumps` (Python) oder `JSON.stringify` (Node). Der Wert von Feld `roleARN` muss der ARN einer Rolle sein, der `AWSIoTThingsRegistration` zugeordnet ist. Außerdem können Sie in Ihrer Vorlage `PolicyName` anstelle des Inline-`PolicyDocument` wie im Beispiel verwenden. 

1. Registrieren Sie ein CA-Zertifikat mit der Operation [Register CACertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_RegisterCACertificate.html) API oder dem [https://docs.aws.amazon.com//cli/latest/reference/iot/register-ca-certificate.html](https://docs.aws.amazon.com//cli/latest/reference/iot/register-ca-certificate.html)CLI-Befehl. Geben Sie das Verzeichnis der Bereitstellungsvorlage und die ARN-Informationen der Rolle an, die Sie im vorherigen Schritt gespeichert haben:

   Im Folgenden finden Sie ein Beispiel für die Registrierung eines CA-Zertifikats im `DEFAULT`-Modus mithilfe von AWS CLI:

   ```
   aws iot register-ca-certificate --ca-certificate file://your-ca-cert --verification-cert file://your-verification-cert 
                   --set-as-active --allow-auto-registration --registration-config file://your-template
   ```

   Im Folgenden finden Sie ein Beispiel für die Registrierung eines CA-Zertifikats im `SNI_ONLY`-Modus mithilfe von AWS CLI:

   ```
   aws iot register-ca-certificate --ca-certificate file://your-ca-cert --certificate-mode SNI_ONLY
                    --set-as-active --allow-auto-registration --registration-config file://your-template
   ```

   Weitere Informationen finden Sie unter [Registrieren Ihres CA-Zertifikats](https://docs.aws.amazon.com//iot/latest/developerguide/register-CA-cert.html).

1.  (Optional) Aktualisieren Sie die Einstellungen für ein CA-Zertifikat mithilfe des [CACertificateAPI-Aktualisierungsvorgangs](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCACertificate.html) oder des [https://docs.aws.amazon.com//cli/latest/reference/iot/update-ca-certificate.html](https://docs.aws.amazon.com//cli/latest/reference/iot/update-ca-certificate.html)CLI-Befehls. 

   Im Folgenden finden Sie ein Beispiel für die Aktualisierung eines CA-Zertifikats mithilfe von AWS CLI:

   ```
   aws iot update-ca-certificate --certificate-id caCertificateId
                   --new-auto-registration-status ENABLE --registration-config file://your-template
   ```

## Registrieren einer CA anhand des Bereitstellungsvorlagennamens
<a name="jit-provisioning-registerCA-templateName"></a>

Gehen Sie folgendermaßen vor, um eine CA mit einem Bereitstellungsvorlagennamen zu registrieren:

1. Speichern Sie den Text Ihrer Bereitstellungsvorlage als JSON-Datei. Einen Beispielvorlagentext finden Sie unter [Beispielvorlagentext](#jit-provisioning-example-templatebody).

1. Verwenden Sie die [CreateProvisioningTemplate](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateProvisioningTemplate.html)API oder den [https://docs.aws.amazon.com//cli/latest/reference/iot/create-provisioning-template.html](https://docs.aws.amazon.com//cli/latest/reference/iot/create-provisioning-template.html)CLI-Befehl, um eine Bereitstellungsvorlage zu erstellen:

   ```
   aws iot create-provisioning-template --template-name your-template-name \
           --template-body file://your-template-body.json --type JITP \
           --provisioning-role-arn arn:aws:iam::123456789012:role/test
   ```
**Anmerkung**  
Für die just-in-time Bereitstellung (JITP) müssen Sie den Vorlagentyp angeben, der `JITP` bei der Erstellung der Bereitstellungsvorlage verwendet werden soll. *Weitere Informationen zum Vorlagentyp finden Sie [CreateProvisioningTemplate](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateProvisioningTemplate.html)in der AWS API-Referenz.*

1. Verwenden Sie die Register CACertificate API oder den [https://docs.aws.amazon.com//cli/latest/reference/iot/register-ca-certificate.html](https://docs.aws.amazon.com//cli/latest/reference/iot/register-ca-certificate.html)CLI-Befehl, um CA mit dem Vorlagennamen zu [registrieren](https://docs.aws.amazon.com/iot/latest/apireference/API_RegisterCACertificate.html):

   ```
   aws iot register-ca-certificate --ca-certificate file://your-ca-cert --verification-cert file://your-verification-cert \
           --set-as-active --allow-auto-registration --registration-config templateName=your-template-name
   ```