Erstellen Sie eine IAM Rolle und eine 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 eine 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 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-Benutzers anARN.

  • 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-ServersARN.

  • 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-ServersARN. Für ausgehende AS2 Übertragungen verwendet die Protokollierungsrolle den ConnectorARN.

  • Ausführungsrolle — Ermöglicht es einem Transfer Family Family-Benutzer, Workflows aufzurufen und zu starten. Transfer Family übernimmt diese Rolle im Rahmen eines Workflows zum Transfer FamilyARN.

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 IAMBenutzerhandbuch.

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 EFS Amazon-Dateisysteme der Benutzer zugreifen kann, auf welche Teile jedes Amazon 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 S3-Bucket oder das EFS Amazon-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 beschriebenUm eine IAM Richtlinie zu erstellen für AWS Transfer Family.

  2. Erstellen Sie eine IAM Rolle und hängen 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 beschriebenSo stellen Sie eine Vertrauensbeziehung her.

In den folgenden Verfahren wird beschrieben, wie eine IAM Richtlinie und eine Rolle erstellt werden.

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 „Richtlinie erstellen JSON“ die Registerkarte 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.

Als Nächstes erstellen Sie eine IAM Rolle und fügen ihr die neue IAM Richtlinie hinzu.

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 Rolle aus, die Sie gerade erstellt haben.

  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 Eigentümer des Servers und die Quelle ARN ist das Konto 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 user input placeholder mit Ihren 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, mit der AWS Transfer Family Sie AWS Dienste in Ihrem Namen anrufen können. 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 Konsole konfiguriertURL, kann er mithilfe einer Sitzungsrichtlinie die Berechtigungen für die daraus resultierende Sitzung reduzieren. Wenn Sie beispielsweise eine Rolle mit Lese-/Schreibzugriff erstellen, können Sie eine einrichten, URL die den Benutzerzugriff 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 Benutzerhandbuch. IAM

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 in der APIReferenz unter dem Richtlinienanforderungsparameter für die CreateUser Aktion.

  • 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 beschriebenImplementieren Sie Ihre 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 das Verzeichnis 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 DOC-EXAMPLE-BUCKET mit dem Namen Ihres Amazon S3 S3-Buckets.

  • Die PutObjectACL Kontoauszüge 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 EFS Amazon-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 Netzwerk-Dateisystemebene (NFS) im Amazon Elastic File System-Benutzerhandbuch.

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

Anmerkung

Ersetzen Sie in den folgenden Beispielen region mit Ihrer Region account-id mit dem Konto, in dem sich die Datei befindet, und file-system-id mit der ID Ihres Amazon Elastic File System (AmazonEFS).

{ "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 EFS Amazon-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" } ] }