本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
应用程序功能:IAM 角色、资源策略和嵌套应用程序
在部署应用程序之前,AWS Serverless Application Repository会检查应用程序的模板中是否有模板指定应创建的 IAM 角色、AWS资源策略和嵌套应用程序。IAM 资源(如具有完全访问权限的 IAM 角色)可以修改您的AWS账户中的任何资源。因此,建议您在继续之前检查与应用程序关联的权限,以便您不会无意中创建具有升级权限的资源。为了确保您已执行此操作,您必须确认应用程序包含功能,然后 AWS Serverless Application Repository 才能代表您部署应用程序。
应用程序可能包含以下四个功能中的任何功能:CAPABILITY_IAM
、CAPABILITY_NAMED_IAM
、CAPABILITY_RESOURCE_POLICY
和 CAPABILITY_AUTO_EXPAND
。
以下资源需要您指定CAPABILITY_IAM
或CAPABILITY_NAMED_IAM
:AWS::IAM::Group、AWS::IAM::InstanceProfileAWS::IAM::Policy、和AWS::IAM::Role。如果应用程序包含具有自定义名称的 IAM 资源,您必须指定 CAPABILITY_NAMED_IAM
。有关如何指定功能的示例,请参阅查找并确认应用程序功能 (AWS CLI)。
以下资源需要您指定CAPABILITY_RESOURCE_POLICY
:AWS::Lambda::LayerVersion权限、、AWS::Events::EventBus策略AWS::Lambda::Permission、AWS:: IAM: Pol ic AWS::ApplicationAutoScaling::ScalingPolicyy、AWS::S3::BucketPolicy、AWS::SQS::QueuePolicy、和AWS::SNS::TopicPolicy。
包含一个或多个嵌套应用程序的应用程序要求您指定 CAPABILITY_AUTO_EXPAND
。有关嵌套应用程序的更多信息,请参阅AWS Serverless Application Model开发人员指南中的嵌套应用程序。
查找并确认应用程序功能(控制台)
您可以在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 角色或资源策略) 复选框。如果您不承认这些功能,则会看到以下错误消息:需要确认。要部署,请选中 “配置应用程序参数” 部分中的复选框。
查看应用程序功能 (AWS CLI)
要使用 AWS CLI 查看应用程序的功能,首先需要应用程序的 Amazon 资源名称 (ARN)。然后,您可以执行以下命令:
aws serverlessrepo get-application \ --application-id
application-arn
requiredCapabilities 响应属性包含您需要确认然后才能部署应用程序的应用程序功能列表。请注意,如果 requiredCapabilities 属性为空,则应用程序没有所需功能。