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.
Steuern Sie den Client-Zugriff auf ein S3 Files-Dateisystem
In diesem Thema wird beschrieben, wie Sie mithilfe von Dateisystemrichtlinien, IAM-Identitätsrichtlinien und Netzwerkkontrollen steuern können, welche Clients auf Ihr S3 Files-Dateisystem zugreifen können und über welche Zugriffspunkte.
S3-Files-Zugangspunkte
Zugriffspunkte für S3 Files sind anwendungsspezifische Einstiegspunkte in ein Dateisystem, die die Verwaltung des Datenzugriffs in großem Umfang vereinfachen. Sie können Access Points verwenden, um Benutzeridentitäten und Berechtigungen für alle Dateisystemanfragen durchzusetzen, die über den Access Point gestellt werden, und Clients darauf beschränken, nur auf Daten innerhalb eines bestimmten Stammverzeichnisses und seiner Unterverzeichnisse zuzugreifen.
Access Points legen fest, was ein Client im Dateisystem tun kann. Sie legen nicht fest, welche Clients sie verwenden können. Jede Rolle in Ihrem Konto mit entsprechender s3files:ClientMount Genehmigung kann über jeden Zugriffspunkt im Dateisystem bereitgestellt werden, sofern dies nicht durch eine Dateisystemrichtlinie eingeschränkt wird. Um zu kontrollieren, welche Clients welchen Access Point verwenden können, kombinieren Sie drei Ebenen: Netzwerkkontrollen (verhindern die Verbindung), eine Dateisystem-Ressourcenrichtlinie (explizite Ablehnung, die Änderungen der Identitätsrichtlinie übersteht) und eine IAM-Identitätsrichtlinie (geringste Rechte für die Rolle).
S3 Files wertet bei jedem Mount die Dateisystemrichtlinie aus s3files:ClientMounts3files:ClientWrite, und s3files:ClientRootAccess anhand der Dateisystemrichtlinie. Der s3files:AccessPointArn Bedingungsschlüssel wird auch bei jedem Mount ausgewertet, sodass Sie eine einzige Deny-Anweisung schreiben können, die den Zugriff über einen beliebigen Zugriffspunkt außer dem von Ihnen angegebenen blockiert. Wenn eine erforderliche Aktion verweigert oder nicht gewährt wird, schlägt das Einhängen fehl, bevor irgendwelche Dateioperationen ausgeführt werden. In den folgenden beiden Abschnitten werden die beiden allgemeinen Anforderungen behandelt: Beschränkung eines Workloads auf einen bestimmten Zugriffspunkt und Verweigerung des Zugriffs eines Workloads auf das Dateisystem insgesamt.
Beschränken Sie den Zugriff auf einen bestimmten Zugriffspunkt
Dieses Muster gilt, wenn eine Rolle (z. B. eine EC2-Instanzrolle oder eine ECS-Taskrolle) das Dateisystem nur über einen Zugriffspunkt mounten muss. Der Bedingungsschlüssel ists3files:AccessPointArn. Die Richtlinie erfordert sowohl eine Allow für den vorgesehenen Zugriffspunkt als auch eine explizite Deny für jeden anderen Zugriffspunkt. IAM-Genehmigungen gelten für Identitäts- und Ressourcenrichtlinien additiv. Ohne eine ausdrückliche Ablehnung kann eine separate Richtlinie den Zugriff auf einen anderen Zugriffspunkt gewähren.
Beispiel für eine Dateisystemrichtlinie:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowComputeAOnlyViaSpecificAP", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT:role/compute-a-role" }, "Action": [ "s3files:ClientMount", "s3files:ClientWrite" ], "Condition": { "StringEquals": { "s3files:AccessPointArn": "arn:aws:s3files:REGION:ACCOUNT:file-system/fs-ID/access-point/fsap-ID" } } }, { "Sid": "DenyComputeAIfWrongAP", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::ACCOUNT:role/compute-a-role" }, "Action": "s3files:Client*", "Condition": { "StringNotEquals": { "s3files:AccessPointArn": "arn:aws:s3files:REGION:ACCOUNT:file-system/fs-ID/access-point/fsap-ID" } } } ] }
Die Rolle darf nur compute-a-role bereitgestellt und geschrieben werden, wenn die Anfrage an das Ziel gerichtet istfsap-ID, und wird auf allen anderen Zugriffspunkten in diesem Dateisystem ausdrücklich verweigert. Eine ausdrückliche Ablehnung in einer Ressourcenrichtlinie kann nicht durch Identitätsrichtlinien außer Kraft gesetzt werden. Daher gilt diese Einschränkung auch dann, wenn der Rolle später eine umfassendere IAM-Richtlinie zugewiesen wird.
Mount-Befehl:
sudo mount -t s3files -o accesspoint=fsap-ID fs-ID:/ /mnt/s3files
Verweigern Sie einen Workload-Zugriff über einen beliebigen Zugriffspunkt
Dieses Muster gilt, wenn sich eine Rolle ein Konto mit einem S3 Files-Dateisystem teilt, es aber nicht über einen Zugriffspunkt oder direkt bereitstellen darf. Um die gesamte Nutzung von Access Points zu blockieren, wenden Sie drei Ebenen an, die von der stärksten zur schwächsten Isolationsgarantie angeordnet sind.
1. Netzwerksteuerungen. Entfernen Sie die Sicherheitsgruppenregel, die den Instanzen Zugriff auf das Mount-Ziel am TCP-Port 2049 gewährtcompute-b-role. Netzwerksteuerungen sind die widerstandsfähigste Schicht, da sie den Mount-Versuch verhindern, bevor Anmeldeinformationen ausgetauscht werden. Selbst wenn eine falsch konfigurierte Richtlinie Mount-Berechtigungen gewährt, kann die NFS-Verbindung das Mount-Ziel nicht erreichen.
2. Explizite Ablehnung in der Dateisystemrichtlinie. Eine Deny-Anweisung in der Dateisystemrichtlinie lehnt das Einhängen ab, auch wenn der Rolle später umfassendere IAM-Berechtigungen gewährt werden. Eine Dateisystem-Ressourcenrichtlinie sieht eine Ablehnung vor, die auch dann bestehen bleibt, wenn jemand die Identitätsrichtlinien der Rolle iam:PutRolePolicy ändert. Nur Principals mit s3files:PutFileSystemPolicy können diese Ebene ändern.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyComputeBOnFileSystem", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::ACCOUNT:role/compute-b-role" }, "Action": "s3files:Client*", "Resource": "*" } ] }
3. IAM-Identitätsrichtlinie. Erteilen Sie der Rolle keine s3files:Client* Berechtigungen. Dies ist die letzte Ebene, die am einfachsten falsch konfiguriert werden iam:PutRolePolicy kann, da jeder Administrator einer Rolle Mount-Berechtigungen erteilen kann.
Ohne eine Dateisystemrichtlinie kann jede Rolle über einen beliebigen Zugriffspunkt bereitgestellt werden
Eine Dateisystem-Ressourcenrichtlinie sieht eine Sperre vor, die nicht von jemandem entfernt werden kann, der nur die Erlaubnis hat, Identitätsrichtlinien zu ändern. Ohne eine Dateisystemrichtlinie kann jede Rolle, die s3files:ClientMount in ihrer Identitätsrichtlinie enthalten ist, über einen beliebigen Zugriffspunkt im Dateisystem bereitgestellt werden. Wir empfehlen, dass Sie jedem Dateisystem mit einer Deny-Baseline eine Dateisystemrichtlinie hinzufügen und dann pro Workload Zulassungsanweisungen hinzufügen.
Bewährte Methoden für die Isolierung von Access Points
In der folgenden Tabelle sind empfohlene Ansätze für allgemeine Ziele zur Isolierung von Zugriffspunkten zusammengefasst.
| Ziel | Empfohlener Ansatz |
|---|---|
| Beschränken Sie einen Workload auf einen einzelnen Access Point | Erlauben Sie die Rolle auf dem spezifischen Zugriffspunkt-ARN sowie eine ausdrückliche Ablehnung auf jedem anderen Zugriffspunkt. Weitere Informationen finden Sie unter „Zugriff auf einen bestimmten Access Point einschränken“. |
| Blockieren Sie das Mounten des Dateisystems durch eine Rolle in demselben Konto | Entfernen Sie den Netzwerkzugriff auf Port 2049, verweigern Sie ihn in der Dateisystemrichtlinie und gewähren Sie ihn nicht in IAM. |
| Mehrere Workloads auf demselben Dateisystem, die jeweils auf ihren eigenen Zugriffspunkt beschränkt sind | Behalten Sie in der Dateisystemrichtlinie ein Paar „Zulassen und Verweigern“ pro Rolle bei, wobei jedes Paar auf einen anderen Zugriffspunkt-ARN ARN ist. |
| Cross-account Zugriff über einen Zugriffspunkt | Verwenden Sie die Dateisystemrichtlinie, um die kontoübergreifende Rolle für den spezifischen Zugriffspunkt-ARN zu gewähren. Verlassen Sie sich nicht nur auf Identitätsrichtlinien. |