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.
AWS IoT Greengrass Kerngeräte verwenden den Anbieter AWS IoT Core für Anmeldeinformationen, um Anrufe an Dienste zu autorisieren. AWS Der Anbieter AWS IoT Core für Anmeldeinformationen ermöglicht es Geräten, ihre X.509-Zertifikate als eindeutige Geräteidentität zur Authentifizierung AWS von Anfragen zu verwenden. Dadurch entfällt die Notwendigkeit, eine AWS Zugriffsschlüssel-ID und einen geheimen Zugriffsschlüssel auf Ihren AWS IoT Greengrass Kerngeräten zu speichern. Weitere Informationen finden Sie unter Autorisieren von direkten Aufrufen von AWS Diensten im AWS IoT Core Entwicklerhandbuch.
Wenn Sie die AWS IoT Greengrass Core-Software ausführen, können Sie wählen, ob Sie die AWS Ressourcen bereitstellen möchten, die das Kerngerät benötigt. Dazu gehört auch die AWS Identity and Access Management (IAM-) Rolle, die Ihr Kerngerät über den Anbieter für AWS IoT Core Anmeldeinformationen übernimmt. Verwenden Sie das --provision true
Argument, um eine Rolle und Richtlinien zu konfigurieren, die es dem Kerngerät ermöglichen, temporäre AWS Anmeldeinformationen abzurufen. Dieses Argument konfiguriert auch einen AWS IoT Rollenalias, der auf diese IAM-Rolle verweist. Sie können den Namen der zu verwendenden IAM-Rolle und den AWS IoT Rollenalias angeben. Wenn Sie diese anderen Namensparameter --provision
true
ohne diese anderen Namensparameter angeben, erstellt und verwendet das Greengrass-Core-Gerät die folgenden Standardressourcen:
-
IAM-Rolle:
GreengrassV2TokenExchangeRole
Diese Rolle hat eine benannte Richtlinie
GreengrassV2TokenExchangeRoleAccess
und eine Vertrauensbeziehung, die es ermöglicht, diese Rollecredentials.iot.amazonaws.com
zu übernehmen. Die Richtlinie umfasst die Mindestberechtigungen für das Kerngerät.Wichtig
Diese Richtlinie beinhaltet nicht den Zugriff auf Dateien in S3-Buckets. Sie müssen der Rolle Berechtigungen hinzufügen, damit Kerngeräte Komponentenartefakte aus S3-Buckets abrufen können. Weitere Informationen finden Sie unter Erlauben Sie den Zugriff auf S3-Buckets für Komponentenartefakte.
-
AWS IoT Rollenalias:
GreengrassV2TokenExchangeRoleAlias
Dieser Rollenalias bezieht sich auf die IAM-Rolle.
Weitere Informationen finden Sie unter Schritt 3: Installieren Sie die AWS IoT Greengrass Core-Software.
Sie können den Rollenalias auch für ein vorhandenes Kerngerät festlegen. Konfigurieren Sie dazu den iotRoleAlias
Konfigurationsparameter der Greengrass Nucleus-Komponente.
Sie können temporäre AWS Anmeldeinformationen für diese IAM-Rolle erwerben, um AWS Operationen in Ihren benutzerdefinierten Komponenten auszuführen. Weitere Informationen finden Sie unter Interagieren Sie mit AWS Diensten.
Themen
Berechtigungen für Servicerollen für Kerngeräte
Die Rolle ermöglicht es dem folgenden Dienst, die Rolle zu übernehmen:
-
credentials.iot.amazonaws.com
Wenn Sie die AWS IoT Greengrass Core-Software verwenden, um diese Rolle zu erstellen, verwendet sie die folgende Berechtigungsrichtlinie, damit Core-Geräte eine Verbindung herstellen und Protokolle an diese senden können AWS. Der Name der Richtlinie ist standardmäßig der Name der IAM-Rolle, der mit endet. Access
Wenn Sie beispielsweise den Standard-IAM-Rollennamen verwenden, lautet der Name dieser Richtlinie. GreengrassV2TokenExchangeRoleAccess
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogStreams",
"s3:GetBucketLocation"
],
"Resource": "*"
}
]
}
Erlauben Sie den Zugriff auf S3-Buckets für Komponentenartefakte
Die standardmäßige Core-Geräterolle erlaubt es Core-Geräten nicht, auf S3-Buckets zuzugreifen. Um Komponenten bereitzustellen, die Artefakte in S3-Buckets enthalten, müssen Sie die s3:GetObject
Berechtigung hinzufügen, Kerngeräten das Herunterladen von Komponentenartefakten zu gestatten. Sie können der Core-Geräterolle eine neue Richtlinie hinzufügen, um diese Berechtigung zu erteilen.
Um eine Richtlinie hinzuzufügen, die den Zugriff auf Komponentenartefakte in Amazon S3 ermöglicht
-
Erstellen Sie eine Datei mit dem Namen
component-artifact-policy.json
und kopieren Sie den folgenden JSON-Code in die Datei. Diese Richtlinie ermöglicht den Zugriff auf alle Dateien in einem S3-Bucket. Ersetzen Sie amzn-s3-demo-bucket durch den Namen des S3-Buckets, damit das Kerngerät darauf zugreifen kann.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }
-
Führen Sie den folgenden Befehl aus, um die Richtlinie aus dem Richtliniendokument in zu erstellen.
component-artifact-policy.json
aws iam create-policy \ --policy-name
MyGreengrassV2ComponentArtifactPolicy
\ --policy-document file://component-artifact-policy.jsonKopieren Sie den Amazon Resource Name (ARN) der Richtlinie aus den Richtlinienmetadaten in der Ausgabe. Sie verwenden diesen ARN, um diese Richtlinie im nächsten Schritt an die zentrale Geräterolle anzuhängen.
-
Führen Sie den folgenden Befehl aus, um die Richtlinie an die zentrale Geräterolle anzuhängen.
GreengrassV2TokenExchangeRole
Ersetzen Sie es durch den Namen der Rolle, die Sie bei der Ausführung der AWS IoT Greengrass Core-Software angegeben haben. Ersetzen Sie dann den Richtlinien-ARN durch den ARN aus dem vorherigen Schritt.aws iam attach-role-policy \ --role-name
GreengrassV2TokenExchangeRole
\ --policy-arn arn:aws:iam::123456789012
:policy/MyGreengrassV2ComponentArtifactPolicy
Wenn der Befehl keine Ausgabe hat, war er erfolgreich, und Ihr Kerngerät kann auf Artefakte zugreifen, die Sie in diesen S3-Bucket hochladen.