Fonctionnalités des applications : rôles IAM, stratégies de ressources et applications imbriquées - AWS Serverless Application Repository

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Fonctionnalités des applications : rôles IAM, stratégies de ressources et applications imbriquées

Avant de déployer une application, ilAWS Serverless Application Repository vérifie dans le modèle de l'application les rôles IAM, les politiques deAWS ressources et les applications imbriquées que le modèle indique qu'il doit créer. Les ressources IAM, telles qu'un rôle IAM disposant d'un accès complet, peuvent modifier n'importe quelle ressource de votreAWS compte. Par conséquent, nous vous recommandons de passer en revue les autorisations associées à l'application avant de poursuivre. Vous éviterez ainsi de créer par erreur des ressources disposant d'autorisations que vous ne souhaitez pas accorder. Pour ce faire, vous devez confirmer que l'application contient des capacités pour qu'AWS Serverless Application Repository puisse déployer l'application en votre nom.

Les applications peuvent contenir l'une des quatre capacités suivantes : CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_RESOURCE_POLICY et CAPABILITY_AUTO_EXPAND.

Les ressources suivantes nécessitent que vous spécifiiezCAPABILITY_IAM ouCAPABILITY_NAMED_IAM : AWS::IAM::GroupAWS::IAM::InstanceProfile, AWS::IAM::Policy, et AWS::IAM::Role. Si l'application contient des ressources IAM dotées de noms personnalisés, vous devez spécifier CAPABILITY_NAMED_IAM. Pour obtenir un exemple de spécification des capacités, veuillez consulter Recherche et confirmation des capacités d'une application (AWS CLI).

Les ressources suivantes nécessitent que vous spécifiiezCAPABILITY_RESOURCE_POLICY : AWS::Lambda::LayerVersionPermission AWS::Lambda::Permission, AWS::Events::EventBusPolicy, AWS : :Iam:Policy AWS::ApplicationAutoScaling::ScalingPolicy, AWS::S3::BucketPolicy, AWS::SQS::QueuePolicy, et AWS::SNS::TopicPolicy.

Les applications contenant une ou plusieurs applications imbriquées exigent de spécifier CAPABILITY_AUTO_EXPAND. Pour plus d'informations sur les applications imbriquées, consultez la rubrique relative aux applications imbriquées dans le Guide du développeur AWS Serverless Application Model.

Recherche et confirmation des capacités d'une application (console)

Vous pouvez trouver des applications disponiblesAWS Serverless Application Repository sur le AWS Serverless Application Repositorysite Web ou via la console Lambda (sur la page Créer une fonction sous l'AWS Serverless Application Repositoryonglet).

Les applications qui exigent la confirmation des capacités pour créer des rôles IAM ou des stratégies de ressources personnalisés ne s'affichent pas dans les résultats de la recherche par défaut. Pour rechercher les applications contenant ces capacités, vous devez cocher la case Afficher les applications qui créent des rôles IAM ou des stratégies de ressources personnalisés.

Vous pouvez passer en revue les capacités d'une application dans l'onglet Permissions (Autorisations) lorsque vous sélectionnez l'application. Pour déployer l'application, vous devez cocher la case Je confirme que cette application crée des rôles IAM ou des stratégies de ressources personnalisés. Si vous ne confirmez pas ces fonctionnalités, le message d'erreur suivant s'affiche : Reconnaissance requise. Pour déployer, cochez la case dans la section Configurer les paramètres de l'application.

Affichage des fonctionnalités des applications (AWS CLI)

Pour afficher les capacités d'une application à l'aide de AWS CLI, vous avez d'abord besoin de l'ARN (Amazon Resource Name) de l'application. Vous pouvez ensuite exécuter la commande suivante :

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

La propriété de réponse requiredCapabilities contient la liste des capacités d'application que vous devez confirmer pour pouvoir déployer l'application. Notez que si la propriété requiredCapabilities est vide, l'application n'a pas de capacités requises.