Amazon S3バケットの所有者は、公開または別のAWSアカウントのユーザーを含む特定のAWSユーザーにアクセスを許可するバケットポリシーを追加できます。この方法は、あなたが例えばアカウントB.
でバケツにアクセスするためにアカウントAからの資格情報を使用することができ、このバケットポリシーは、別のアカウントでのユーザーへのアクセスを許可する:
{
"Id": "S3Access",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DownloadFiles",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket/*",
"Principal": {
"AWS": [
"arn:aws:iam::123456789012:user/fred"
]
}
},
{
"Sid": "ListFiles",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket",
"Principal": {
"AWS": [
"arn:aws:iam::123456789012:user/fred"
]
}
}
]
}
ARNを得ることができIAM管理コンソール内のIAMユーザーを確認します。
毎回バケット全体をダウンロードするのではなく、便利なaws s3 sync
コマンドを持つAWS Command-Line Interface (CLI)を使用することをお勧めします。これにより、Amazon S3との間でファイルを同期することができ、最後の同期以降に追加または変更されたファイルのみがコピーされます。あなたは定期的に(例えば1時間ごとに)それを実行して、バケツのコンセプトと同様のバケットのローカルコピーを持つことができます。
私はあなたがpythonを使って何をしているのか正確な答えはわかりませんが、s3バケットをあなたのawsアカウントにインポートすることはできません。あなたはそれを転送することはできません。あなたができることは、両方を同期することです。他のバケットを所有するアカウントからキーを発行する必要があります。そのため、アクセスして消費することができます。その後、CLIを両方とも同期させます。 'aws s3 sync s3:// mybucket s3:// mybucket2'これをチェックしてください:http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html – Juan
オプション:http:// docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html – jarmod