Funzionalità delle applicazioni: ruoli IAM, policy delle risorse e applicazioni nidificate - AWS Serverless Application Repository

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Funzionalità delle applicazioni: ruoli IAM, policy delle risorse e applicazioni nidificate

Prima di poter distribuire un'applicazione,AWS Serverless Application Repository verifica nel modello dell'applicazione i ruoli IAM, le politicheAWS delle risorse e le applicazioni annidate che il modello specifica che deve creare. Le risorse IAM, ad esempio ruolo IAM con accesso completo, possono modificare tutte le risorse nell'AWSaccount. Pertanto, ti consigliamo di esaminare le autorizzazioni associate all'applicazione; prima di continuare, in modo da non creare inavvertitamente le risorse con autorizzazioni di escalation. A tale scopo, per fare in modo che AWS Serverless Application Repository distribuisca l'applicazione a tuo nome, devi accettare le funzionalità incluse nell'applicazione.

Le applicazioni possono contenere una o più delle seguenti quattro funzionalità: CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_RESOURCE_POLICY e CAPABILITY_AUTO_EXPAND.

Le seguenti risorse richiedono di specificareCAPABILITY_IAM oCAPABILITY_NAMED_IAM: AWS::IAM::GroupAWS::IAM::InstanceProfile, AWS::IAM::Policy, e AWS::IAM::Role. Se l'applicazione include risorse IAM con nomi personalizzati, devi specificare CAPABILITY_NAMED_IAM. Per un esempio su come specificare le funzionalità, consulta Individuazione e accettazione delle funzionalità delle applicazioni (AWS CLI).

Le seguenti risorse richiedono di specificareCAPABILITY_RESOURCE_POLICY: AWS::Lambda::LayerVersionPermission AWS::Lambda::Permission, AWS::Events::EventBusPolicy, AWS: :iam:Policy AWS::ApplicationAutoScaling::ScalingPolicy, AWS::S3::BucketPolicy, AWS::SQS::QueuePolicy, e AWS::SNS::TopicPolicy.

Le applicazioni che includono una o più applicazioni nidificate richiedono di specificare CAPABILITY_AUTO_EXPAND. Per ulteriori informazioni sulle applicazioni nidificate, consulta Applicazioni nidificate nella Guida per sviluppatori di AWS Serverless Application Model.

Individuazione e accettazione delle funzionalità delle applicazioni (console)

Puoi trovare le applicazioni disponibiliAWS Serverless Application Repository sul AWS Serverless Application Repositorysito Web o tramite la console Lambda (nella pagina Crea funzione sotto laAWS Serverless Application Repository scheda).

Per impostazione predefinita, le applicazioni che richiedono l'accettazione delle funzionalità di creazione di ruoli IAM o policy delle risorse personalizzati non vengono mostrate nei risultati di ricerca. Per cercare le applicazioni che includono tali funzionalità, è necessario selezionare la casella di controllo Show apps that create custom IAM roles or resource policies (Mostra app in grado di creare ruoli IAM o policy delle risorse personalizzati).

Puoi controllare le funzionalità di un'applicazione nella scheda Autorizzazioni al momento della selezione dell'applicazione. Per distribuire l'applicazione, è necessario selezionare la casella di controllo I acknowledge this application creates custom IAM roles or resource policies (Accetto la creazione di ruoli IAM o policy delle risorse personalizzati da parte di questa applicazione). Se non riconosci queste funzionalità, viene visualizzato questo messaggio di errore: Riconoscimento richiesto. Per eseguire la distribuzione, seleziona la casella nella sezione Configura i parametri dell'applicazione.

Visualizzazione delle funzionalità delle applicazioni (AWS CLI)

Per visualizzare le funzionalità di un'applicazione utilizzando l'AWS CLI, è necessario innanzitutto l'Amazon Resource Name (ARN) dell'applicazione. Quindi puoi eseguire il seguente comando:

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

La proprietà della risposta requiredCapabilities include l'elenco delle funzionalità dell'applicazione da accettare per distribuire l'applicazione. Se la proprietà requiredCapabilities non contiene alcun valore, l'applicazione non dispone delle funzionalità necessarie.