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 Files beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben.

AWS Konto und Compute-Setup

  • Sie haben ein AWS Konto.

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

  • In Ihrem S3-Bucket ist die Versionierung aktiviert. S3 Files erfordert S3 Versioning, 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-Helper-Programm, das das Mounten von S3-Dateisystemen vereinfacht und CloudWatch Amazon-Metriken zur Überwachung des Mount-Status Ihres Dateisystems aktiviert.

Schritt 1: Installieren Sie den Client

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

  • 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 Sie müssen beispielsweise Botocore installieren, um Amazon zur Überwachung Ihres Dateisystems verwenden CloudWatch zu können. Anweisungen zur Installation und Aktualisierung von Botocore finden Sie unter Installing Botocore in der README-Datei von amazon-efs-utils unter. GitHub

Den 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, muss die s3files-utils.conf Datei auf dem Betriebssystem geändert werden.

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, die den folgenden Text enthält:

    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 Files verwenden zu können, müssen Sie IAM-Rollen und angehängte Richtlinien für zwei Zwecke konfigurieren:

  • Über das Dateisystem 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 außerdem sicherstellen, dass Ihre S3-Bucket-Richtlinie den Zugriff auf Ihre Rechenressourcen nicht verweigert.

S3 Files erfordert S3-Versionierung für Ihren Bucket. Es verwendet versionsspezifische API-Operationen wie s3:GetObjectVersion und s3:GetObjectVersionTagging zusätzlich zu. s3:GetObject In der folgenden Richtlinie werden Platzhalter (z. B. s3:GetObject* anstelle vons3:GetObject) verwendet, um sowohl versionierte als auch nicht versionierte Aktionen abzudecken.

Anmerkung

Wenn Sie mit 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 Bucketsus-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 zugewiesen sein, die es Ihrer Rechenressource ermöglichen, mit Ihrem S3-Dateisystem und Ihrem S3-Quell-Bucket zu interagieren. Sie müssen außerdem sicherstellen, dass die Bucket-Richtlinien Ihres Quell-Buckets den Zugriff auf Ihre Rechenressource nicht verweigern.

Fügen Sie der IAM-Rolle, die Ihrer Computing-Ressource zugewiesen ist, die folgenden beiden Richtlinien hinzu:

  • Berechtigungen für die Rechenressource, sich mit S3-Dateisystemen zu verbinden und mit ihnen zu interagieren

    Die IAM-Rolle muss Berechtigungen für den Mount-Helper enthalten, um eine Verbindung zu S3-Dateisystemen herzustellen und mit ihnen zu interagieren. Sie können eine AWS verwaltete Richtlinie anhängen, z. B. eine AmazonS3FilesClientFullAccess verwaltete Richtlinie, wenn Sie der Rechenressource vollen Lese- und Schreibzugriff auf Ihr S3-Dateisystem oder nur Lesezugriff gewähren möchten. AmazonS3FilesClientReadOnlyAccess 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 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 der Rechenressource Berechtigungen zum direkten Lesen von Objekten aus dem verknüpften S3-Bucket in demselben Konto, um die Leseleistung zu optimieren. bucketErsetzen Sie es durch Ihren S3-Bucket-Namen oder den 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 Computing-Ressource als auch auf dem Mount-Ziel müssen den erforderlichen Datenverkehr zulassen, wie in der folgenden Tabelle dargestellt:

Sicherheitsgruppe Art der Regel Protocol (Protokoll) Port Source/destination
EC2-Instance Ausgehend TCP 2049 Zielsicherheitsgruppe einbinden
Mount-Ziel Eingehend TCP 2049 EC2-Instance-Sicherheitsgruppe