

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

# 的術語和概念 AWS RAM
<a name="getting-started-terms-and-concepts"></a>

下列概念有助於說明如何使用 AWS Resource Access Manager (AWS RAM) 來共用資源。

## 資源共享
<a name="term-resource-share"></a>

您可以透過建立資源共用 AWS RAM 來使用 *共用資源*。資源共享具有下列三個元素：
+ 要共用的一或多個 AWS 資源清單。
+ 授予資源存取權的一或多個[委託人](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#Principal_specifying)清單。
+ 您包含在共享中每種資源類型的[受管許可](#term-managed-permission)。每個受管許可都適用於該資源共享中該類型的所有資源。

使用 AWS RAM 建立資源共用後，資源共用中指定的主體可以獲得共用資源的存取權。
+ 如果您開啟與 AWS RAM 共用 AWS Organizations，且與 共用的主體位於共用帳戶相同的組織中，則只要這些主體的帳戶管理員授予他們使用 資源的許可，這些主體就可以接收存取權 AWS Identity and Access Management 。
+ 如果您未開啟與 Organizations AWS RAM 共用，您仍然可以與組織中 AWS 帳戶 的個人共用資源。取用帳戶中的管理員會收到加入資源共用的邀請，他們必須先接受邀請，資源共用中指定的主體才能存取共用資源。
+ 如果資源類型支援，您也可以與組織外部的帳戶共用。取用帳戶中的管理員會收到加入資源共用的邀請，他們必須先接受邀請，資源共用中指定的主體才能存取共用資源。如需有關哪些資源類型支援這種共用類型的資訊，請參閱[可共用 AWS 的資源](shareable.md)並檢視**可與其組織資料欄外的帳戶共用**。

## 共用帳戶
<a name="term-sharing-account"></a>

*共用帳戶*包含共用的資源，以及 AWS RAM 管理員使用 在其中建立 AWS 資源共用的資源 AWS RAM。

 AWS RAM 管理員是有權在 中建立和設定資源共用的 IAM 主體 AWS 帳戶。由於 AWS RAM 的運作方式是將資源型政策連接至資源共享中的資源，因此 AWS RAM 管理員也必須具有許可，才能 AWS 服務 針對資源共享中包含的每個資源類型，在 中呼叫 `PutResourcePolicy`操作。

## 取用主體
<a name="term-consuming-account"></a>

*耗用帳戶*是資源共用 AWS 帳戶 的 。資源共享可以將整個帳戶指定為委託人，或針對某些資源類型指定為帳戶中的個別角色或使用者。如需有關哪些資源類型支援這種共用類型的資訊，請參閱 [可共用 AWS 的資源](shareable.md)和檢視**可與 IAM 角色和使用者共用**欄。

AWS RAM 也支援服務主體做為資源共用的取用者。如需有關哪些資源類型支援這種共用類型的資訊，請參閱 [可共用 AWS 的資源](shareable.md)和檢視**可與服務主體共用**欄。

 取用帳戶中的主體只能執行下列***兩個***許可允許的這些動作：
+ 連接至資源共享的受管許可。這些指定可授予取用帳戶中主體*的最大*許可。
+ 取用帳戶中 IAM 管理員連接到個別角色或使用者的 IAM 身分型政策。這些政策必須授予共用帳戶中資源的指定動作和 [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 的`Allow`存取權。

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`條件索引鍵中顯示資源擁有者的帳戶 ID。
+ **組織中的帳戶** – 如果共用帳戶是由 管理 AWS Organizations，則資源共用可以指定要與組織中的所有帳戶共用的組織 ID。資源共用也可以指定組織單位 (OU) ID 來與該 OU 中的所有帳戶共用。共用帳戶只能與自己的組織或自己的組織內的 OU IDs 共用。依組織的 ARN 或 OU 指定組織中的帳戶。
  + **組織中的所有帳戶** – 以下是 中組織的範例 ARN AWS Organizations：

    `arn:aws:organizations::123456789012:organization/o-<orgid>`
  + **組織單位中的所有帳戶** – 以下是 OU ID 的範例 ARN：

    `arn:aws:organizations::123456789012:organization/o-<orgid>/ou-<rootid>-<ouid>`
**重要**  
當您與組織或 OU 共用，且該範圍包含擁有資源共用的帳戶時，共用帳戶中的所有主體都會自動存取共用中的資源。授予的存取權是由與共用相關聯的受管許可所定義。這是因為 AWS RAM 連接至共用中每個資源的資源型政策使用 `"Principal": "*"`。如需詳細資訊，請參閱[在以資源為基礎的政策"Principal": "\$1"中使用 的影響](#term-principal-star)。  
其他取用帳戶中的委託人不會立即存取共用的資源。其他帳戶的管理員必須先將身分型許可政策連接至適當的主體。這些政策必須授予資源共享中個別資源ARNs `Allow`存取權。這些政策中的許可不能超過與資源共用相關聯的受管許可中指定的許可。

## 以資源為基礎的政策
<a name="term-resource-based-policy"></a>

以資源為基礎的政策是實作 IAM 政策語言的 JSON 文字文件。與您連接到主體的身分型政策不同，例如 IAM 角色或使用者，您可以將資源型政策連接到 資源。 會根據您為資源共享提供的資訊，代表您 AWS RAM 撰寫資源型政策。您必須指定`Principal`政策元素，以決定誰可以存取資源。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[身分型政策和資源型政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)。

產生的資源型政策 AWS RAM 會與所有其他 IAM 政策類型一起評估。這包括連接到嘗試存取資源之主體的任何 IAM 身分型政策，以及可能適用於 AWS Organizations 的服務控制政策 (SCPs) AWS 帳戶。所產生的資源型政策會 AWS RAM 參與與所有其他 IAM 政策相同的政策評估邏輯。如需政策評估的完整詳細資訊，以及如何判斷產生的許可，請參閱《*IAM 使用者指南*》中的[政策評估邏輯](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)。

AWS RAM 透過提供easy-to-use抽象資源型政策，提供簡單且安全的資源共用體驗。

對於支援資源型政策的資源類型， AWS RAM 會自動為您建構和管理資源型政策。對於指定的資源， AWS RAM 會結合來自包含該資源之所有資源共用的資訊，以建置資源型政策。例如，請考慮您使用 共用的 Amazon SageMaker AI 管道， AWS RAM 並包含在兩個不同的資源共用中。您可以使用一個資源共享來提供整個組織的唯讀存取權。然後，您可以使用其他資源共享，僅將 SageMaker AI 執行許可授予單一帳戶。 AWS RAM 會自動將這兩組不同的許可組合成具有多個陳述式的單一資源政策。然後，它會將合併的資源型政策連接到管道資源。您可以透過呼叫 [https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourcePolicies.html](https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourcePolicies.html)操作來檢視此基礎資源政策。 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 會自動產生以資源為基礎的政策，做為實際許可的表示。使用者可以呼叫 來檢視此表示[https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourcePolicies.html](https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourcePolicies.html)。這包括下列資源類型：
+ Amazon Aurora – 資料庫叢集
+ Amazon EC2 – 容量保留和專用主機
+ AWS License Manager – 授權組態
+ AWS Outposts – 本機閘道路由表、前哨站和網站
+ Amazon Route 53 – 轉送規則
+ Amazon Virtual Private Cloud – 客戶擁有的 IPv4 地址、字首清單、子網路、流量鏡射目標、傳輸閘道和傳輸閘道多點傳送網域

### AWS RAM 產生的資源型政策範例
<a name="rbp-examples"></a>

如果您與個別***帳戶***共用 EC2 Image Builder 映像資源， AWS RAM 會產生如下所示的政策，並將其連接到資源共用中包含的任何映像資源。

------
#### [ JSON ]

****  

```
{
    "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"
        }
    ]
}
```

------

如果您與不同 中的 ***IAM 角色或使用者***共用 EC2 Image Builder 映像資源 AWS 帳戶， AWS RAM 會產生如下所示的政策，並將其連接到資源共用中包含的任何映像資源。

------
#### [ JSON ]

****  

```
{
    "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"
        }
    ]
}
```

------

如果您與組織中的所有帳戶或 OU 帳戶共用 EC2 Image Builder 映像資源， AWS RAM 會產生如下所示的政策，並將其連接到資源共用中包含的任何映像資源。

**注意**  
此政策使用 `"Principal": "*"` ，然後使用 `"Condition"`元素將許可限制為符合指定 的身分`PrincipalOrgID`。如需詳細資訊，請參閱[在以資源為基礎的政策"Principal": "\$1"中使用 的影響](#term-principal-star)。

------
#### [ JSON ]

****  

```
{
    "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": "\$1"中使用 的影響
<a name="term-principal-star"></a>

當您在以資源為基礎的政策`"Principal": "*"`中包含 時，該政策會將存取權授予帳戶中包含資源的所有 IAM 主體，如果存在，則受`Condition`元素施加的任何限制約束。適用於呼叫主體的任何政策中的明確`Deny`陳述式會覆寫此政策授予的許可。不過，任何適用的身分政策、許可界限政策或工作階段政策中的***隱含* **`Deny`（表示缺少*明確的 * `Allow`) ***不會***導致 `Deny` 被此類資源型政策授予存取 動作的委託人。

如果此行為不適合您的案例，則您可以將***明確***`Deny`陳述式新增至會影響相關角色和使用者的身分政策、許可界限或工作階段政策，以限制此行為。

## 受管許可
<a name="term-managed-permission"></a>

受管許可定義主體在資源共享中支援的資源類型上可在哪些條件下執行的動作。當您建立資源共享時，您必須指定要針對資源共享中包含的每個資源類型使用哪個受管許可。受管許可會列出委託人可以使用 共用資源執行的一組 `actions`和 *條件* AWS RAM。

您只能為資源共享中的每個資源類型連接一個受管許可。您無法建立資源共享，其中某些特定類型的資源使用一個受管許可，而其他相同類型的資源使用不同的受管許可。若要這樣做，您需要建立兩個不同的資源共享，並在其中分割資源，為每個集提供不同的受管許可。受管許可有兩種不同類型：

**AWS 受管許可**  
AWS 受管許可由 建立和維護 AWS ，並授予常見客戶案例的許可。 會為每個支援的資源類型 AWS RAM 定義至少一個 AWS 受管許可。有些資源類型支援多個 AWS 受管許可，其中有一個受管許可指定為 AWS 預設值。除非您另外指定，否則[預設 AWS 受管許可](security-ram-permissions.md#permissions-types)會相關聯。

**客戶受管許可**  
客戶受管許可是您編寫和維護的受管許可，方法是精確指定哪些動作可在使用 共用資源的條件下執行 AWS RAM。例如，您想要限制 Amazon VPC IP Address Manager (IPAM) 集區的讀取存取權，這可協助您大規模管理 IP 地址。您可以建立客戶受管許可，讓開發人員指派 IP 地址，但無法檢視其他開發人員帳戶指派的 IP 地址範圍。您可以遵循最低權限的最佳實務，只授予對共用資源執行任務所需的許可。  
您可以在資源共享中為資源類型定義自己的許可，並可選擇新增條件，例如[全域內容金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)[和服務特定金鑰](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html)，以指定主體可以存取資源的條件。這些許可可用於一或多個 AWS RAM 共用。客戶受管許可為區域特定。

AWS RAM 接受 受管許可做為輸入，為您共用的資源撰寫以資源[為基礎的政策](#term-resource-based-policy)。

## 受管許可版本
<a name="term-managed-permission-version"></a>

受管許可的任何變更都會以該受管許可的新版本表示。新版本是所有新資源共用的預設值。每個受管許可一律有一個指定為預設版本的版本。當您或 AWS 建立新的受管許可版本時，您必須明確更新每個現有資源共享的受管許可。您可以在此步驟中將變更套用至資源共享之前評估變更。所有新的資源共享都會自動為對應的資源類型使用新版本的受管許可。

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

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

當您建立或更新資源共享時，您只能連接指定受管許可的預設版本。如需詳細資訊，請參閱[將 AWS 受管許可更新至較新版本](working-with-sharing-update-permissions.md)。