如何使用 IAM 存取其他 AWS 帳戶中的資源?

1 分的閱讀內容
0

我想在另一個 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 版本

來源帳戶

請完成下列步驟:

  1. 使用 JSON 編輯器建立類似於下列範例的 IAM 政策

    **注意:**以您自己的值取代 DESTINATION-ACCOUNT-IDDESTINATION-ROLENAME

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "sts:AssumeRole"
          ],
          "Resource": [
            "arn:aws:iam::DESTINATION-ACCOUNT-ID:role/DESTINATION-ROLENAME"
          ]
        }
      ]
    }
  2. 將 IAM 政策連接至您的 IAM 使用者權限。

目的地帳戶

請完成下列步驟:

  1. 在主控台上建立 IAM 角色

  2. 貼上自訂信任政策,如下所示:

    **注意:**以您自己的值取代 SOURCE-ACCOUNT-IDSOURCE-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 角色時,如何解決「存取遭拒」或「無效資訊」錯誤?

AWS 官方
AWS 官方已更新 6 個月前