Von Cloud Storage verwaltete Ordner übertragen

Verwaltete Cloud Storage-Ordner ermöglichen eine differenzierte Zugriffssteuerung auf Objekte in Cloud Storage-Buckets. Berechtigungen können auf Ordnerebene innerhalb von Buckets festgelegt werden, die den universellen Zugriff auf Bucket-Ebene verwenden. Wenn Sie Objekte mit Storage Transfer Service zwischen Cloud Storage-Buckets übertragen, können diese Berechtigungen für verwaltete Ordner beibehalten werden.

Beschränkungen

Für Übertragungen verwalteter Ordner gelten die folgenden Einschränkungen:

  • Sie müssen die REST API verwenden, um die Übertragung zu erstellen.
  • Für den Ziel-Bucket muss ein einheitlicher Zugriff auf Bucket-Ebene verwendet werden.
  • Verwaltete Ordnerübertragungen unterstützen die Optionen deleteObjectsUniqueInSink und deleteObjectsFromSourceAfterTransfer nicht.
  • Für den Ziel-Bucket oder sein Projekt dürfen keine IAM-Bedingungen vorhanden sein, die den Ressourcentyp bucket (storage.googleapis.com/Bucket) oder den Ressourcentyp Objekt (storage.googleapis.com/Object) verwenden. Wenn ein Bucket in einem Projekt eine IAM-Bedingung hat, die einen dieser Ressourcentypen verwendet, können verwaltete Ordner nicht an einen der Buckets in diesem Projekt übertragen werden, auch wenn die Bedingung später entfernt wird.
  • Ereignisgesteuerte Übertragungen werden nicht unterstützt.
  • Manifestübertragungen werden nicht unterstützt.
  • Vorgänge für verwaltete Ordner werden von Cloud Logging nicht protokolliert. Das Logging von Objekten wird unterstützt.

IAM-Berechtigungen

Die folgenden IAM-Berechtigungen (Google Cloud Identity and Access Management) sind für das von Google verwaltete Dienstkonto erforderlich.

Im Quell-Bucket:

  • storage.managedFolders.getIamPolicy
  • storage.managedFolders.list
  • storage.managedFolders.get

Für den Ziel-Bucket:

  • storage.managedFolders.setIamPolicy
  • storage.managedFolders.list
  • storage.managedFolders.create

Diese Berechtigungen gelten zusätzlich zu den Standardberechtigungen, die für Storage Transfer Service erforderlich sind:

Wenn Sie die erforderlichen Berechtigungen für verwaltete Ordner gewähren möchten, erstellen Sie eine benutzerdefinierte Rolle, die nur die erforderlichen Berechtigungen enthält, und weisen Sie sie dem von Google verwalteten Dienstkonto zu, entweder auf Bucket-Ebene (empfohlen) oder auf Projektebene. Weitere Informationen finden Sie unter Sicherheitsaspekte.

Übertragung für verwaltete Ordner erstellen

Geben Sie managedFolderTransferEnabled: true in Ihrem transferSpec an, um eine Übertragung mit einem verwalteten Ordner zu erstellen:

POST https://storagetransfer.googleapis.com/v1/transferJobs
{
  "name": "transferjobs/NAME",
  "projectId": "PROJECT_ID",
  "transferSpec": {
    "gcsDataSource": {
      "bucketName": "SOURCE_BUCKET",
      "managedFolderTransferEnabled": true
    },
    "gcsDataSink": {
      "bucketName": "DESTINATION_BUCKET"
    }
  },
  "status": "ENABLED"
}

Weitere Informationen zum Erstellen einer Übertragung mit der REST API finden Sie unter Übertragungen erstellen oder in der transferJobs.create-Referenz.

Sicherheitsaspekte

Wenn Sie einem von Google verwalteten Dienstkonto Berechtigungen für verwaltete Ordner gewähren, kann das Konto IAM-Richtlinien für Zielordner oder für alle Ordner ändern, wenn die Rolle auf Projektebene gewährt wurde. Dies birgt ein Sicherheitsrisiko: Ein Nutzer mit Berechtigungen zum Bearbeiten von Jobs könnte dies ausnutzen, um einem böswilligen Nutzer Berechtigungen zu erteilen. Um dieses Risiko zu verringern, sollten Sie Übertragungen verwalteter Ordner in einem dedizierten Google Cloud-Projekt isolieren.

Fehlerbehebung

Informationen zum Erstellen und Verwalten verwalteter Ordner finden Sie auf der Seite Fehlerbehebung.