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 Repository Exemples de politiques d'application
Les politiques d'autorisation associées aux AWS 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 une AWS Serverless Application Repository application.
Une AWS Serverless Application Repository application est la AWS ressource principale du AWS Serverless Application Repository. AWS Serverless Application Repository les politiques relatives aux applications sont principalement utilisées par les éditeurs pour autoriser les consommateurs à déployer leurs applications, ainsi que pour effectuer des 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 créées avec le même compte et qui n'ont été partagées avec aucun autre compte. Seuls les utilisateurs qui partagent votre AWS compte sont autorisés à déployer des applications privées.
-
Partage privé : applications que l'éditeur a explicitement partagées avec un ensemble de AWS comptes spécifique ou avec des AWS comptes au sein d'une AWS organisation. Les utilisateurs sont autorisés à déployer des applications partagées avec leur AWS compte ou leur AWS organisation. Pour plus d'informations sur AWS les organisations, consultez le guide de AWS Organizations l'utilisateur.
-
Partage public : 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é, le AWS Serverless Application Repository seul prend en charge les AWS comptes en tant que principaux. Les éditeurs peuvent accorder ou refuser l'accès à tous les utilisateurs d'un AWS compte en tant que groupe unique pour une AWS Serverless Application Repository application. Les éditeurs ne peuvent pas accorder ou refuser des utilisateurs individuels au sein d'un AWS compte pour une AWS Serverless Application Repository application.
Pour obtenir des instructions sur la définition des autorisations des applications à l'aide du AWS Management Console, voirSuppression d'une application.
Pour obtenir des instructions sur la définition des autorisations des applications à l'aide des exemples AWS CLI et, consultez les sections suivantes.
Autorisations d'application (AWS CLI et AWS SDKs)
Lorsque vous utilisez le AWS CLI ou AWS SDKs pour définir des autorisations pour une AWS Serverless Application Repository application, vous pouvez définir 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 AWS CloudFormation modèle 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 politiques d'application
Les exemples suivants montrent comment accorder des autorisations à l'aide de la AWS CLI. Pour plus d'informations sur la façon d'octroyer des autorisations à l'aide du AWS Management Console, voirSuppression d'une application.
Tous les exemples de cette section utilisent AWS CLI les commandes suivantes pour gérer les politiques d'autorisation associées aux AWS Serverless Application Repository applications :
Rubriques
Exemple 1 : partager une application avec un autre compte
Pour partager une application avec un autre compte spécifique, mais empêcher qu'elle ne soit partagée avec d'autres personnes, vous devez spécifier l'identifiant du AWS compte que vous souhaitez partager en tant que principal. Ceci correspond à la définition de l'application sur partagé en privé. Pour ce faire, utilisez la AWS CLI commande suivante.
aws serverlessrepo put-application-policy \ --region
region
\ --application-idapplication-arn
\ --statements Principals=account-id
,Actions=Deploy
Note
Les applications partagées en privé ne peuvent être utilisées que dans la même AWS 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-idapplication-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 le AWS compte qui en est le propriétaire. Pour ce faire, vous supprimez les principes et les actions de la politique, qui supprime également les autorisations des autres comptes de votre AWS organisation quant au déploiement de votre application.
aws serverlessrepo put-application-policy \ --region
region
\ --application-idapplication-arn
\ --statements '[]'
Note
Les applications privées ne peuvent être utilisées que dans la même AWS 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 à plusieurs AWS 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-idapplication-arn
\ --statements Principals=account-id-1
,account-id-2
,Actions=GetApplication,CreateCloudFormationChangeSet
Exemple 5 : partager une application avec tous les comptes d'une AWS organisation
Les autorisations peuvent être accordées à tous les utilisateurs d'une AWS organisation. Pour ce faire, spécifiez l'ID de votre organisation, comme dans l'exemple suivant.
aws serverlessrepo put-application-policy \ --region
region
\ --application-idapplication-arn
\ --statements Principals=*,PrincipalOrgIDs=org-id
,Actions=Deploy,UnshareApplication
Pour plus d'informations sur AWS les organisations, consultez le guide de l'AWS Organizations utilisateur.
Note
Vous pouvez uniquement indiquer l' AWS organisation dont votre AWS compte est membre. Si vous essayez de spécifier une AWS organisation dont vous n'êtes pas membre, une erreur se produira.
Pour partager votre application avec votre AWS organisation, vous devez inclure une autorisation pour l'UnshareApplication
action, au cas où le partage doive être révoqué à l'avenir.
Exemple 6 : Partage d'une application avec certains comptes d'une AWS organisation
Des autorisations peuvent être accordées à des comptes spécifiques au sein d'une AWS organisation. Pour ce faire, spécifiez une liste de AWS comptes comme principal et l'identifiant de votre organisation, comme dans l'exemple suivant.
aws serverlessrepo put-application-policy \ --region
region
\ --application-idapplication-arn
\ --statements Principals=account-id-1
,account-id-2
,PrincipalOrgIDs=org-id
,Actions=Deploy,UnshareApplication
Note
Vous pouvez uniquement indiquer l' AWS organisation dont votre AWS compte est membre. Si vous essayez de spécifier une AWS organisation dont vous n'êtes pas membre, une erreur se produira.
Pour partager votre application avec votre AWS organisation, vous devez inclure une autorisation pour l'UnshareApplication
action, au cas où le partage doive être révoqué à l'avenir.
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-idapplication-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-idapplication-arn
\ --statements Principals=account-id-1
,account-id-2
,Actions=GetApplication,CreateCloudFormationTemplate