

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

# AWS Service Catalog 用于管理 IaP
<a name="service-catalog"></a>

AWS 提供一项名为的服务 [AWS Service Catalog](https://aws.amazon.com/servicecatalog/)，该服务支持将 AWS 基础架构作为产品进行管理和配置。您可以使用 Service Catalog 快速定义需要预调配为一组产品的基础设施，将这些产品的权限授予所需方，并实现单个产品所需的预调配和更新模式。

Service Catalog 由 [AWS CloudFormation](https://aws.amazon.com/cloudformation/) 提供支持。Service Catalog 产品组合、产品及其配置模板作为 CloudFormation 堆栈进行管理。您可以通过以下四种方式定义这些堆栈：
+ 通过使用标准 CloudFormation 模板。
+ 通过使用 [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html)和 [Service Catalog 构造库](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_servicecatalog-readme.html)，并结合您偏好的受支持的编程语言。
+ 使用第三方工具提供的框架，根据描述 CloudFormation 堆栈的声明性元数据生成堆栈定义。
+ 通过使用 [Service Catalog API](https://docs.aws.amazon.com/servicecatalog/latest/dg/API_Reference.html)。此 API 提供了除构建产品之外的所有方法。您可以将产品添加到产品组合、从产品组合中删除产品、标记产品和产品组合、定义管理和运营产品服务操作，以及浏览和搜索产品组合和产品定义。

从本质上讲，Service Catalog 产品是一组由一个或多个 AWS 资源组成的集合，这些资源配置为提供集体、可自定义（通过参数化）功能。例如，您可以定义 Service Catalog 产品，在目标账户中预调配私有 Amazon Simple Storage Service（Amazon S3）存储桶。S3 存储桶是一种可能包含输入参数的产品，例如存储桶名称、允许从中访问的互联网地址范围、一组可以访问存储桶的用户、生命周期分层策略或存储桶版本控制规范。您还可以定义一个 AWS Identity and Access Management (IAM) 角色来提供对作为产品一部分的存储桶的访问权限。

您可以将 Service Catalog 产品添加到一个或多个*产品组合*。Service Catalog 产品组合是将产品组合在一起的集合，通常是因为它们的用途相似（例如，分析、开发、客户访问服务、合作伙伴访问服务等）。

您可以为用户、组或角色提供在产品组合级别预调配产品的权限。对于预调配，产品要么与启动 IAM 角色关联（以便以自助方式向可以代入该角色的任何人启动产品），要么与[堆栈集](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stacksets-concepts-stackset)关联，该堆栈集定义了一个或多个可以预调配该产品的账户。要使用堆栈集，您必须在 Service Catalog 中心账户中定义一个 Service Catalog 管理员角色，并在堆栈集的每个目标账户中定义一个 Service Catalog 产品预调配执行角色。

以下各部分将更详细地讨论 Service Catalog IaP 功能。

**Topics**
+ [支持模块化和代码重复使用](reuse.md)
+ [用于在 Service Catalog 中定义产品的编程选项](options.md)
+ [与外部预调配流程和工作流程集成](integration.md)
+ [产品预调配规格](provisioning.md)
+ [DevSecOps 生命周期支持](cicd.md)
+ [自定义重复使用和特定于账户的预调配](parameters.md)
+ [将 Service Catalog 产品资源定义为应用程序并进行管理](appregistry.md)
+ [库存管理](inventory.md)