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

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

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

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

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

以下资源要求您指定 CAPABILITY_RESOURCE_POLICYAWS::Lambda::LayerVersionPermissionAWS::Lambda::PermissionAWS::Events::EventBusPolicyAWS::IAM:PolicyAWS::ApplicationAutoScaling::ScalingPolicyAWS::S3::BucketPolicyAWS::SQS::QueuePolicyAWS::SNS::TopicPolicy

包含一个或多个嵌套应用程序的应用程序要求您指定 CAPABILITY_AUTO_EXPAND。有关嵌套应用程序的更多信息,请参阅 AWS 无服务器应用程序模型 开发人员指南 中的嵌套应用程序

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

您可以在 AWS Serverless Application Repository 网站上或通过 Lambda 控制台(在创建函数页面中的 AWS Serverless Application Repository 选项卡下)查找 AWS 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 角色或资源策略) 复选框。如果您没有确认这些功能,将显示此错误消息:Acknowledgement required.To deploy, check the box in Configure application parameters section (需要确认。要部署,请选中“配置应用程序参数”部分中的框)

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

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

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

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