AWS Serverless Application RepositoryExemples de politiques d'application - 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.

AWS Serverless Application RepositoryExemples de politiques d'application

Les politiques d'autorisation associées auxAWS Serverless Application Repository applications sont appelées politiques d'application. Les politiques d'application déterminent les actions qu'un principal ou PrincipalOrg spécifié peut effectuer sur uneAWS Serverless Application Repository application.

UneAWS Serverless Application Repository application est laAWS ressource principale duAWS Serverless Application Repository. AWS Serverless Application Repositoryles politiques relatives aux applications sont principalement utilisées par les éditeurs pour autoriser les consommateurs à déployer leurs applications, ainsi que pour les opérations connexes, telles que la recherche et l'affichage des détails de ces applications.

Les éditeurs peuvent définir les autorisations d'application selon les trois catégories suivantes :

  • Privé : applications qui ont été créées avec le même compte et qui n'ont été partagées avec aucun autre compte. Seuls les utilisateurs qui partagent votreAWS compte sont autorisés à déployer des applications privées.

  • Partagées en privé : applications que l'éditeur a explicitement partagées avec un ensemble deAWS comptes spécifique ou avecAWS des comptes d'uneAWS organisation. Les utilisateurs sont autorisés à déployer des applications qui ont été partagées avec leurAWS compte ou leurAWS organisation. Pour plus d'informations surAWS les organisations, consultez le Guide deAWS Organizations l'utilisateur.

  • Partagées publiquement : applications que l'éditeur a partagées avec tout le monde. Tous les consommateurs ont l'autorisation de déployer n'importe quelle application partagée publiquement.

Note

Pour les applications partagées en privé,AWS Serverless Application Repository seuls les AWScomptes principaux sont pris en charge. Les éditeurs peuvent accorder ou refuser l'accès à uneAWS Serverless Application Repository application à tous les utilisateurs d'unAWS compte en tant que groupe unique. Les éditeurs ne peuvent pas autoriser ou refuser l'accès à uneAWS Serverless Application Repository application à des utilisateurs individuels au sein d'unAWS compte.

Pour de plus amples informations sur la définition des autorisations d'application à l'aide de la AWS Management Console, veuillez consulterSuppression d'une application.

Pour de plus amples informations sur la définition des autorisations d'application à l'aide de AWS CLI et des exemples, veuillez consulter les sections suivantes.

Autorisations des applications (AWS CLIetAWS SDK)

Lorsque vous utilisez leAWS CLI ou lesAWS SDK pour définir les autorisations d'uneAWS Serverless Application Repository application, vous pouvez spécifier les actions suivantes :

Action Description
GetApplication

Accorde une autorisation pour afficher des informations sur l'application.

CreateCloudFormationChangeSet

Accorde une autorisation pour déployer l'application.

Remarque : cette action n'accorde aucune autre autorisation que celle permettant de déployer.

CreateCloudFormationTemplate

Accorde l'autorisation de créer un modèle AWS CloudFormation pour l'application.

ListApplicationVersions Accorde l'autorisation de répertorier les versions de l'application.
ListApplicationDependencies Accorde l'autorisation de répertorier les applications imbriquées dans l'application qu'elles contiennent.
SearchApplications Accorde une autorisation pour rechercher l'application.
Déploiement

Cette action active toutes les actions répertoriées précédemment dans le tableau. Autrement dit, elle accorde l'autorisation d'afficher l'application, de la déployer, de lister les versions et de la rechercher.

Exemples de stratégie de

Les exemples suivants montrent comment accorder des autorisations à l'aide de la AWS CLI. Pour de plus amples informations sur la façon d'accorder des autorisations à l'aide de l'AWS Management Console, veuillez consulter Suppression d'une application.

Tous les exemples de cette section utilisent les commandes AWS CLI suivantes pour gérer les stratégies d'autorisations associées aux applications AWS Serverless Application Repository :

Exemple 1 : partager une application avec un autre compte

Pour partager une application avec un autre compte spécifique, mais empêcher qu'elle soit partagée avec d'autres utilisateurs, vous devez spécifier l'identifiant duAWS compte avec lequel vous souhaitez partager en tant que compte principal. Ceci correspond à la définition de l'application sur partagé en privé. Pour ce faire, exécutez la commande AWS CLI suivante.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id,Actions=Deploy
Note

Les applications partagées en privé ne peuvent être utilisées que dans laAWS région où l'application a été créée.

Exemple 2 : partager publiquement une application

Pour rendre une application publique, vous la partagez avec tous en spécifiant « * » comme mandataire, comme illustré dans l'exemple suivant. Les applications qui sont partagées publiquement sont disponibles dans toutes les régions.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=*,Actions=Deploy
Note

Pour partager publiquement une application, elle doit avoir à la fois définies les propriétés LicenseUrl et SemanticVersion.

Exemple 3 : rendre une application privée

Vous pouvez rendre une application privée afin qu'elle ne soit partagée avec personne et qu'elle ne puisse être déployée que par leAWS compte qui en est propriétaire. Pour ce faire, vous supprimez les principes et les actions de la politique, ce qui supprime également les autorisations accordées aux autres comptes de votreAWS organisation pour déployer votre application.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements '[]'
Note

Les applications privées ne peuvent être utilisées que dans laAWS région où l'application a été créée.

Exemple 4 : spécification de plusieurs comptes et autorisations

Vous pouvez accorder plusieurs autorisations, et vous pouvez les accorder à plusieursAWS comptes à la fois. Pour ce faire, vous spécifiez des listes en tant que mandataire et actions, comme indiqué dans l'exemple suivant.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id-1,account-id-2,Actions=GetApplication,CreateCloudFormationChangeSet

Exemple 5 : partager une application avec tous les comptes d'uneAWS organisation

Les autorisations peuvent être accordées à tous les utilisateurs d'uneAWS organisation. Pour ce faire, spécifiez l'ID de votre organisation, comme dans l'exemple suivant.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=*,PrincipalOrgIDs=org-id,Actions=Deploy,UnshareApplication

Pour plus d'informations surAWS les organisations, consultez le Guide deAWS Organizations l'utilisateur.

Note

Vous pouvez uniquement spécifier l'AWSorganisation dont votreAWS compte est membre. Si vous essayez de spécifier uneAWS organisation dont vous n'êtes pas membre, une erreur se produira.

Pour partager votre application avec votreAWS organisation, vous devez inclure une autorisation pour l'UnshareApplicationaction, au cas où le partage doive être révoqué future.

Exemple 6 : Partage d'une application avec certains comptes d'uneAWS organisation

Des autorisations peuvent être accordées à des comptes spécifiques au sein d'uneAWS organisation. Pour ce faire, vous devez spécifier une liste deAWS comptes en tant que compte principal et l'identifiant de votre organisation, comme dans l'exemple suivant.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id-1,account-id-2,PrincipalOrgIDs=org-id,Actions=Deploy,UnshareApplication
Note

Vous pouvez uniquement spécifier l'AWSorganisation dont votreAWS compte est membre. Si vous essayez de spécifier uneAWS organisation dont vous n'êtes pas membre, une erreur se produira.

Pour partager votre application avec votreAWS organisation, vous devez inclure une autorisation pour l'UnshareApplicationaction, au cas où le partage doive être révoqué future.

Exemple 7 : récupérer une stratégie d'application

Pour afficher la stratégie en cours d'une application, par exemple pour voir si elle est actuellement partagée, vous utilisez la commande get-application-policy, tel qu'illustré dans l'exemple suivant.

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

Exemple 8 : autoriser l'imbrication de l'application par certains comptes

Tout le monde peut imbriquer des applications publiques. Pour autoriser l'imbrication de votre application par certains comptes uniquement, vous devez définir les autorisations minimales suivantes, comme illustré à l'exemple suivant.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id-1,account-id-2,Actions=GetApplication,CreateCloudFormationTemplate