

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

# AWS Service Catalog 範本限制條件
<a name="catalogs_constraints_template-constraints"></a>

**注意**  
AWS Service Catalog 不支援 Terraform Open Source 或 Terraform Cloud 產品的範本限制條件。

若要限制最終使用者啟動產品的選項，您可以套用範本限制條件。套用範本限制條件以確保最終使用者可以使用產品，而不會違反您組織的合規要求。您可以將範本限制條件套用至 AWS Service Catalog 產品組合中的產品。產品組合必須包含一或多個產品，然後您才可以定義範本限制條件。

範本限制條件由一或多個規則組成，這些規則會縮小產品基礎 CloudFormation 範本中定義之參數的允許值。 CloudFormation 範本中的參數定義一組值，使用者可在建立堆疊時指定這些值。例如，參數可定義各種執行個體類型，讓使用者可在啟動堆疊時選擇，其中包含 EC2 執行個體。

如果範本中的一組參數值對於您的產品組合的目標對象而言太寬廣，您可以定義範本限制條件，以限制使用者在啟動產品時可選擇的值。例如，如果範本參數包含的 EC2 執行個體類型，對於只應使用小型執行個體類型 (例如，`t2.micro` 或 `t2.small`) 的使用者而言過大，則您可以新增範本限制條件，以限制最終使用者可選擇的執行個體類型。如需 CloudFormation 範本參數的詳細資訊，請參閱*CloudFormation 《 使用者指南*》中的[參數](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html)。

範本限制條件會綁定在產品組合中。如果您將範本限制條件套用至一個產品組合，然後將該產品包含至另一個產品組合，則該限制將不會套用到第二個產品組合中的該產品。

如果您將範本限制條件套用至已與使用者共用的產品，則這些限制立即生效的範圍包括所有後續的產品啟動，以及產品組合中的所有產品版本。

您可以使用規則編輯器或在 AWS Service Catalog 管理員主控台中將規則寫入為 JSON 文字來定義範本限制規則。如需有關規則的詳細資訊，包括語法和範例，請參閱 [範本限制規則](reference-template_constraint_rules.md)。

若要在發佈至使用者之前測試限制，請建立包含相同產品的測試產品組合，然後以該產品組合測試限制。

**將範本限制條件套用至產品**

1. 在 https：//[https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/) 開啟 Service Catalog 主控台。

1. 在**產品組合**頁面上，選擇包含您要套用範本限制的產品的產品組合。

1. 展開**限制條件**區段，然後選擇**新增限制**條件。

1. 在**選取產品和類型**視窗中，針對**產品**選擇您要定義範本限制的產品。然後，針對**限制類型**，選擇**範本**。選擇**繼續**。

1. 在**範本限制條件建置器**頁面上，使用 JSON 編輯器或規則建置器界面編輯限制條件規則。
   + 若要編輯規則的 JSON 程式碼，請選擇**限制文字編輯器**索引標籤。此索引標籤提供數個範例以協助您開始使用。

     若要使用規則建置器界面建置規則，請選擇**規則建置器**標籤。在此索引標籤上，您可以選擇產品的範本中指定的任何參數，而且您可為該參數指定允許的值。根據參數的類型，您指定允許值的方式包括選擇檢查清單中的項目、直接指定數值，或在以逗號分隔的清單中指定一組值。

     完成規則的建置後，請選擇**新增規則**。規則會出現在**規則建置器**索引標籤的表格中。若要檢閱和編輯 JSON 輸出，請選擇**限制文字編輯器**索引標籤。

1. 當您完成編輯限制條件的規則時，請選擇**提交**。若要查看限制條件，請前往產品組合詳細資訊頁面並展開**限制條件**。