Autorisieren Sie Kerngeräte zur Interaktion mitAWSDienstleistungen - AWS IoT Greengrass

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.

Autorisieren Sie Kerngeräte zur Interaktion mitAWSDienstleistungen

AWS IoT GreengrassCore-Geräte verwenden dasAWS IoT CoreAnbieter von Anmeldeinformationen, um Anrufe zu autorisierenAWS-Services. DieAWS IoT CoreDer Anbieter von Anmeldeinformationen ermöglicht es Geräten, ihre X.509-Zertifikate als eindeutige Geräteidentität zur Authentifizierung zu verwendenAWS-Anfragen. Dadurch entfällt die Notwendigkeit, eineAWSZugriffsschlüssel-ID und geheimen Zugriffsschlüssel auf IhremAWS IoT Greengrass-Core-Geräte. Weitere Informationen finden Sie unterAutorisieren von direkten AufrufenAWSDienstleistungenimAWS IoT CoreEntwicklerhandbuchaus.

Wenn du dieAWS IoT GreengrassKernsoftware können Sie wählen, ob Sie dieAWSRessourcen, die das Kerngerät benötigt. Dies umfasst dasAWS Identity and Access Management(IAM) -Rolle, die Ihr Kerngerät über dieAWS IoT CoreAnbieter von Anmeldeinformationen. Verwenden der--provision trueArgument zum Konfigurieren einer Rolle und Richtlinien, die es dem Kerngerät ermöglichen, vorübergehend zu werdenAWS-Anmeldeinformationen. Dieses Argument konfiguriert auch einAWS IoTRollenalias, der auf diese IAM-Rolle verweist. Sie können den Namen der IAM-Rolle angeben undAWS IoTZu verwendender Rollenalias. Wenn Sie angeben--provision trueOhne diese anderen Namensparameter erstellt und verwendet das Greengrass-Kerngerät die folgenden Standardressourcen:

  • IAM-Rolle:GreengrassV2TokenExchangeRole

    Diese Rolle hat eine Richtlinie namensGreengrassV2TokenExchangeRoleAccessund eine Vertrauensbeziehung, die es ermöglichtcredentials.iot.amazonaws.comUm die Rolle zu übernehmen. Die Richtlinie enthält die Mindestberechtigungen für das Kerngerät.

    Wichtig

    Diese Richtlinie beinhaltet keinen Zugriff auf Dateien in S3-Buckets. Sie müssen der Rolle Berechtigungen hinzufügen, damit Core-Devices Komponentenartefakte aus S3-Buckets abrufen können. Weitere Informationen finden Sie unter Erlauben Sie Zugriff auf S3-Buckets für Komponentenartefakte.

  • AWS IoTRollenalias:GreengrassV2TokenExchangeRoleAlias

    Dieser Rollenalias bezieht sich auf die IAM-Rolle.

Weitere Informationen finden Sie unter Schritt 3: Installieren derAWS IoT Greengrass Core-Software: Installieren der Kern-Software: Installieren.

Sie können auch den Rollenalias für ein vorhandenes Kerngerät festlegen. Konfigurieren Sie dazu dasiotRoleAliasKonfigurationsparameter desGreengrass Kernkomponenteaus.

Sie können vorübergehend erwerbenAWSAnmeldeinformationen für die auszuführende IAM-RolleAWSOperationen in Ihren benutzerdefinierten Komponenten. Weitere Informationen finden Sie unter Interagieren mit -AWSServices.

Servicerollen-Berechtigungen für Kerngeräte

Die Rolle ermöglicht es dem folgenden Service, die Rolle zu übernehmen:

  • credentials.iot.amazonaws.com

Wenn Sie dasAWS IoT GreengrassKernsoftware zum Erstellen dieser Rolle verwendet sie die folgende Berechtigungsrichtlinie, um es Kerngeräten zu ermöglichen, sich zu verbinden und Protokolle zu sendenAWSaus. Der Name der Richtlinie steht standardmäßig auf den Namen der IAM-Rolle, die mitAccessaus. Wenn Sie beispielsweise den Standard-IAM-Rollennamen verwenden, lautet der Name dieser RichtlinieGreengrassV2TokenExchangeRoleAccessaus.

Greengrass nucleus v2.5.0 and later
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams", "s3:GetBucketLocation" ], "Resource": "*" } ] }
v2.4.x
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:DescribeCertificate", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams", "s3:GetBucketLocation" ], "Resource": "*" } ] }
Earlier than v2.4.0
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:DescribeCertificate", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams", "iot:Connect", "iot:Publish", "iot:Subscribe", "iot:Receive", "s3:GetBucketLocation" ], "Resource": "*" } ] }

Erlauben Sie Zugriff auf S3-Buckets für Komponentenartefakte

Die Standard-Core-Geräterolle erlaubt es Core-Devices nicht, auf S3-Buckets zuzugreifen. Um Komponenten bereitzustellen, die Artefakte in S3-Buckets enthalten, müssen Sie dies3:GetObjectBerechtigung, Kerngeräten das Herunterladen von Komponentenartefakten zu ermöglichen. Sie können der Kerngerätelrolle eine neue Richtlinie hinzufügen, um diese Berechtigung zu erteilen.

So fügen Sie eine Richtlinie hinzu, die den Zugriff auf Komponentenartefakte in Amazon S3 ermöglicht
  1. Erstellen Sie eine -Datei namenscomponent-artifact-policy.jsonKopieren Sie folgenden JSON in die -Datei. Diese Richtlinie ermöglicht den Zugriff auf alle Dateien in einem S3-Bucket. ErsetzenDOC-BEISPIEL-BUCKETMit dem Namen des S3-Buckets, damit das Core-Gerät darauf zugreifen kann.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" } ] }
  2. Führen Sie den folgenden Befehl aus, um die Richtlinie aus dem Richtliniendokument incomponent-artifact-policy.jsonaus.

    Linux or Unix
    aws iam create-policy \ --policy-name MyGreengrassV2ComponentArtifactPolicy \ --policy-document file://component-artifact-policy.json
    Windows Command Prompt (CMD)
    aws iam create-policy ^ --policy-name MyGreengrassV2ComponentArtifactPolicy ^ --policy-document file://component-artifact-policy.json
    PowerShell
    aws iam create-policy ` --policy-name MyGreengrassV2ComponentArtifactPolicy ` --policy-document file://component-artifact-policy.json

    Kopieren Sie den Amazon-Ressourcennamen (ARN) der Richtlinie aus den Richtlinienmetadaten in der Ausgabe. Sie verwenden diesen ARN, um diese Richtlinie im nächsten Schritt an die Kerngeräterolle anzuhängen.

  3. Führen Sie den folgenden Befehl aus, um die Richtlinie der Core-Geräterolle anzufügen. ErsetzenGreengrassV2TokenExchangeRoleMit dem Namen der Rolle, die Sie angegeben haben, als Sie dasAWS IoT GreengrassCore-Software. Ersetzen Sie dann den Richtlinien-ARN aus dem vorherigen Schritt durch den ARN.

    Linux or Unix
    aws iam attach-role-policy \ --role-name GreengrassV2TokenExchangeRole \ --policy-arn arn:aws:iam::123456789012:policy/MyGreengrassV2ComponentArtifactPolicy
    Windows Command Prompt (CMD)
    aws iam attach-role-policy ^ --role-name GreengrassV2TokenExchangeRole ^ --policy-arn arn:aws:iam::123456789012:policy/MyGreengrassV2ComponentArtifactPolicy
    PowerShell
    aws iam attach-role-policy ` --role-name GreengrassV2TokenExchangeRole ` --policy-arn arn:aws:iam::123456789012:policy/MyGreengrassV2ComponentArtifactPolicy

    Wenn der Befehl keine Ausgabe hat, ist es erfolgreich und Ihr Kerngerät kann auf Artefakte zugreifen, die Sie in diesen S3-Bucket hochladen.