Erstellen Sie eine IAM-Rolle und -Richtlinie - AWS Transfer Family

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.

Erstellen Sie eine IAM-Rolle und -Richtlinie

In diesem Thema werden die Arten von Richtlinien und Rollen beschrieben, die zusammen verwendet werden können AWS Transfer Family, und der Prozess der Erstellung einer Benutzerrolle wird schrittweise beschrieben. Außerdem wird beschrieben, wie Sitzungsrichtlinien funktionieren, und es wird ein Beispiel für eine Benutzerrolle bereitgestellt.

AWS Transfer Family verwendet die folgenden Rollentypen:

  • Benutzerrolle — Ermöglicht dienstverwalteten Benutzern den Zugriff auf die erforderlichen Transfer Family Family-Ressourcen. AWS Transfer Family nimmt diese Rolle im Kontext eines Transfer Family Family-Benutzer-ARN an.

  • Zugriffsrolle — Ermöglicht den Zugriff nur auf die Amazon S3 S3-Dateien, die übertragen werden. Für eingehende AS2-Übertragungen verwendet die Zugriffsrolle den Amazon-Ressourcennamen (ARN) für die Vereinbarung. Für ausgehende AS2-Übertragungen verwendet die Zugriffsrolle den ARN für den Connector.

  • Aufrufrolle — Zur Verwendung mit Amazon API Gateway als benutzerdefiniertem Identitätsanbieter des Servers. Transfer Family übernimmt diese Rolle im Kontext eines Transfer Family Family-Servers ARN.

  • Rolle „Protokollierung“ — Wird verwendet, um Einträge bei Amazon zu protokollieren CloudWatch. Transfer Family verwendet diese Rolle, um Erfolgs- und Fehlschlagsdetails sowie Informationen zu Dateiübertragungen zu protokollieren. Transfer Family übernimmt diese Rolle im Kontext eines Transfer Family Family-Servers ARN. Für ausgehende AS2-Übertragungen verwendet die Protokollierungsrolle den Connector-ARN.

  • Ausführungsrolle — Ermöglicht es einem Transfer Family Family-Benutzer, Workflows aufzurufen und zu starten. Transfer Family übernimmt diese Rolle im Zusammenhang mit einem Transfer Family Family-Workflow-ARN.

Zusätzlich zu diesen Rollen können Sie auch Sitzungsrichtlinien verwenden. Eine Sitzungsrichtlinie wird verwendet, um den Zugriff bei Bedarf einzuschränken. Beachten Sie, dass es sich bei diesen Richtlinien um eigenständige Richtlinien handelt, d. h., Sie fügen diese Richtlinien keiner Rolle hinzu. Stattdessen fügen Sie einem Transfer Family Family-Benutzer direkt eine Sitzungsrichtlinie hinzu.

Anmerkung

Wenn Sie einen vom Dienst verwalteten Transfer Family Family-Benutzer erstellen, können Sie die Option Richtlinie automatisch auf Basis des Basisordners generieren auswählen. Dies ist eine nützliche Tastenkombination, wenn Sie den Benutzerzugriff auf ihre eigenen Ordner einschränken möchten. Einzelheiten zu Sitzungsrichtlinien und ein Beispiel finden Sie auch unterSo funktionieren Sitzungsrichtlinien. Weitere Informationen zu Sitzungsrichtlinien finden Sie auch unter Sitzungsrichtlinien im IAM-Benutzerhandbuch.

Eine Benutzerrolle erstellen

Wenn Sie einen Benutzer erstellen, treffen Sie eine Reihe von Entscheidungen über den Benutzerzugriff. Zu diesen Entscheidungen gehört, auf welche Amazon S3 S3-Buckets oder Amazon EFS-Dateisysteme der Benutzer zugreifen kann, auf welche Teile jedes Amazon S3 S3-Buckets und auf welche Dateien im Dateisystem zugegriffen werden kann und welche Berechtigungen der Benutzer hat (z. B. PUT oderGET).

Um den Zugriff festzulegen, erstellen Sie eine identitätsbasierte AWS Identity and Access Management (IAM) -Richtlinie und Rolle, die diese Zugriffsinformationen bereitstellen. Im Rahmen dieses Prozesses gewähren Sie Ihrem Benutzer Zugriff auf den Amazon S3-Bucket oder das Amazon EFS-Dateisystem, das das Ziel oder die Quelle für Dateioperationen ist. Die folgenden grundlegenden Schritte, die im Weiteren detailliert erläutert werden, skizzieren das Verfahren:

Eine Benutzerrolle erstellen
  1. Erstellen Sie eine IAM-Richtlinie für AWS Transfer Family. Dies wird unter beschrieben. Um eine IAM-Richtlinie zu erstellen für AWS Transfer Family

  2. Erstellen Sie eine IAM-Rolle und fügen Sie die neue IAM-Richtlinie an. Ein Beispiel finden Sie unter Beispiel für eine Lese-/Schreibzugriffsrichtlinie.

  3. Stellen Sie eine Vertrauensbeziehung zwischen AWS Transfer Family und der IAM-Rolle her. Dies wird unter beschrieben. So stellen Sie eine Vertrauensbeziehung her

In den folgenden Verfahren wird beschrieben, wie Sie eine IAM-Richtlinie und -Rolle erstellen.

Um eine IAM-Richtlinie zu erstellen für AWS Transfer Family
  1. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich Policies (Richtlinien) und dann Create policy (Richtlinie erstellen).

  3. Wählen Sie auf der Seite Create Policy (Richtlinie erstellen) die Registerkarte JSON aus.

  4. Ersetzen Sie im daraufhin angezeigten Editor den Inhalt des Editors durch die IAM-Richtlinie, die Sie der IAM-Rolle zuordnen möchten.

    Sie können Lese-/Schreibzugriff gewähren oder Benutzern den Zugriff auf ihr Home-Verzeichnis einschränken. Weitere Informationen finden Sie unter Beispiel für eine Lese-/Schreibzugriffsrichtlinie.

  5. Wählen Sie Richtlinie überprüfen aus, geben Sie einen Namen und eine Beschreibung für Ihre Richtlinie ein und wählen Sie dann Richtlinie erstellen aus.

Nun erstellen Sie eine IAM-Rolle und fügen an diese die neue IAM-Richtlinie an.

Um eine IAM-Rolle zu erstellen für AWS Transfer Family
  1. Wählen Sie im Navigationsbereich Roles (Rollen) und dann Create role (Rolle erstellen).

    Vergewissern Sie sich, dass auf der Seite Rolle erstellen der AWS Dienst ausgewählt ist.

  2. Wählen Sie in der Service-Liste Transfer (Übertragung) und dann Next: Permissions (Weiter: Berechtigungen) aus. Dadurch wird eine Vertrauensbeziehung zwischen AWS Transfer Family und hergestellt AWS.

  3. Suchen Sie im Abschnitt Berechtigungsrichtlinien anhängen nach der Richtlinie, die Sie gerade erstellt haben, wählen Sie sie aus und klicken Sie dann auf Weiter: Tags.

  4. (Optional) Geben Sie einen Schlüssel und einen Wert für ein Tag ein und wählen Sie Next: Review (Weiter: Prüfen) aus.

  5. Geben Sie auf der Seite Review (Prüfen) einen Namen und eine Beschreibung für die neue Rolle ein und wählen Sie dann Create role (Rolle erstellen) aus.

Als Nächstes richten Sie eine Vertrauensbeziehung zwischen AWS Transfer Family und ein AWS.

So stellen Sie eine Vertrauensbeziehung her
Anmerkung

In unseren Beispielen verwenden wir ArnLike sowohl als auchArnEquals. Sie sind funktionell identisch, weshalb Sie beide verwenden können, wenn Sie Ihre Richtlinien erstellen. Die Dokumentation Transfer Family verwendetArnLike, wenn die Bedingung ein Platzhalterzeichen enthält, und ArnEquals um eine exakte Übereinstimmungsbedingung anzugeben.

  1. Wählen Sie in der IAM-Konsole die von Ihnen eben erstellte Rolle aus.

  2. Wählen Sie auf der Seite Summary (Übersicht) die Option Trust relationships (Vertrauensbeziehungen) und anschließend Edit trust relationship (Vertrauensbeziehung bearbeiten) aus.

  3. Stellen Sie im Editor „Vertrauensverhältnis bearbeiten“ sicher, dass der Dienst aktiviert ist"transfer.amazonaws.com". Die Zugriffsrichtlinie wird im Folgenden dargestellt.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    Wir empfehlen Ihnen, die Tasten aws:SourceAccount und aws:SourceArn Condition zu verwenden, um sich vor dem Problem mit dem verwirrten Stellvertreter zu schützen. Das Quellkonto ist der Besitzer des Servers und der Quell-ARN ist der ARN des Benutzers. Beispielsweise:

    "Condition": { "StringEquals": { "aws:SourceAccount": "account_id" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region:account_id:user/*" } }

    Sie können die ArnLike Bedingung auch verwenden, wenn Sie die Einschränkung auf einen bestimmten Server statt auf einen beliebigen Server im Benutzerkonto vornehmen möchten. Beispielsweise:

    "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region:account-id:user/server-id/*" } }
    Anmerkung

    Ersetzen Sie in den obigen Beispielen jeden Platzhalter für Benutzereingaben durch Ihre eigenen Informationen.

    Einzelheiten zum Problem mit dem verwirrten Stellvertreter und weitere Beispiele finden Sie unterServiceübergreifende Confused-Deputy-Prävention.

  4. Wählen Sie „Vertrauensrichtlinie aktualisieren“, um die Zugriffsrichtlinie zu aktualisieren.

Sie haben jetzt eine IAM-Rolle erstellt, die es AWS Transfer Family ermöglicht, AWS Dienste in Ihrem Namen aufzurufen. Sie haben der Rolle die IAM-Richtlinie angehängt, die Sie erstellt haben, um Ihrem Benutzer Zugriff zu gewähren. In diesem Erste Schritte mit AWS Transfer Family Serverendpunkten Abschnitt werden diese Rolle und Richtlinie Ihrem oder Ihren Benutzern zugewiesen.

Informationen finden Sie auch unter:

So funktionieren Sitzungsrichtlinien

Wenn ein Administrator eine Rolle erstellt, umfasst die Rolle häufig umfassende Berechtigungen, die mehrere Anwendungsfälle oder Teammitglieder abdecken. Wenn ein Administrator eine Konsolen-URL konfiguriert, kann er mithilfe einer Sitzungsrichtlinie die Berechtigungen für die resultierende Sitzung reduzieren. Wenn Sie beispielsweise eine Rolle mit Lese-/Schreibzugriff erstellen, können Sie eine URL einrichten, die den Zugriff der Benutzer nur auf ihre Home-Verzeichnisse beschränkt.

Sitzungsrichtlinien sind erweiterte Richtlinien, die Sie als Parameter übergeben, wenn Sie programmgesteuert eine temporäre Sitzung für eine Rolle oder einen Benutzer erstellen. Sitzungsrichtlinien sind nützlich, um Benutzer zu sperren, sodass sie nur Zugriff auf Bereiche Ihres Buckets haben, in denen Objektpräfixe ihren Benutzernamen enthalten. Das folgende Diagramm zeigt, dass die Berechtigungen der Sitzungsrichtlinie die Schnittmenge der Sitzungsrichtlinien und der ressourcenbasierten Richtlinien sowie die Schnittmenge der Sitzungsrichtlinien und identitätsbasierten Richtlinien bilden.

Venn-Diagramm der Sitzungsrichtlinienberechtigungen. Zeigt, wie effektiv Berechtigungen an den Schnittstellen von ressourcenbasierten Richtlinien, identitätsbasierten Richtlinien und Sitzungsrichtlinien liegen.

Weitere Informationen finden Sie unter Sitzungsrichtlinien im IAM-Benutzerhandbuch.

In AWS Transfer Family, eine Sitzungsrichtlinie wird nur unterstützt, wenn Sie zu oder von Amazon S3 übertragen. Die folgende Beispielrichtlinie ist eine Sitzungsrichtlinie, die den Zugriff von Benutzern nur auf ihre home Verzeichnisse beschränkt. Beachten Sie Folgendes:

  • Die PutObjectACL Anweisungen GetObjectACL und sind nur erforderlich, wenn Sie den kontenübergreifenden Zugriff aktivieren müssen. Das heißt, Ihr Transfer Family Family-Server muss auf einen Bucket in einem anderen Konto zugreifen.

  • Die maximale Länge einer Sitzungsrichtlinie beträgt 2048 Zeichen. Weitere Informationen finden Sie unter dem Anforderungsparameter Policy für die CreateUser Aktion in der API-Referenz.

  • Wenn Ihr Amazon S3 S3-Bucket mit AWS Key Management Service (AWS KMS) verschlüsselt ist, müssen Sie in Ihrer Richtlinie zusätzliche Berechtigungen angeben. Details hierzu finden Sie unter Datenverschlüsselung in Amazon S3.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::${transfer:HomeBucket}" ], "Condition": { "StringLike": { "s3:prefix": [ "${transfer:HomeFolder}/*", "${transfer:HomeFolder}" ] } } }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::${transfer:HomeDirectory}/*" } ] }
Anmerkung

Im obigen Richtlinienbeispiel wird davon ausgegangen, dass die Home-Verzeichnisse der Benutzer so eingestellt sind, dass sie einen abschließenden Schrägstrich enthalten, um anzuzeigen, dass es sich um ein Verzeichnis handelt. Wenn Sie dagegen das eines Benutzers HomeDirectory ohne den abschließenden Schrägstrich angeben, sollten Sie es als Teil Ihrer Richtlinie einbeziehen.

Beachten Sie in der vorherigen Beispielrichtlinie die Verwendung der transfer:HomeFolder transfer:HomeDirectory Richtlinienparametertransfer:HomeBucket, und. Diese Parameter werden für den festgelegtHomeDirectory, der für den Benutzer konfiguriert ist, wie unter HomeDirectoryund beschriebenImplementierung Ihrer API-Gateway-Methode. Diese Parameter haben die folgenden Definitionen:

  • Der transfer:HomeBucket Parameter wird durch die erste Komponente von ersetztHomeDirectory.

  • Der transfer:HomeFolder Parameter wird durch die verbleibenden Teile des HomeDirectory Parameters ersetzt.

  • Für den transfer:HomeDirectory Parameter wurde der führende Schrägstrich (/) entfernt, sodass er als Teil eines S3-Amazon-Ressourcennamens (ARN) in einer Resource Anweisung verwendet werden kann.

Anmerkung

Wenn Sie logische Verzeichnisse verwenden, also die Verzeichnisse des homeDirectoryType Benutzers, werden LOGICAL diese Richtlinienparameter (HomeBucketHomeDirectory, undHomeFolder) nicht unterstützt.

Nehmen wir beispielsweise an, dass der HomeDirectory Parameter, der für den Transfer Family Family-Benutzer konfiguriert ist/home/bob/amazon/stuff/,

  • transfer:HomeBucketist auf eingestellt/home.

  • transfer:HomeFolderist auf gesetzt/bob/amazon/stuff/.

  • transfer:HomeDirectorywirdhome/bob/amazon/stuff/.

Die erste "Sid" ermöglicht es dem Benutzer, alle Verzeichnisse aufzulisten, beginnend mit/home/bob/amazon/stuff/.

Die zweite "Sid" schränkt den get Zugriff des Benutzers put auf denselben Pfad ein,/home/bob/amazon/stuff/.

Beispiel für eine Lese-/Schreibzugriffsrichtlinie

Lese-/Schreibzugriff auf den Amazon S3 S3-Bucket gewähren

Die folgende Beispielrichtlinie für AWS Transfer Family gewährt Lese-/Schreibzugriff auf Objekte in Ihrem Amazon S3 S3-Bucket.

Beachten Sie Folgendes:

  • Ersetzen Sie DOC-EXAMPLE-BUCKET durch den Namen Ihres Amazon-S3-Buckets.

  • Die PutObjectACL Anweisungen GetObjectACL und sind nur erforderlich, wenn Sie den kontoübergreifenden Zugriff aktivieren müssen. Das heißt, Ihr Transfer Family Family-Server muss auf einen Bucket in einem anderen Konto zugreifen.

  • Die DeleteObjectVersion Anweisungen GetObjectVersion und sind nur erforderlich, wenn die Versionierung für den Amazon S3 S3-Bucket aktiviert ist, auf den zugegriffen wird.

    Anmerkung

    Wenn Sie jemals die Versionierung für Ihren Bucket aktiviert haben, benötigen Sie diese Berechtigungen, da Sie die Versionierung in Amazon S3 nur aussetzen und nicht vollständig ausschalten können. Weitere Informationen finden Sie unter Buckets ohne Version, mit aktivierter Versionsverwaltung und Sperrung der Versionierung.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" } ] }
Dateisystemzugriff auf Dateien im Amazon EFS-Dateisystem gewähren

Anmerkung

Zusätzlich zur Richtlinie müssen Sie auch sicherstellen, dass Ihre POSIX-Dateiberechtigungen den entsprechenden Zugriff gewähren. Weitere Informationen finden Sie unter Arbeiten mit Benutzern, Gruppen und Berechtigungen auf Netzwerkdateisystem (NFS)-Ebene im Benutzerhandbuch für Amazon Elastic File System.

Die folgende Beispielrichtlinie gewährt Root-Dateisystemzugriff auf Dateien in Ihrem Amazon EFS-Dateisystem.

Anmerkung

Ersetzen Sie in den folgenden Beispielen region durch Ihre Region, account-id durch das Konto, in dem sich die Datei befindet, und file-system-iddurch die ID Ihres Amazon Elastic File System (Amazon EFS).

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RootFileSystemAccess", "Effect": "Allow", "Action": [ "elasticfilesystem:ClientRootAccess", "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Resource": "arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id" } ] }

Die folgende Beispielrichtlinie gewährt Benutzerdateisystemzugriff auf Dateien in Ihrem Amazon EFS-Dateisystem.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UserFileSystemAccess", "Effect": "Allow", "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Resource": "arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id" } ] }