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.
Sitzungsrichtlinie für einen Amazon S3 S3-Bucket erstellen
Eine Sitzungsrichtlinie ist eine AWS Identity and Access Management (IAM) -Richtlinie, die Benutzer auf bestimmte Bereiche eines Amazon S3 S3-Buckets beschränkt. Dies geschieht durch Evaluierung des Zugriffs in Echtzeit.
Anmerkung
Sitzungsrichtlinien werden nur mit Amazon S3 verwendet. Für Amazon EFS verwenden Sie POSIX-Dateiberechtigungen, um den Zugriff einzuschränken.
Sie können eine Sitzungsrichtlinie verwenden, wenn Sie einer Benutzergruppe denselben Zugriff auf einen bestimmten Teil Ihres Amazon S3 S3-Buckets gewähren müssen. Eine Gruppe von Benutzern soll beispielsweise nur auf das home
-Verzeichnis zugreifen können. Diese Benutzergruppe teilt sich dieselbe IAM-Rolle.
Anmerkung
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.
Verwenden Sie die folgenden Richtlinienvariablen in Ihrer IAM-Richtlinie, um eine Sitzungsrichtlinie zu erstellen:
-
${transfer:HomeBucket}
-
${transfer:HomeDirectory}
-
${transfer:HomeFolder}
-
${transfer:UserName}
Wichtig
Sie können die oben genannten Variablen nicht in verwalteten Richtlinien verwenden. Sie können sie auch nicht als Richtlinienvariablen in einer IAM-Rollendefinition verwenden. Sie erstellen diese Variablen in einer IAM-Richtlinie und geben sie direkt bei der Einrichtung Ihres Benutzers an. Außerdem können Sie die ${aws:Username}
Variable in dieser Sitzungsrichtlinie nicht verwenden. Diese Variable bezieht sich auf einen IAM-Benutzernamen und nicht auf den von AWS Transfer Family erforderlichen Benutzernamen.
Der folgende Code zeigt ein Beispiel für eine Sitzungsrichtlinie.
{ "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:DeleteObjectVersion", "s3:DeleteObject", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::${transfer:HomeDirectory}/*" } ] }
Anmerkung
Im obigen Richtlinienbeispiel wird davon ausgegangen, dass die Basisverzeichnisse 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 in Ihre Richtlinie aufnehmen.
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 desHomeDirectory
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 einerResource
Anweisung verwendet werden kann.
Anmerkung
Wenn Sie logische Verzeichnisse verwenden, also die Verzeichnisse des homeDirectoryType
Benutzers, werden LOGICAL
diese Richtlinienparameter (HomeBucket
HomeDirectory
, undHomeFolder
) nicht unterstützt.
Nehmen wir beispielsweise an, dass der HomeDirectory
Parameter, der für den Transfer Family Family-Benutzer konfiguriert ist, lautet/home/bob/amazon/stuff/
.
transfer:HomeBucket
ist auf eingestellt/home
.transfer:HomeFolder
ist auf gesetzt/bob/amazon/stuff/
.transfer:HomeDirectory
wirdhome/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/
.
Wenn die oben genannte Richtlinie gilt, kann ein Benutzer, wenn er sich anmeldet, nur auf Objekte in seinem Home-Verzeichnis zugreifen. AWS Transfer Family Ersetzt diese Variablen beim Verbindungsaufbau durch die entsprechenden Werte für den Benutzer. Dies erleichtert die Verwendung von Richtliniendokumenten für mehrere Benutzer. Dieser Ansatz reduziert den Aufwand für die IAM-Rollen- und Richtlinienverwaltung für die Verwaltung des Zugriffs Ihrer Benutzer auf Ihren Amazon S3 S3-Bucket.
Sie können auch eine Sitzungsrichtlinie verwenden, um den Zugriff für jeden Ihrer Benutzer an Ihre Geschäftsanforderungen anzupassen. Weitere Informationen finden Sie unter Berechtigungen für AssumeRole, AssumeRoleWith SAML und AssumeRoleWithWebIdentity im IAM-Benutzerhandbuch.
Anmerkung
AWS Transfer Family speichert den Richtlinien-JSON anstelle des Amazon-Ressourcennamens (ARN) der Richtlinie. Wenn Sie also die Richtlinie in der IAM-Konsole ändern, müssen Sie zur AWS Transfer Family Konsole zurückkehren und Ihre Benutzer über die neuesten Richtlinieninhalte informieren. Sie können den Benutzer auf der Registerkarte Richtlinieninformationen im Abschnitt Benutzerkonfiguration aktualisieren.
Wenn Sie den verwenden AWS CLI, können Sie den folgenden Befehl verwenden, um die Richtlinie zu aktualisieren.
aws transfer update-user --server-id
server
--user-nameuser
--policy \ "$(aws iam get-policy-version --policy-arnpolicy
--version-idversion
--output json)"