我想在另一個 AWS 帳戶中設定 AWS Identity and Access Management 角色的跨帳戶存取權。
若要存取另一個 AWS 帳戶中的資源,您可以使用一個 IAM 角色設定信任關係。
例如,您想要從來源帳戶存取目的地帳戶。若要擔任來源或目的地帳戶的 IAM 角色。,請提供 AssumeRole API 的 IAM 使用者權限。您必須在目的地 IAM 角色的信任關係中指定 IAM 使用者。
**注意:**您也可以擔任來源 IAM 角色或目的地 IAM 角色,而不是搭配角色鏈結使用使用者或角色。角色鏈結僅適用於程式設計存取,例如 AWS Command Line Interface (AWS CLI) 或 API。無法使用 AWS 管理主控台變更角色。
若要使用 IAM 存取其他 AWS 帳戶中的資源,請執行下列動作。
**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
請完成下列步驟:
使用 JSON 編輯器建立類似於下列範例的 IAM 政策:
**注意:**以您自己的值取代 DESTINATION-ACCOUNT-ID 和 DESTINATION-ROLENAME。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Resource": [ "arn:aws:iam::DESTINATION-ACCOUNT-ID:role/DESTINATION-ROLENAME" ] } ] }
將 IAM 政策連接至您的 IAM 使用者權限。
在主控台上建立 IAM 角色。
貼上自訂信任政策,如下所示:
**注意:**以您自己的值取代 SOURCE-ACCOUNT-ID 和 SOURCE-USERNAME。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::SOURCE-ACCOUNT-ID:user/SOURCE-USERNAME" }, "Action": "sts:AssumeRole" } ] }
**注意:**如果您無權建立和編輯 IAM 角色和使用者,請尋求帳戶擁有者協助以完成此流程。最佳實務是限制對帳戶和資源的存取權,以便只有信任的實體才能加以存取。
您可以修改此政策,視需求允許來源實體擔任與目的地角色一樣多的角色。例如,您可以將目的地帳戶信任政策的主體值變更為 "AWS": "SOURCE-ACCOUNT-ID”。這可讓來源帳戶中具有擔任角色權限的所有實體,擔任目的地帳戶角色。如需詳細資訊,請參閱如何指定主體及建立或編輯政策。
若要測試您的存取權,請遵循從使用者切換至 IAM 角色 (主控台) 或切換至 IAM 角色 (AWS CLI) 中的指示。如需詳細資訊,請參閱 IAM 教學課程: 使用 IAM 角色將存取許可委派給不同 AWS 帳戶。
如何使用 AWS CLI 擔任 IAM 角色?
我已建立或更新 IAM 政策,並收到「Has prohibited field Principal」(已禁止欄位主體) 錯誤。如何解決此問題?
如何將跨帳户存取權授予在 Amazon S3 儲存貯體中的物件?
當我嘗試擔任跨帳戶 IAM 角色時,如何解決「存取遭拒」或「無效資訊」錯誤?