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

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

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

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

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

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

以下资源需要您指定CAPABILITY_RESOURCE_POLICYAWS::Lambda::LayerVersion权限、、AWS::Events::EventBus策略AWS::Lambda::PermissionAWS:: IAM: Pol ic AWS::ApplicationAutoScaling::ScalingPolicyy、AWS::S3::BucketPolicyAWS::SQS::QueuePolicy、和AWS::SNS::TopicPolicy

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

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

您可以在Amazon Serverless Application Repository网站上找到可用的应用程序,也可以通过 Lambda 控制台(在Amazon Serverless Application Repository选项卡下的 “创建函数” 页面上)找到可用的应用程序。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 属性为空,则应用程序没有所需功能。