日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AWS S3 跨账号迁移

發布時間:2024/1/18 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AWS S3 跨账号迁移 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

    • 遷移架構:
    • 具體實施:
      • 1. 在目標賬號創建策略(S3MigrationPolicy)和角色(S3MigrationRole)
      • 2. 安裝 aws cli,并配置$ aws configure,[請參閱 AWS CLI 文檔中的安裝或更新 AWS CLI 最新版本](https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/getting-started-install.html)
      • 3. 假設 S3 遷移角色
      • 4. 運行以下命令驗證您是否擔任了 IAM 角色:
      • 5. 附加 S3 存儲桶策略
      • 6. 使用 copy (cp) 或同步 (sync) 命令復制數據
      • cp || sync 過程中的問題:
      • 參考:

遷移架構:

具體實施:

1. 在目標賬號創建策略(S3MigrationPolicy)和角色(S3MigrationRole)

策略(S3MigrationPolicy)示例:

{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Action": ["s3:ListBucket","s3:GetObject"],"Resource": ["arn:aws:s3:::awsexamplesourcebucket","arn:aws:s3:::awsexamplesourcebucket/*"]},{"Effect": "Allow","Action": ["s3:ListBucket","s3:PutObject","s3:PutObjectAcl"],"Resource": ["arn:aws:s3:::awsexampledestinationbucket","arn:aws:s3:::awsexampledestinationbucket/*"]}] }

角色(S3MigrationRole)示例:

{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": {"AWS": "arn:aws:iam::<destination_account>:user/<user_name>"},"Action": "sts:AssumeRole","Condition": {}}] }

2. 安裝 aws cli,并配置$ aws configure,請參閱 AWS CLI 文檔中的安裝或更新 AWS CLI 最新版本

3. 假設 S3 遷移角色

使用 AWS CLI 假設S3MigrationRole

aws sts assume-role --role-arn "arn:aws:iam::<destination_account>:role/S3MigrationRole" --role-session-name AWSCLI-Session

這里的 –role-arn 就是上述角色 S3MigrationRole 的 arn

4. 運行以下命令驗證您是否擔任了 IAM 角色:

aws sts get-caller-identity

5. 附加 S3 存儲桶策略

登錄到源賬戶的 AWS mazon 管理控制臺,并打開 Amazon S3 控制臺。選擇您的源 S3 存儲桶,然后選擇權限。在 “存儲桶策略” 下,選擇 “編輯”,然后粘貼以下存儲桶策略。選擇保存。

{"Version": "2012-10-17","Statement": [{"Sid": "DelegateS3Access","Effect": "Allow","Principal": {"AWS": "arn:aws:iam::<destination_account>:role/<RoleName>"},"Action": ["s3:ListBucket","s3:GetObject"],"Resource": ["arn:aws:s3:::awsexamplesourcebucket/*","arn:aws:s3:::awsexamplesourcebucket"]}] }

此基于資源的策略允許目標角色S3MigrationRole訪問源賬戶中的 S3 對象。

??注:此處的 “Principal” 對應的值應該是運行命令 aws sts get-caller-identity 后返回的 arn 的值

6. 使用 copy (cp) 或同步 (sync) 命令復制數據

復制(有關詳細信息,請參閱 AWS CLI 命令參考):

aws s3 cp s3:// DOC-EXAMPLE-BUCKET-SOURCE / \ s3:// DOC-EXAMPLE-BUCKET-TARGET / \ --recursive --source-region SOURCE-REGION-NAME --region DESTINATION-REGION-NAME

同步(有關詳細信息,請參閱 AWS CLI 命令參考):

aws s3 sync s3:// DOC-EXAMPLE-BUCKET-SOURCE / \ s3:// DOC-EXAMPLE-BUCKET-TARGET / \ --source-region SOURCE-REGION-NAME --region DESTINATION-REGION-NAME

cp || sync 過程中的問題:

部分文件在 cp || sync 時報錯:An error occurred (AccessDenied) when calling the GetObjectTagging operation: Access Denied

解決辦法:
在源桶策略中添加:“s3:GetObjectTagging” 即可。

參考:

https://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/copy-data-from-an-s3-bucket-to-another-account-and-region-by-using-the-aws-cli.html#copy-data-from-an-s3-bucket-to-another-account-and-region-by-using-the-aws-cli-architecture

總結

以上是生活随笔為你收集整理的AWS S3 跨账号迁移的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。