パブリッククラウドストレージへのバックアップに必要なアクセス要件

パブリッククラウドストレージサービスに直接バックアップする場合、次のプラットフォームごとに考慮する必要がある要件が数多くあります。

Microsoft Azureへのバックアップ

Microsoft Azureサブスクリプションに接続するには、いくつかの権限が必要です。詳細については、「Microsoft Azure接続のセキュリティと監査(72684)」の記事を参照してください。

サブスクリプションへの接続を完了するには、Microsoft Azure ADで次に挙げるいずれかのロールの割り当てが必要です:クラウドアプリケーション管理者、アプリケーション管理者、またはグローバル管理者。また、選択した各サブスクリプションにOwnerロールが割り当てられている必要があります。

Amazon S3へのバックアップ

Amazon S3にバックアップする場合、Amazon S3のバックアップロケーションを定義する際に次に示すいくつかの要件があります。

  • サポートされるストレージクラス
  • ポリシーの許可
  • アクセスキー
  • バケット設定

サポートされるストレージクラス

現在、以下のAmazon S3ストレージクラスがサポートされています。

  • S3標準

  • 標準 - 低頻度アクセス(S3標準-IA)

  • 1ゾーン - 低頻度アクセス(S3 1ゾーン-IA)

  • S3 Intelligent Tiering

ポリシーの許可

Amazon S3にバックアップする場合、Cyber Protect Cloudが該当するワークロードをAmazon S3にバックアップできるように、Amazonアカウントに最小限の権限が適用されている必要があります。つまり、該当するユーザーがAWS管理コンソールにアクセス権があり、割り当てられたグループに関連するポリシーが適用されている必要があるということです。

Amazon S3に指定されたポリシーの許可は、他のS3互換のストレージサービスで再利用できます。詳細については、S3互換ストレージ(Wasabi、IONOS CloudおよびImpossible Cloudなど)へのバックアップを参照してください。

次のポリシー例では、([BUCKETNAME]で示される)特定のバケットにバックアップし、そのバケットから復元する場合の、広範なリソースに対する最小限の許可セットを示しています。なお、 *はすべてのリソースを表します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:GetBucketLocation", "s3:GetBucketObjectLockConfiguration", "s3:GetBucketVersioning" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:ListBucketVersions" ], "Resource": "arn:aws:s3:::[BUCKETNAME]" }, { "Effect": "Allow", "Action": "sts:GetFederationToken", "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:GetObjectVersion", "s3:GetObjectRetention", "s3:PutObjectRetention" ], "Resource": "arn:aws:s3:::[BUCKETNAME]/*" } ] }

次のポリシー例は、アカウント内のバケットの最小限の許可を示しています。[BUCKETNAME] はバケット名に置き換えます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:GetBucketLocation", "s3:GetBucketObjectLockConfiguration", "s3:GetBucketVersioning" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:ListBucketVersions" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": "sts:GetFederationToken", "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:GetObjectVersion", "s3:GetObjectRetention", "s3:PutObjectRetention" ], "Resource": "arn:aws:s3:::*" } ] }

アクセスキー

アクセスキーは、Amazon S3接続ごとに必要であり、Amazon S3接続を定義する際に使用されます。アクセスキーとアクセスキーIDの生成の詳細については、Amazon S3のドキュメントを参照してください。

バケット設定

Amazon S3バケットをバックアップロケーションとして使用する場合は、すべてのパブリックアクセスのブロックなど、バケットを必ずデフォルト設定で設定します(デフォルト設定で [オン])。バケットの操作の詳細については、 Amazon S3 のドキュメントを参照してください。

ポリシーの許可の例には、許可の完全なセットが含まれています。バケットで不変性が必要ない場合は、s3:GetBucketObjectLockConfiguration(バックアップロケーションの作成と編集に使用)およびs3:GetObjectRetention(短縮された期間のオブジェクトロックのアップデートの必要性を検出するために使用)などの該当する許可を除外できます。

S3互換ストレージ(Wasabi、IONOS CloudおよびImpossible Cloudなど)へのバックアップ

S3互換ストレージにバックアップする場合、次の項目において、バックアップロケーションを定義する際に考慮する必要がある多数の要件があります。

  • ポリシーの許可
  • アクセスキー
  • バケット設定

ポリシーの許可

S3互換ストレージでバックアップロケーションを定義する場合には、関連するポリシーが該当するグループとユーザーに適用されていることを確認してください。

Amazon S3に指定されたポリシーの許可(上記を参照)は、他のS3互換のストレージサービスで再利用できます。ただし、sts:GetFederationTokenの許可はAmazon S3にのみ適用され、他のS3互換のストレージサービスには必要ありません。
Wasabiへの接続が初めて確立される際は、AssumeRole許可で作成された一時的な資格情報が使用されます。これにより、追加のアクセス許可が付与されます。つまり、Wasabiポリシーの許可設定で特定のバケットでの作業が制限されている場合でも、これらのバケットは利用可能なバケットのドロップダウンリストに表示されます。バックアップおよび復元操作は、リストで選択された任意のバケットで機能します。

ただし、バックアップ/復元操作中にエージェントに提供されるアクセストークンは、特定のバケット1つの操作に制限されます。これは、Cyber ProtectコンソールでWasabiにバックアップロケーションを作成するときに選択されたバケットです。その結果、バックアップロケーションが作成された後、エージェント操作はシステムにより選択されたバケットのみに制限されます。

次のポリシー例は、Wasabiのみのものであり、アカウント内の任意のバケットに対する最小限の許可を示しています。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:GetBucketLocation", "s3:GetBucketObjectLockConfiguration", "s3:GetBucketVersioning" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:ListBucketVersions" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:CreateRole", "iam:AttachRolePolicy", "sts:GetCallerIdentity", "sts:AssumeRole" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:GetObjectVersion", "s3:GetObjectRetention", "s3:PutObjectRetention" ], "Resource": "*" } ] }

次のポリシー例は、S3互換、IONOS Cloud、Impossible Cloudストレージのものであり、制限された範囲のリソースでの限定的な許可が示されています。なお、[BUCKETNAME] はバケット名に置き換えます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:GetBucketLocation", "s3:GetBucketObjectLockConfiguration", "s3:GetBucketVersioning" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:ListBucketVersions" ], "Resource": "arn:aws:s3:::[BUCKETNAME]" }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:GetObjectVersion", "s3:GetObjectRetention", "s3:PutObjectRetention" ], "Resource": "arn:aws:s3:::[BUCKETNAME]/*" } ] }

次のポリシー例は、S3互換、IONOS Cloud、Impossible Cloudストレージのものであり、アカウント内の任意のバケットに対する最小限の許可を示しています。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:GetBucketLocation", "s3:GetBucketObjectLockConfiguration", "s3:GetBucketVersioning" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:ListBucketVersions" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:GetObjectVersion", "s3:GetObjectRetention", "s3:PutObjectRetention" ], "Resource": "arn:aws:s3:::*" } ] }

アクセスキー

アクセスキーは、S3互換接続ごとに必要であり、接続を定義する際に使用されます。

AssumeRoleはルートユーザーからは呼び出せないため、Wasabiのrootユーザーアカウントのアクセスキーは使用できないことにご注意ください。ルート以外のユーザーを別途作成し、そのユーザー用のアクセスキーを生成する必要があります。

アクセスキーとアクセスキーIDの生成の詳細については、WasabiのドキュメントIONOS CloudのドキュメントImpossible Cloudのドキュメントなど、関連するドキュメントを参照してください。

バケット設定

バケットをバックアップロケーションとして使用する場合、バケットがデフォルトの設定で構成されていることを確認してください。バケットの操作方法の詳細については、WasabiのドキュメントIONOS CloudのドキュメントImpossible Cloudのドキュメントなど、関連するドキュメントを参照してください。