

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

# 使用 AMS SSP 在您的 AMS 账户中配置 AMS 代码服务
<a name="code-services"></a>

使用 AMS 自助服务配置 (SSP) 模式，直接在您的 AMS 托管账户中访问 AMS Code 服务功能。AMS Code 服务是 AWS 代码管理服务的专有捆绑包，详见下文。您可以选择使用 AMS Code 服务在 AMS 中部署所有服务，也可以在 AMS 中单独部署这些服务。

AMS 代码服务包括以下服务：
+ AWS CodeCommit：一种完全托管的[源代码控制](https://aws.amazon.com/devops/source-control)服务，用于托管基于 Git 的安全存储库。它使团队可以在安全且高度可扩展的生态系统中协作处理代码。 CodeCommit 无需操作自己的源代码控制系统或担心扩展其基础架构。您可以使用 CodeCommit 将源代码中的内容安全地存储到二进制文件中，并且它可与您现有的 Git 工具无缝协作。要了解更多信息，请参阅 [AWS CodeCommit](https://aws.amazon.com/codecommit/)。

  要将其独立于 AMS Code 服务部署到您的 AMS 账户中，请参阅[使用 AMS SSP AWS CodeCommit 在您的 AMS 账户中进行预配置](codecommit.md)。
+ AWS CodeBuild：一种完全托管的持续集成服务，用于编译源代码、运行测试和生成随时可以部署的软件包。使用 CodeBuild，您无需预置、管理和扩展自己的构建服务器。 CodeBuild 持续扩展并同时处理多个构建，因此您的构建不会排队等待。您可以使用预先打包的构建环境快速开始，也可以创建使用您自己的构建工具的自定义构建环境。使用 CodeBuild，按分钟计费所使用的计算资源。要了解更多信息，请参阅 [AWS CodeBuild](https://aws.amazon.com/codebuild/)。

  要将其独立于 AMS Code 服务部署到您的 AMS 账户中，请参阅[使用 AMS SSP AWS CodeBuild 在您的 AMS 账户中进行预配置](code-build.md)。
+ AWS CodeDeploy：一项完全托管的部署服务，可自动将软件部署到各种计算服务，例如 Amazon EC2 和您的本地服务器。 AWS CodeDeploy 帮助您快速发布新功能，帮助您避免应用程序部署期间的停机，并处理更新应用程序的复杂性。您可以使用 AWS CodeDeploy 自动化软件部署，无需进行容易出错的手动操作。该服务可根据您的部署需求进行扩展。要了解更多信息，请参阅 [AWS CodeDeploy](https://aws.amazon.com/codedeploy/)。

  要将其独立于 AMS Code 服务部署到您的 AMS 账户中，请参阅[使用 AMS SSP AWS CodeDeploy 在您的 AMS 账户中进行预配置](code-deploy.md)。
+ AWS CodePipeline：一项完全托管的[持续交付](https://aws.amazon.com/devops/continuous-delivery/)服务，可帮助您实现发布管道的自动化，从而实现快速可靠的应用程序和基础设施更新。 CodePipeline 每次发生代码更改时，都会根据您定义的发布模型自动执行发布过程的构建、测试和部署阶段。这让您可以快速而可靠地交付各种功能和更新。您可以轻松地 AWS CodePipeline 与第三方服务集成，例如 GitHub 或与您自己的自定义插件集成。使用 AWS CodePipeline，您只需为实际用量付费。无前期费用，无长期承诺。要了解更多信息，请参阅 [AWS CodePipeline](https://aws.amazon.com/codepipeline/)。

  要将其独立于 AMS Code 服务部署到您的 AMS 账户中，请参阅[使用 AMS SSP AWS CodePipeline 在您的 AMS 账户中进行配置](code-pipeline.md)。

## AWS Managed Services 常见问题解答中的 AMS 代码服务
<a name="set-code-services-faqs"></a>

**问：如何使用我的 AMS 账户申请访问 AMS Code 服务？**

通过提交管理 \$1 AWS 服务 \$1 自配置服务 \$1 添加（托管自动化）(ct-3qe6io8t6jtny) 更改类型来请求访问权限。此 RFC 为您的账户配置以下 IAM 角色:`customer_code_suite_console_role`. 在您的账户中配置后，您必须在联合解决方案中加入该角色。此时，AMS Operation `customer_codebuild_service_role` s 还将在您的账户中为 CodeDeploy 和`aws_code_pipeline_service_role`服务部署 CodeBuild、、 CodePipeline 服务角色。`customer_codedeploy_service_role`如果需要其他 IAM 权限，请提交 AMS 服务请求。`customer_codebuild_service_role`

**注意**  
您也可以单独添加这些服务；有关信息，请分别参见[使用 AMS SSP AWS CodeBuild 在您的 AMS 账户中进行预配置](code-build.md)[使用 AMS SSP AWS CodeDeploy 在您的 AMS 账户中进行预配置](code-deploy.md)[使用 AMS SSP AWS CodePipeline 在您的 AMS 账户中进行配置](code-pipeline.md)、和。

**问：在我的 AMS 账户中使用 AMS 代码服务有哪些限制？**
+ AWS CodeCommit：如果具有创建 SNS 主题的相关权限， CodeCommit 则开启的触发器功能已禁用。直接进行身份验证受到限制；用户应使用 Cre CodeCommit dential Helper 进行身份验证。某些 KMS 命令也受到限制： kms:加密、 kms:解密、 kms:ReEncrypt、 kms:GenereteDataKey kms:GenerateDataKeyWithoutPlaintext、和。 kms: DescribeKey
+ CodeBuild：对于 AWS CodeBuild 控制台管理员访问权限，权限在资源级别受到限制；例如，对特定资源的 CloudWatch 操作受到限制，`iam:PassRole`权限受到控制。
+ CodeDeploy：目前仅 CodeDeploy 支持在 Amazon EC2/本地部署。不支持通过 CodeDeploy ECS 和 Lambda 进行部署。
+ CodePipeline: CodePipeline 功能、阶段和提供者仅限于以下内容：
  + 部署阶段：亚马逊 S3 和 AWS CodeDeploy
  + 来源阶段：Amazon S3、 AWS CodeCommit、Bit Bucket 和 GitHub
  + 建造阶段： AWS CodeBuild 还有 Jenkins
  + 批准阶段：亚马逊 SNS
  + 测试阶段： AWS CodeBuild、Jenkins、、Ghost Inspector UI 测试、Micro Focus Loa StormRunner d、Runscope BlazeMeter
  + 调用阶段：Step Functions 和 Lambda
**注意**  
AMS Operations `customer_code_pipeline_lambda_policy` 在您的账户中部署；它必须与 Lambda 调用阶段的 Lambda 执行角色相关联。提供您想要添加此策略的 Lambda service/execution 角色名称。如果没有自定义 Lambda service/execution 角色，则 AMS 会创建一个名为的新角色`customer_code_pipeline_lambda_execution_role`，该角色是和的` customer_lambda_basic_execution_role`副本。`customer_code_pipeline_lambda_policy`

**问：在我的 AMS 账户中使用 AMS Code 服务的先决条件或依赖条件是什么？**
+ CodeCommit：如果 S3 存储桶使用 AWS KMS 密钥加密， AWS KMS 则必须使用 AWS CodeCommit S3 和。
+ CodeBuild：如果定义的 AWS CodeBuild 服务角色需要其他 IAM 权限，请通过 AMS 服务请求请求这些权限。
+ CodeDeploy: 无。
+ CodePipeline: 无。 AWS 支持的服务 AWS CodeDeploy—AWS CodeCommit AWS CodeBuild、、— 必须在发布之前或同时启动。 CodePipeline但是，这是由 AMS 工程师完成的。