应用程序功能:IAM 角色、资源策略和嵌套应用程序 - Amazon Serverless Application Repository
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

应用程序功能:IAM 角色、资源策略和嵌套应用程序

在部署应用程序之前,Amazon Serverless Application Repository检查应用程序的模板是否存在 IAM 角色,Amazon资源策略以及模板指定应创建的嵌套应用程序。IAM 资源 (如具有完全访问权限的 IAM 角色) 可以修改您的中的任何资源。Amazonaccount. 因此,建议您在继续之前检查与应用程序关联的权限,以便您不会无意中创建具有升级权限的资源。为了确保您已执行此操作,您必须确认应用程序包含功能,然后 Amazon Serverless Application Repository 才能代表您部署应用程序。

应用程序可能包含以下四个功能中的任何功能:CAPABILITY_IAMCAPABILITY_NAMED_IAMCAPABILITY_RESOURCE_POLICYCAPABILITY_AUTO_EXPAND

以下资源要求您指定:CAPABILITY_IAM要么CAPABILITY_NAMED_IAMAWS::IAM::GroupAWS::IAM::InstanceProfileAWS::IAM::Policy, 和AWS::IAM::Role. 如果应用程序包含具有自定义名称的 IAM 资源,您必须指定 CAPABILITY_NAMED_IAM。有关如何指定功能的示例,请参阅查找并确认应用程序功能 (Amazon CLI)

以下资源要求您指定:CAPABILITY_RESOURCE_POLICYAWS::Lambda::LayerVersionPermissionAWS::Lambda::PermissionAWS::Events::EventBusPolicyAmazon። IAM: 政策AWS::ApplicationAutoScaling::ScalingPolicyAWS::S3::BucketPolicyAWS::SQS::QueuePolicy, 和AWS::SNS::TopicPolicy.

包含一个或多个嵌套应用程序的应用程序要求您指定 CAPABILITY_AUTO_EXPAND。有关嵌套应用程序的更多信息,请参嵌套应用中的Amazon Serverless Application Model开发人员指南.

查找并确认应用程序功能(控制台)

您可以在中查找可用的应用程序Amazon Serverless Application Repository在Amazon Serverless Application Repository网站,或通过Lambda 控制台(在创建函数下面的页面Amazon Serverless Application Repository选项卡).

默认情况下,要求确认用于创建自定义 IAM 角色或资源策略的功能的应用程序不会显示在搜索结果中。要搜索包含这些功能的应用程序,您必须选中 Show apps that create custom IAM roles or resource policies (显示创建自定义 IAM 角色或资源策略的应用程序) 复选框。

在您选择应用程序时,可以在 Permissions (权限) 选项卡下查看应用程序的功能。要部署应用程序,您需要选中 I acknowledge this application creates custom IAM roles or resource policies (我确认此应用程序创建自定义 IAM 角色或资源策略) 复选框。如果您没有确认这些功能,将显示此错误消息:确认是必需的。要部署,请选中 “配置应用程序参数” 部分中的框.

查看应用程序功能 (Amazon CLI)

要使用 Amazon CLI 查看应用程序的功能,首先需要应用程序的 Amazon 资源名称 (ARN)。然后,您可以执行以下命令:

aws serverlessrepo get-application \ --application-id application-arn

requiredCapabilities 响应属性包含您需要确认然后才能部署应用程序的应用程序功能列表。请注意,如果 requiredCapabilities 属性为空,则应用程序没有所需功能。