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 verwenden Sie POSIX DateiberechtigungenEFS, 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 hat dieselbe IAM Rolle.
Anmerkung
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.
Verwenden Sie die folgenden Richtlinienvariablen in Ihrer Richtlinie, um eine IAM 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 Benutzernamen, der von benötigt wird AWS Transfer Family.
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 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 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 das Verzeichnis 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/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 AssumeRoleWithSAML, und AssumeRoleWithWebIdentity im IAMBenutzerhandbuch.
Anmerkung
AWS Transfer Family speichert die Richtlinie 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)"