

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 什么是 Service Catalog？
<a name="introduction"></a>

Service Catalog 使组织能够创建和管理经批准的 IT 服务目录。 AWS这些 IT 服务可谓包罗万象，从虚拟机映像、服务器、软件和数据库，再到完整的多层应用程序架构等。

 Service Catalog 允许组织集中管理通常部署的 IT 服务，并帮助组织实现一致的监管和满足合规性要求。最终用户可在遵循组织设定约束的情况下快速部署他们所需已获得批准的 IT 服务。

Service Catalog 具有以下优势：
+ ****标准化****

  管理员可以通过限制可启动产品的位置、可使用的实例类型以及多种其他配置选项，来管理已获批准的资产。这样可以为整个组织的产品预配置创建标准化的环境。
+ ****自助服务发现和启动****

  用户浏览其有权访问的产品（服务或应用程序）的列表，找到要使用的产品并将其作为预配置产品自行启动。
+ **访问权限的精细控制**

  管理员从其目录中整理产品组合，添加要在配置时使用的限制和资源标签，然后通过 AWS Identity and Access Management (IAM) 用户和群组授予对产品组合的访问权限。
+ **扩展性和版本控制**

  管理员可将产品添加到任意数量的产品组合并施加限制，无需创建另一个副本。将产品更新为新版本后，更新会传播到涵盖该产品的每个产品组合中的所有产品。

有关更多信息，请参阅 [Service Catalog 产品详细信息页面](https://aws.amazon.com/servicecatalog/details)。

作为使用 AWS 管理控制台的替代方案，Service Catalog API 提供对所有最终用户操作的编程控制。有关更多信息，请参阅 [Service Catalog 开发人员指南](https://docs.aws.amazon.com/servicecatalog/latest/dg/)。

## 视频：简介 AWS Service Catalog
<a name="video-intro-service-catalog"></a>

此视频（7:27）介绍了如何创建、组织和管理 AWS 的精选产品目录，以及如何共享具有权限级别的产品。因此，最终用户无需直接访问底层 AWS 服务即可快速预配置经批准的 IT 资源。

[![AWS Videos](http://img.youtube.com/vi/A6-jv3gZa4U/0.jpg)](http://www.youtube.com/watch?v=A6-jv3gZa4U)


# Service Catalog 概述
<a name="what-is_concepts"></a>

开始使用 Service Catalog 之前，了解其组件及管理员和最终用户的初始工作流程会很有用。

## Users
<a name="what-is_concepts-users"></a>

Service Catalog 支持以下类型的用户：
+  **目录管理员（管理员）** - 管理产品目录（应用程序和服务）、将产品组织到产品组合中并向最终用户授予访问权限。目录管理员为产品准备 CloudFormation 模板、配置约束并管理 IAM 角色，以提供高级资源管理。
+ **最终用户**-从其 IT 部门或经理那里获得 AWS 证书，并使用 AWS 管理控制台 来发布他们已被授予访问权限的产品。最终用户有时简称为*用户*，可被授予不同的权限，具体取决于您的操作要求。例如，用户可能拥有最高级别权限 (启动和管理其使用的产品所需的所有资源)，或仅拥有使用特定服务功能的权限。

## 产品
<a name="what-is_concepts-product"></a>

*产品*是指您希望可用于在 AWS上进行部署的 IT 服务。产品由一个或多个 AWS 资源组成，例如 EC2 实例、存储卷、数据库、监控配置、网络组件或打包 AWS Marketplace 产品。产品可以是运行 AWS Linux 的单个计算实例、在自己的环境中运行的完全配置的多层 Web 应用程序，或者介于两者之间的任何东西。

您可以通过导入 AWS CloudFormation 模板来创建产品。 AWS CloudFormation 模板定义了产品所需的 AWS 资源、资源之间的关系，以及最终用户在启动产品以配置安全组、创建密钥对和执行其他自定义操作时可以插入的参数。

## HashiCorp 支持 Terraform 开源和 Terraform Cloud
<a name="what-is_concepts-Terraform"></a>

AWS Service Catalog 支持快速、自助式配置，并在其中管理您的 HashiCorp Terraform 开源和 Terraform Cloud 配置。 AWS您可以将 Service Catalog 用作单一工具，在 AWS中大规模组织、管理和分发 Terraform 配置。您可以访问 Service Catalog 的主要功能，包括对标准化和预先批准的 Terraform 模板进行编目、访问控制、最低权限配置、版本控制、标记以及与成千上万个账户共享。 AWS 您的最终用户会看到他们有权访问的产品和版本的简单列表，随后只需一个操作即可部署这些产品。

要了解更多信息并完成 Terraform 产品教程，请查看 [开始使用 Terraform 产品](getstarted-Terraform.md)。

## 预配置产品
<a name="what-is_concepts-provprod"></a>

AWS CloudFormation 堆栈使您可以将产品实例作为一个单元进行配置、标记、更新和终止，从而更轻松地管理产品的生命周期。 AWS CloudFormation 堆栈包括以 JSON 或 YAML 格式编写的 AWS CloudFormation 模板及其关联的资源集合。*预配置产品* 是一个堆栈。当最终用户启动产品时，由 Service Catalog 预配置的产品实例是运行该产品所需的资源堆栈。有关更多信息，请参阅 [AWS CloudFormation 用户指南](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/)。

## 产品组合
<a name="what-is_concepts-portfolio"></a>

*产品组合*是包含配置信息在内的*产品*集合。产品组合可帮助管理可使用特定产品的人员及其使用方式。利用 Service Catalog，您可以为组织内的每类用户创建一个自定义产品组合，并选择性授予对适当产品组合的访问权限。当您向产品组合添加新*版本*的产品时，该版本会自动供所有当前用户使用。

您还可以与其他 AWS 账户共享您的投资组合，并允许这些账户的管理员分配您的投资组合，但有其他*限制*，例如限制用户可以创建的 EC2 实例。通过使用产品组合、权限、共享和约束，您可以确保用户所启动的产品经过正确配置，能够满足组织的需求并符合其标准。

## 版本控制
<a name="what-is_concepts-versioning"></a>

Service Catalog 允许您在目录中管理多个版本的产品。这种方法可以让您根据软件更新或配置变更来添加新版本的模板及关联的资源。

创建产品的新版本时，更新会自动分发到具有该产品访问权限的所有用户，允许用户选择要使用的产品版本。用户可以快速轻松地将产品的运行实例更新为新版本。

## Permissions
<a name="what-is_concepts-permissions"></a>

向用户授予产品组合的访问权限，让用户能够浏览该产品组合并启动其中的产品。您可以应用 AWS Identity and Access Management (IAM) 权限来控制谁可以查看和修改您的目录。IAM 权限可以分配给 IAM 用户、组和角色。

当用户启动已分配有 IAM 角色的产品时，Service Catalog 将使用该角色通过 CloudFormation启动此产品的云资源。通过向每个产品分配一个 IAM 角色，您可以避免向用户授予执行未获批操作的权限，并使他们可以使用目录预配置资源。

## 约束
<a name="what-is_concepts-constraints"></a>

*约束条件*控制您可以为产品部署特定 AWS 资源的方式。您可以使用约束对产品进行限制，以便进行管理或控制成本。 AWS Service Catalog 约束条件有不同的类型：*启动限制*、*通知限制*和*模板限制*。

通过启动约束，您可为产品组合中的产品指定一个角色。使用此角色在启动时预配置资源，以便您可以限制用户权限，又不影响用户从目录预配置产品的能力。

通知约束使您能够使用 Amazon SNS 主题获取有关堆栈事件的通知。

模板约束限制了用户在启动产品时可用的配置参数（例如， EC2 实例类型或 IP 地址范围）。借助模板约束，您可以重复使用产品的常规 AWS CloudFormation 模板，并根据每个产品或每个产品组合对模板进行限制。

## 管理员初始工作流程
<a name="admin-overview-catalog-creation"></a>

此图展示了管理员创建目录的初始工作流程。

![\[Workflow diagram showing steps for administrators to create and manage product portfolios.\]](http://docs.aws.amazon.com/zh_cn/servicecatalog/latest/adminguide/images/sc-diagram-updated.png)


## 最终用户初始工作流程
<a name="admin-overview-view-provision"></a>

此图展示了最终用户的初始工作流程。

![\[End user workflow: discover products, select version, provide inputs, manage lifecycle.\]](http://docs.aws.amazon.com/zh_cn/servicecatalog/latest/adminguide/images/end-user-journey.png)


# AWS Service Catalog 默认服务配额
<a name="limits"></a>

您的 AWS 账户具有以下默认配额：约束 AWS Organizations、产品组合、产品、预配置产品、区域、服务操作和 TagOptions。

## AWS Organizations
<a name="orgs"></a>
+  AWS Service Catalog 每个组织的委派管理员：50

## 约束配额
<a name="constraint"></a>
+ 每个产品组合的每个产品的约束数：100

## 产品组合配额
<a name="portfolio"></a>
+ 每个产品组合的用户、组和角色数：100
+ 每个产品组合的产品数：150
+ 每个产品组合的标签数：20
+ 每个产品组合的共享账户数：5000
+ 每个标签键的标签值：25

## 产品配额
<a name="product"></a>
+ 每个产品的用户、组和角色数：200
+ 每个产品的产品版本数：100
+ 每个产品的标签数：20
+ 每个标签键的标签值：25

## 预配置产品配额
<a name="provisioned"></a>
+ 每个预配置产品的标签数：50

## 区域配额
<a name="regional"></a>
+ 产品组合数：100
+ 产品数：350

## 服务操作配额
<a name="serv-action"></a>
+ 每个区域的服务操作：200
+ 每个产品版本的服务操作关联：25

## TagOptions 配额
<a name="tagoption"></a>
+ TagOptions 每个资源：25
+ 每个值为 TagOption：25