View a markdown version of this page

Voraussetzungen für S3-Dateien - Amazon Simple Storage Service

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.

Voraussetzungen für S3-Dateien

Bevor Sie mit der Verwendung von S3-Dateien beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben.

AWS Konto- und Recheneinrichtung

  • Sie haben ein AWS Konto.

  • Sie haben eine Rechenressource und einen S3-Allzweck-Bucket in AWS der gewünschten Region, in der Sie Ihr Dateisystem erstellen möchten. Weitere Informationen finden Sie unter Erstellen eines Allzweck-Buckets.

  • Für Ihren S3-Bucket ist die Versionierung aktiviert. Für S3 Files ist die S3-Versionierung erforderlich, um Änderungen zwischen Ihrem Dateisystem und Ihrem S3-Bucket zu synchronisieren. Weitere Informationen finden Sie unter Aktivieren des Versioning für Buckets.

  • Ihr S3-Bucket muss einen der folgenden Verschlüsselungstypen verwenden: Server-side Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) oder Server-side Verschlüsselung mit AWS Key Management Service (AWS KMS) -Schlüsseln (SSE-KMS).

S3-Dateien-Client

Um S3 Files mit Amazon EC2 zu verwenden, müssen Sie den Client installierenamazon-efs-utils, eine gemeinsam genutzte Open-Source-Sammlung von Tools für Amazon EFS und Amazon S3 Files. Um mit S3-Dateien arbeiten zu können, benötigen Sie amazon-efs-utils Version 3.0.0 oder höher. Der Client enthält ein Mount-Hilfsprogramm, das das Mounten von S3-Dateisystemen vereinfacht und CloudWatch Amazon-Metriken zur Überwachung des Mount-Status Ihres Dateisystems ermöglicht.

Schritt 1: Installieren Sie den Client

  • Greifen Sie über Secure Shell (SSH) auf das Terminal für Ihre Amazon EC2-Instance zu und melden Sie sich mit dem entsprechenden Benutzernamen an. Weitere Informationen finden Sie im Amazon Elastic Compute Cloud-Benutzerhandbuch unter Stellen Sie eine Verbindung zu Ihrer EC2-Instance her.

  • Wenn Sie Amazon Linux verwenden, gehen Sie wie folgt vor, um efs-utils aus den Repositorys von Amazon zu installieren:

    sudo yum -y install amazon-efs-utils
  • Wenn Sie andere unterstützte Linux-Distributionen verwenden, können Sie Folgendes tun:

    curl https://amazon-efs-utils.aws.com/efs-utils-installer.sh | sudo sh -s -- --install
  • Informationen zu anderen Linux-Distributionen finden Sie unter Über andere Linux-Distributionen in der README-Datei von amazon-efs-utils. GitHub

Schritt 2: Installieren Sie Botocore

Der amazon-efs-utils Client verwendet Botocore, um mit anderen Diensten zu interagieren. AWS Beispielsweise müssen Sie Botocore installieren, um Amazon zur Überwachung Ihres Dateisystems verwenden CloudWatch zu können. Anweisungen zur Installation und Aktualisierung von Botocore finden Sie unter Installation von Botocore in der README-Datei von amazon-efs-utils unter. GitHub

FIPS-Modus für S3-Dateien aktivieren

Wenn Sie die Federal Information Processing Standards (FIPS) einhalten müssen, müssen Sie den FIPS-Modus im Client aktivieren. Um den FIPS-Modus zu aktivieren, müssen Sie die s3files-utils.conf Datei auf dem Betriebssystem ändern.

Gehen Sie wie folgt vor, um den FIPS-Modus im Client für S3-Dateien zu aktivieren:

  1. Öffnen Sie mit einem Texteditor Ihrer Wahl die Datei /etc/amazon/efs/s3files-utils.conf.

  2. Suchen Sie die Zeile mit dem folgenden Text:

    fips_mode_enabled = false
  3. Ändern Sie den Text wie folgt:

    fips_mode_enabled = true
  4. Speichern Sie Ihre Änderungen.

IAM-Rollen und -Richtlinien

Um S3-Dateien verwenden zu können, müssen Sie IAM-Rollen und angehängte Richtlinien für zwei Zwecke konfigurieren:

  • Vom Dateisystem aus auf Ihren Bucket zugreifen

  • Ihr Dateisystem an AWS Rechenressourcen anhängen

IAM-Rolle für den Zugriff auf Ihren Bucket vom Dateisystem aus

Wenn Sie ein S3 Files-Dateisystem erstellen, geben Sie eine IAM-Rolle an, von der S3 Files annimmt, dass sie aus Ihrem S3-Bucket liest und in diesen schreibt. Diese Rolle gewährt S3 Files die Berechtigung, Änderungen zwischen Ihrem Dateisystem und Ihrem Bucket zu synchronisieren, einschließlich EventBridge Amazon-Regeln, die die Synchronisation auslösen. Sie müssen auch sicherstellen, dass Ihre S3-Bucket-Richtlinie den Zugriff auf Ihre Rechenressourcen nicht verweigert.

Für S3-Dateien ist die S3-Versionierung in Ihrem Bucket erforderlich. Es verwendet versionsspezifische API-Operationen wie s3:GetObjectVersion und s3:GetObjectVersionTagging zusätzlich zu. s3:GetObject Die folgende Richtlinie verwendet Platzhalter (z. B. s3:GetObject* anstelle vons3:GetObject), um sowohl versionierte als auch nicht versionierte Aktionen abzudecken.

Anmerkung

Wenn Sie mithilfe der AWS Management Console ein Dateisystem erstellen, erstellt S3 Files automatisch diese IAM-Rolle mit den erforderlichen Berechtigungen.

Für diese IAM-Rolle ist Folgendes erforderlich:

  • Eine Inline-Richtlinie wie folgt:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "S3BucketPermissions", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:ListBucketVersions" ], "Resource": "arn:aws:s3:::bucket", "Condition": { "StringEquals": { "aws:ResourceAccount": "accountId" } } }, { "Sid": "S3ObjectPermissions", "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject*", "s3:GetObject*", "s3:List*", "s3:PutObject*" ], "Resource": "arn:aws:s3:::bucket/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "accountId" } } }, { "Sid": "UseKmsKeyWithS3Files", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Encrypt", "kms:Decrypt", "kms:ReEncryptFrom", "kms:ReEncryptTo" ], "Condition": { "StringLike": { "kms:ViaService": "s3.region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::bucket", "arn:aws:s3:::bucket/*" ] } }, "Resource": "arn:aws:kms:region:accountId:*" }, { "Sid": "EventBridgeManage", "Effect": "Allow", "Action": [ "events:DeleteRule", "events:DisableRule", "events:EnableRule", "events:PutRule", "events:PutTargets", "events:RemoveTargets" ], "Condition": { "StringEquals": { "events:ManagedBy": "elasticfilesystem.amazonaws.com" } }, "Resource": [ "arn:aws:events:*:*:rule/DO-NOT-DELETE-S3-Files*" ] }, { "Sid": "EventBridgeRead", "Effect": "Allow", "Action": [ "events:DescribeRule", "events:ListRuleNamesByTarget", "events:ListRules", "events:ListTargetsByRule" ], "Resource": [ "arn:aws:events:*:*:rule/*" ] } ] }

    Ersetzen Sie die Platzhalterwerte durch Ihre eigenen Werte.

    #PlaceholderDescriptionBeispiel
    1bucketDer Name Ihres S3-Bucketsmein-Bucket
    2regionDie AWS Region Ihres Eimersus-east-1
    3accountIdDeine AWS Konto-ID123456789012
  • Eine Vertrauensrichtlinie, die es S3 Files ermöglicht, die IAM-Rolle zu übernehmen. Fügen Sie der IAM-Rolle die folgende Vertrauensrichtlinie hinzu, damit der S3 Files-Dienst sie übernehmen kann. Ersetzen Sie accountId und region durch Ihre Werte.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowS3FilesAssumeRole", "Effect": "Allow", "Principal": { "Service": "elasticfilesystem.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" }, "ArnLike": { "aws:SourceArn": "arn:aws:s3files:region:accountId:file-system/*" } } } ] }

IAM-Rolle zum Anhängen Ihres Dateisystems an AWS Ressourcen berechnen

Ihren Rechenressourcen, auf denen Sie ein S3-Dateisystem bereitstellen, muss eine IAM-Rolle (z. B. ein EC2-Instance-Profil) mit Richtlinien zugeordnet sein, die es Ihrer Rechenressource ermöglichen, mit Ihrem S3-Dateisystem und Ihrem S3-Quell-Bucket zu interagieren. Sie müssen auch sicherstellen, dass die Bucket-Richtlinien Ihres Quell-Buckets den Zugriff von Ihrer Rechenressource aus nicht verweigern.

Fügen Sie der IAM-Rolle, die Ihrer Rechenressource zugeordnet ist, die folgenden beiden Richtlinien hinzu:

  • Berechtigungen für die Rechenressource, um eine Verbindung zu S3-Dateisystemen herzustellen und mit diesen zu interagieren

    Die IAM-Rolle muss Berechtigungen für den Mount Helper enthalten, um eine Verbindung zu S3-Dateisystemen herzustellen und mit diesen zu interagieren. Sie können eine AWS verwaltete Richtlinie, z. B. eine AmazonS3FilesClientFullAccess verwaltete Richtlinie, anhängen, wenn Sie der Rechenressource vollen Lese- und Schreibzugriff auf Ihr S3-Dateisystem gewähren möchten, oder wenn Sie nur lesenden AmazonS3FilesClientReadOnlyAccess Zugriff gewähren möchten. Sie können die AmazonElasticFileSystemsUtils verwaltete Richtlinie auch anhängen, wenn Sie die CloudWatch Amazon-Überwachung aktivieren möchten. Weitere Informationen und eine vollständige Liste der verfügbaren verwalteten Richtlinien für S3-Dateien finden Sie unter AWS Verwaltete Richtlinien für Amazon S3-Dateien. Sie können diese Berechtigungen auch bereitstellen, indem Sie der IAM-Rolle Ihrer Rechenressource individuelle IAM-Berechtigungen wie s3files:ClientMount oder s3files:ClientWrite (nicht erforderlich für schreibgeschützte Verbindungen) hinzufügen.

  • Eine Inline-Richtlinie, die der Rechenressource Lesezugriff auf S3-Objekte gewährt

    Fügen Sie der IAM-Rolle die folgende Inline-Richtlinie hinzu. Diese Richtlinie gewährt den Rechenressourcen die Berechtigungen, Objekte aus dem verknüpften S3-Bucket im gleichen Konto direkt zu lesen, um die Leseleistung zu optimieren. bucketErsetzen Sie ihn durch Ihren S3-Bucket-Namen oder Bucket-Namen mit Präfix.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "S3ObjectReadAccess", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::bucket/*" }, { "Sid": "S3BucketListAccess", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::bucket" } ] }

Sicherheitsgruppen

Sobald Ihr Dateisystem und Ihre Mount-Ziele erstellt sind, müssen Sie die richtigen Sicherheitsgruppen konfigurieren, um Ihr Dateisystem verwenden zu können. Sicherheitsgruppen sowohl auf der Rechenressource als auch auf dem Mount-Ziel müssen den erforderlichen Datenverkehr zulassen, wie in der folgenden Tabelle dargestellt:

Sicherheitsgruppe Typ der Regel Protocol (Protokoll) Port Source/destination
EC2-Instance Ausgehend TCP 2049 Mounten Sie die Ziel-Sicherheitsgruppe
Mount-Ziel Eingehend TCP 2049 EC2-Instance-Sicherheitsgruppe