的術語和概念AWS RAM - AWS Resource Access Manager

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

的術語和概念AWS RAM

以下概念可以說明您可以如何使用AWS Resource Access Manager(AWS RAM) 分享您的資源。

資源共享

您使用共用資源AWS RAM通過創建資源共享。資源共用具有下列三個元素:

  • 一種或多種的清單AWS要共享的資源。

  • 一種或多種的清單校長授予資源存取權的人員。

  • 一個受管理權限您在共用中包含的每種資源類型的資源類型。每個 Managed 權限都會套用至該資源共用中該類型的所有資源。

使用後AWS RAM若要建立資源共用,可以授與資源共用中指定的主參與者存取共用的資源。

  • 如果您開啟AWS RAM與分享AWS Organizations,且您共用的主參與者與共用帳戶位於相同的組織中,一旦其帳戶管理員授與使用資源的權限,這些主參與者就可以立即接收存取權。AWS Identity and Access Management(IAM) 權限政策。

  • 如果您未開啟AWS RAM與 Organizations 共享,您仍然可以與個人共享資源AWS 帳戶在您的組織中。消費帳號中的管理員會收到加入資源共用的邀請,且必須先接受邀請,資源共用中指定的主參與者才能存取共用資源。

  • 您也可以與組織以外的帳號共用,這些帳號包括像是資源類型支援這些帳號。消費帳號中的管理員會收到加入資源共用的邀請,且必須先接受邀請,資源共用中指定的主參與者才能存取共用資源。如需有關哪些資源類型支援此類型共用的資訊,請參閱可共享的 AWS 資源並檢視可與組織外部的帳戶共用欄。

共享帳號

共用帳號包含共用的資源,其中AWS RAM管理員可以建立AWS通過使用資源共享AWS RAM。

一個AWS RAM管理員是 IAM 主體,具有在中建立和設定資源共用的權限AWS 帳戶。因為AWS RAM通過連接到資源為基礎的政策到資源共享的資源,AWS RAM系統管理員也必須具有呼叫的權限PutResourcePolicy在中的作業AWS 服務資源共用中包含的每個資源類型。

消耗主參與者

消費帳戶是AWS 帳戶共用資源的目標。資源共用可以將整個帳號指定為主參與者,或針對某些資源類型,指定帳號中的個別角色或使用者。如需有關哪些資源類型支援此類型共用的資訊,請參閱可共享的 AWS 資源並檢視可與 IAM 角色和使用者共用欄。

AWS RAM也支援作為資源共用取用者的服務主體。如需有關哪些資源類型支援此類型共用的資訊,請參閱可共享的 AWS 資源並檢視可以與服務主體共用欄。

消費帳戶中的主參與者只能執行允許的動作以下權限的:

  • 附加至資源共用的受管理權限。這些指定最大值可以授與使用帳戶中主體的許可。

  • 由 IAM 管理員在使用帳戶中附加至個別角色或使用者的 IAM 身分型政策。這些政策必須授予Allow存取指定的動作,以及亞馬遜資源名稱 (ARN)共用帳號中的資源。

AWS RAM作為資源共用取用者,支援下列 IAM 主體類型:

  • 另一個AWS 帳戶— 資源共用可讓共用帳戶中包含的資源供消費帳戶使用。

  • 個別 IAM 角色或其他帳戶中的使用者— 某些資源類型支援直接與個別 IAM 角色或使用者共用。以 ARN 指定此主體類型。

    • IAM 角色arn:aws:iam::123456789012:role/rolename

    • IAM 使用者arn:aws:iam::123456789012:user/username

  • 服務主體— 與共用資源AWS服務授予對資源共享的服務訪問權限。服務主體共用允許AWS代表您採取行動的服務,以減輕操作負擔。

    若要與服務主體共用,請選擇允許與任何人共用,然後在選擇主體類型,選擇服務主體從下拉列表中。以下列格式指定服務主體的名稱:

    • service-id.amazonaws.com

    為了減輕混淆副手的風險,資源策略會在aws:SourceAccount條件鍵。

  • 組織中的帳戶— 如果共享帳戶由管理AWS Organizations,則資源共用可以指定要與組織中所有帳號共用的組織 ID。資源共用也可以指定組織單位 (OU) ID,以與該 OU 中的所有帳號共用。共用帳戶只能與自己的組織或組織內的 OU ID 共用。透過組織的 ARN 或 OU 指定組織中的帳戶。

    • 組織中的所有帳戶-以下是在一個組織的 ARN 的一個例子AWS Organizations:

      arn:aws:organizations::123456789012:organization/o-<orgid>

    • 組織單位中的所有帳戶— 以下是 OU 識別碼的 ARN 範例:

      arn:aws:organizations::123456789012:organization/o-<orgid>/ou-<rootid>-<ouid>

    重要

    當您與組織或 OU 共用,且該範圍包含擁有資源共用的帳號時,共用帳戶中的所有主參與者都會自動取得共用中資源的存取權。授與的存取權由與共用關聯的受管理權限定義。這是因為資源型的政策AWS RAM附加到共享使用中的每個資源"Principal": "*"。如需詳細資訊,請參閱使用的含義"Principal": "*"在資源型政策中

    其他使用帳戶中的主參與者無法立即存取共用的資源。其他帳戶的管理員必須先將以識別為基礎的權限原則附加至適當的主體。這些政策必須授予Allow訪問資源共享中個別資源的 ARN。這些策略中的權限不能超過與資源共用關聯的受管理權限中指定的權限。

以資源為基礎政策

以資源為基礎的政策是指您實作 IAM 政策語言的 JSON 文字文件。與您連接到主體的以身分為基礎的政策,這些身分包括像是 IAM 角色或使用者,這些身分包括像是 IAM 角色。AWS RAM根據您為資源共用提供的資訊,代表您撰寫以資源為基礎的政策。您必須指定Principal決定誰可以存取資源的原則元素。如需詳細資訊,請參閱以身分為基礎和以資源為基礎的政策IAM User Guide

由所產生的資源型政策AWS RAM會與所有其他 IAM 政策類型一起進行評估。這包括任何附加至嘗試存取資源之主體的 IAM 身分識別政策,以及AWS Organizations這可能適用於AWS 帳戶。以資源為基礎的政策AWS RAM參與與與所有其他 IAM 政策相同的政策評估邏輯。如需原則評估的完整詳細資訊,以及如何判斷產生的權限,請參閱政策評估邏輯IAM User Guide

AWS RAM通過提供簡單安全的資源共享體驗 easy-to-use 以資源為基礎的抽象政策。

對於那些支援以資源為基礎的政策的資源類型,AWS RAM自動為您建構和管理以資源為基礎的政策。對於給定的資源,AWS RAM結合來自所有包含該資源之資源共用的資訊,以建置以資源為基礎的政策。例如,考慮一個亞馬遜 SageMaker 您使用的管道共用AWS RAM並包含在兩個不同的資源共用中。您可以使用一個資源共用來提供整個組織的唯讀存取權。然後,您可以使用其他資源共享僅授予 SageMaker 對單個帳戶的執行權限。AWS RAM自動將這兩組不同的權限組合成具有多個陳述式的單一資源策略。然後它連接到管線資源的組合政策。您可以呼叫GetResourcePolicy操作。AWS 服務然後使用該資源型政策來授權嘗試對共用資源執行動作的任何主參與者。

雖然您可以手動建立以資源為基礎的政策,並透過呼叫將其附加到您的資源PutResourcePolicy,我們建議您使用AWS RAM因為它具有以下優點:

  • 共享消費者的可發現性— 如果您通過使用共享資源AWS RAM,使用者可以直接在擁有服務的主控台和 API 作業的資源中查看與他們共用的所有資源,就好像這些資源直接在使用者的帳戶中一樣。例如,如果您共享AWS CodeBuild使用其他帳戶的專案,消費帳戶中的使用者可以在 CodeBuild 控制台和結果 CodeBuild 執行的 API 作業。以這種方式無法顯示透過直接附加資源型政策共用的資源。相反,您必須通過 ARN 發現並明確引用資源。

  • 共用擁有者的管理性— 如果您通過使用共享資源AWS RAM,共用帳戶中的資源擁有者可以集中查看哪些其他帳號可以存取其資源。如果您使用以資源為基礎的策略共用資源,則只能透過在相關服務主控台或 API 中檢查個別資源的策略來查看使用帳戶。

  • 效率— 如果您通過使用共享資源AWS RAM,您可以共享多個資源並將其作為一個單元進行管理。僅使用以資源為基礎的策略共用的資源需要將個別策略附加到您共用的每個資源上。

  • 簡單— 同AWS RAM,您不需要瞭解以 JSON 為基礎的 IAM 政策語言。AWS RAM提供 ready-to-use AWS您可以選擇附加至資源共用的受管理權限。

通過使用AWS RAM,您甚至可以共用某些尚未支援以資源為基礎的政策的資源類型。對於此類資源類型,AWS RAM會自動產生以資源為基礎的策略,做為實際權限的表示。用戶可以通過調用查看此表示GetResourcePolicy。這包括以下資源類型:

  • Amazon Aurora — 資料庫叢集

  • Amazon EC2 — 容量保留和專用主機

  • AWS License Manager— 授權組態

  • AWS Outposts— 本地網關路由表,前哨站和站點

  • 亞馬遜路線 53 — 轉發規則

  • Amazon Virtual Private Cloud — 客戶擁有的 IPv4 地址、首碼清單、子網路、流量鏡像目標、傳輸閘道和傳輸閘道多點傳送網域

的例子AWS RAM產生的資源型政策

如果您與個人共用 EC2 Image Builder 映像資源帳戶,AWS RAM產生類似下列範例的原則,並將其附加至資源共用中包含的任何影像資源。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:root"}, "Action": [ "imagebuilder:GetImage", "imagebuilder:ListImages", ], "Resource": "arn:aws:imagebuilder:us-east-1:123456789012:image/testimage/1.0.0/44" } ] }

如果您共用 EC2 Image Builder 映像資源IAM 角色或使用者在不同的AWS 帳戶,AWS RAM產生類似下列範例的原則,並將其附加至資源共用中包含的任何影像資源。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/MySampleRole" }, "Action": [ "imagebuilder:GetImage", "imagebuilder:ListImages", ], "Resource": "arn:aws:imagebuilder:us-east-1:123456789012:image/testimage/1.0.0/44" } ] }

如果您與組織中的所有帳戶共用 EC2 Image Builder 映像資源,或與帳戶共用 OU,AWS RAM產生類似下列範例的原則,並將其附加至資源共用中包含的任何影像資源。

注意

本政策使用"Principal": "*"然後使用"Condition"元素,將權限限制為符合指定的PrincipalOrgID。如需詳細資訊,請參閱使用的含義"Principal": "*"在資源型政策中

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "imagebuilder:GetImage", "imagebuilder:ListImages", ], "Resource": "arn:aws:imagebuilder:us-east-1:123456789012:image/testimage/1.0.0/44" "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-123456789" } } } ] }

使用的含義"Principal": "*"在資源型政策中

當您包含"Principal": "*"在以資源為基礎的政策中,該政策會授予對包含資源之帳戶中所有 IAM 主體的存取權,但受到Condition元素 (如果存在)。明確的Deny任何套用至呼叫主體的原則中的陳述式都會覆寫此原則所授與的權限。然而,一個隱含的 Deny(意味著缺乏一個明確的 Allow) 在任何適用的身分識別原則、權限界限原則或工作階段原則中在一個中的結果Deny這些動作以資為基礎的政策是指這些動作的主參與者。

如果這種行為不適合您的案例,那麼您可以通過添加一個來限制此行為明確的 Deny對影響相關角色和使用者的身分識別原則、權限界限或工作階段原則的陳述。

受管的權限

受管理的權限定義主參與者在資源共用中支援的資源類型在哪些情況下可以執行的動作。當您建立資源共用時,您必須指定資源共用中包括的每個資源類型的受管理許可。受管理的權限會列出一組actions條件主參與者可以使用共用的資源執行AWS RAM。

您只能為資源共用中的每個資源類型附加一個受管理的權限。您無法建立資源共用,其中某些特定類型的資源使用一個 Managed 權限,而相同類型的其他資源則使用不同的 Managed 權限。若要這麼做,您需要建立兩個不同的資源共用,並在其中分割資源,並賦予每個資源集不同的 Managed 權限。受管理的權限類型有兩種:

AWS受管的權限

AWS受管理的權限由建立及維護AWS並授與常見客戶案例的權限。AWS RAM至少定義一種AWS每個受支援的資源類型的受管理權限。某些資源類型支援多種AWS受管理的權限,其中一個受管理的權限指定為AWS預設。該預設值AWS受管理權限除非您另有指定,否則會關聯。

客戶管理的權限

客戶管理的權限是您編寫和維護的受管理權限,方法是透過精確指定在哪些情況下可以執行哪些動作與使用共用資源AWS RAM。例如,您想要限制 Amazon VPC IP 位址管理員 (IPAM) 集區的讀取存取權限,以協助您大規模管理 IP 地址。您可以為開發人員建立客戶管理權限以指派 IP 位址,但無法檢視其他開發人員帳戶指派的 IP 位址範圍。您可以遵循最小許可的最佳作法,這些身分包括僅授與對共用資源執行工作所需的許可。

您可以使用添加條件的選項來定義資源共享中的資源類型自己的權限,例如全域內容索引鍵服務特定金鑰,以指定主參與者可以存取資源的條件。這些權限可用於一個或多個AWS RAM股份。客戶受管的權限是區域特定的。

AWS RAM需要受管理的權限作為輸入來編寫資源型政策為您共享的資源。

受管的權限版本

對受管理權限的任何變更都會以該受管理權限的新版本表示。新版本是所有新資源共用的預設版本。每個受管理的權限永遠都有一個版本指定為預設版本。當你或AWS建立新的受管理權限版本,您必須明確更新每個現有資源共用的 Managed 權限。在此步驟中,您可以先評估變更,然後再將變更套用至資源共用。所有新資源共用都會自動針對對應的資源類型使用新版受管理權限。

AWS受管的權限版本

AWS處理所有變更AWS受管理的權限。此類變更可解決新功能或移除發現的缺點。您只能將預設的受管理權限版本套用至資源共用。

客戶管理的權限版本

您可以處理客戶受管理權限的所有變更。您可以建立新的預設版本、將舊版本設定為預設值,或刪除不再與任何資源共用關聯的版本。每個客戶受管的許可最多可以有五個版本。

建立或更新資源共用時,您只能附加指定受管理權限的預設版本。如需詳細資訊,請參閱 將AWS受管理的權限更新至較新版本