本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
應用程式功能: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::GroupAWS::IAM::InstanceProfile、AWS::IAM::Policy、和AWS::IAM::Role。如果應用程式包含具有自訂名稱的 IAM 資源,則您必須指定 CAPABILITY_NAMED_IAM
。如需如何指定功能的範例,請參閱尋找並認可應用程式功能 (AWS CLI)。
下列資源需要您指定CAPABILITY_RESOURCE_POLICY
:AWS::Lambda::LayerVersion權限AWS::Lambda::Permission、AWS::Events::EventBus政策、AWS:: IAM: 政策AWS::ApplicationAutoScaling::ScalingPolicy、AWS::S3::BucketPolicy、AWS::SQS::QueuePolicy、和AWS::SNS::TopicPolicy。
包含一個或多個巢狀應用程式的應用程式需要由您指定 CAPABILITY_AUTO_EXPAND
。如需巢狀應用程式的詳細資訊,請參閱AWS Serverless Application Model開發人員指南中的巢狀應用程式
尋找並認可應用程式功能 (主控台)
您可以在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 polices (我認可此應用程式會建立自訂 IAM 角色或資源政策) 核取方塊。如果您不認可這些功能,您會看到此錯誤訊息:需要確認。若要部署,請核取 [設定應用程式參數] 區段中的方塊。
檢視應用程式功能 (AWS CLI)
若要使用 AWS CLI 檢視應用程式的功能,您首先需要應用程式的 Amazon Resource Name (ARN)。然後,您可以執行以下命令:
aws serverlessrepo get-application \ --application-id
application-arn
requiredCapabilities 回應屬性包含了您必須認可後才能部署應用程式的應用程式各項功能的清單。請注意,如果 requiredCapabilities 屬性為空,則應用程式沒有必要的功能。