Utilisation de paramètres partagés dans Parameter Store - AWS Systems Manager

Utilisation de paramètres partagés dans Parameter Store

Le partage des paramètres avancés simplifie la gestion des données de configuration dans un environnement multi-comptes. Vous pouvez stocker et gérer vos paramètres de manière centralisée et les partager avec d’autres Comptes AWS qui ont besoin d’y faire référence.

Parameter Store s’intègre à AWS Resource Access Manager (AWS RAM) pour permettre le partage des paramètres avancés. AWS RAM est un service qui vous permet de partager des ressources avec d’autres Comptes AWS ou via AWS Organizations.

Avec AWS RAM, vous pouvez partager des ressources dont vous êtes propriétaire en créant un partage de ressources. Un partage de ressources spécifie les ressources à partager, les autorisations à accorder et les consommateurs avec lesquels partager. Les consommateurs peuvent être :

  • Des Comptes AWS spécifiques à l’intérieur ou à l’extérieur de leur organisation dans AWS Organizations

  • Une unité organisationnelle au sein de son organisation dans AWS Organizations

  • L'ensemble de son organisation dans AWS Organizations

Pour plus d’informations sur AWS RAM, consultez le Guide de l’utilisateur AWS RAM.

Cette rubrique explique comment partager les paramètres que vous possédez et comment utiliser les paramètres qui sont partagés avec vous.

Conditions préalables au partage de paramètres

Les conditions suivantes doivent être remplies pour que vous puissiez partager des paramètres à partir de votre compte :

  • Pour partager un paramètre, vous devez le posséder dans votre Compte AWS. Vous ne pouvez pas partager un paramètre qui a été partagé avec vous.

  • Pour partager un paramètre, celui-ci doit se trouver dans le niveau de paramètre avancé. Pour plus d’informations sur les niveaux de paramètres, consultez Gestion des niveaux de paramètres. Pour plus d’informations sur la transformation d’un paramètre standard existant en paramètre avancé, consultez Remplacement d'un paramètre standard par un paramètre avancé.

  • Pour partager un paramètre SecureString, il doit être chiffré avec une clé gérée par le client, et vous devez partager la clé séparément via AWS Key Management Service. Le paramètre Clés gérées par AWS ne peut pas être partagé. Les paramètres chiffrés avec la clé par défaut Clé gérée par AWS peuvent être mis à jour pour utiliser une clé gérée par le client. Pour les définitions des clés AWS KMS, consultez Concepts AWS KMS dans le Guide du développeur AWS Key Management Service.

  • Pour partager un paramètre avec votre organisation ou une unité d’organisation dans AWS Organizations, vous devez activer le partage avec AWS Organizations. Pour plus d’informations, consultez Activation du partage avec AWS Organizations dans le Guide de l’utilisateur AWS RAM.

Partage d’un paramètre

Pour partager un paramètre, vous devez l’ajouter à un partage de ressources. Un partage de ressources est une ressource AWS RAM qui vous permet de partager vos ressources entre des Comptes AWS. Un partage de ressources spécifie les ressources à partager, ainsi que les consommateurs avec qui elles seront partagées.

Lorsque vous partagez un paramètre dont vous êtes propriétaire avec d’autres Comptes AWS, vous avez le choix entre deux autorisations gérées par AWS à accorder aux consommateurs. Pour de plus amples informations, consultez Jeux d’autorisations pour le partage de paramètres.

Si vous faites partie d’une organisation dans AWS Organizations et que le partage au sein de votre organisation est activé, vous pouvez accorder aux consommateurs de votre organisation l’accès au paramètre partagé à partir de la console AWS RAM. Dans le cas contraire, les consommateurs reçoivent une invitation à rejoindre le partage de ressources et bénéficient d’un accès au paramètre partagé après avoir accepté l’invitation.

Vous pouvez partager un paramètre qui vous appartient à l’aide de la console AWS RAM ou de l’AWS CLI.

Note

Bien que vous puissiez partager un paramètre à l’aide de l’opération d’API PutResourcePolicy de Systems Manager, nous vous recommandons d’utiliser plutôt AWS Resource Access Manager (AWS RAM). En effet, l’utilisation de PutResourcePolicy nécessite l’étape supplémentaire consistant à promouvoir le paramètre en partage de ressources standard à l’aide de l’opération d’API AWS RAM PromoteResourceShareCreatedFromPolicy. Sinon, le paramètre ne sera pas renvoyé par l’opération d’API DescribeParameters de Systems Manager à l’aide de l’option --shared.

Pour partager un paramètre dont vous êtes propriétaire à l’aide de la console AWS RAM

Consultez Création d’un partage de ressources dans AWS RAM dans le Guide de l’utilisateur AWS RAM.

Effectuez les sélections suivantes au fur et à mesure de la procédure :

  • Dans la page Étape 1, pour Ressources, sélectionnez Parameter Store Advanced Parameter, puis cochez la case de chaque paramètre du niveau de paramètre avancé que vous voulez partager.

  • Dans la page Étape 2, pour Autorisations gérées, choisissez l’autorisation à accorder aux consommateurs, comme décrit dans Jeux d’autorisations pour le partage de paramètres plus loin dans cette rubrique.

Choisissez d’autres options en fonction de vos objectifs de partage de paramètres.

Pour partager un paramètre dont vous êtes propriétaire à l’aide de l’AWS CLI

Utilisez la commande create-resource-share pour ajouter des paramètres à un nouveau partage de ressources.

Utilisez la commande associate-resource-share pour ajouter des paramètres à un partage de ressources existant.

L’exemple suivant crée un nouveau partage de ressources pour partager des paramètres avec les consommateurs d’une organisation et d’un compte individuel.

aws ram create-resource-share \ --name "MyParameter" \ --resource-arns "arn:aws:ssm:us-east-2:123456789012:parameter/MyParameter" \ --principals "arn:aws:organizations::123456789012:ou/o-63bEXAMPLE/ou-46xi-rEXAMPLE" "987654321098"

Arrêter le partage d’un paramètre partagé

Lorsque vous arrêtez le partage d’un paramètre partagé, le compte du consommateur ne peut plus accéder au paramètre.

Pour arrêter de partager un paramètre que vous possédez, vous devez le supprimer du partage de ressources. Pour ce faire, vous pouvez utiliser la console Systems Manager, la console AWS RAM ou l’AWS CLI.

Pour arrêter le partage d’un paramètre dont vous êtes propriétaire à l’aide de la console AWS RAM

Consultez la section Mettre à jour un partage de ressources dans AWS RAM du Guide de l’utilisateur AWS RAM.

Pour arrêter le partage d’un paramètre dont vous êtes propriétaire à l’aide de l’AWS CLI

Utilisez la commande disassociate-resource-share.

Identification des paramètres partagés

Les propriétaires et les consommateurs peuvent identifier les paramètres partagés à l’aide de l’AWS CLI.

Pour identifier les paramètres partagés à l’aide de l’AWS CLI

Pour identifier les paramètres partagés à l’aide de l’AWS CLI, vous avez le choix entre la commande describe-parameters de Systems Manager et la commande AWS RAM list-resources.

Lorsque vous utilisez l’option --shared avec describe-parameters, la commande renvoie les paramètres qui sont partagés avec vous.

Voici un exemple :

aws ssm describe-parameters --shared

Accès aux paramètres partagés

Les consommateurs peuvent accéder aux paramètres partagés à l’aide des outils de ligne de commande AWS et des kits SDK AWS. Pour les comptes de consommateurs, les paramètres partagés avec ce compte ne sont pas inclus dans la page Mes paramètres.

Exemple de CLI : accès aux détails des paramètres partagés à l’aide de l’AWS CLI

Pour accéder aux détails des paramètres partagés à l’aide de l’AWS CLI, vous pouvez utiliser les commandes get-parameter ou get-parameters. Vous devez spécifier l’ARN complet du paramètre en tant que --name afin de récupérer le paramètre à partir d’un autre compte.

Voici un exemple.

aws ssm get-parameter \ --name arn:aws:ssm:us-east-2:123456789012:parameter/MySharedParameter
Intégrations prises en charge et non prises en charge pour les paramètres partagés

Actuellement, vous pouvez utiliser les paramètres partagés dans les scénarios d’intégration suivants :

Les scénarios et services intégrés suivants ne prennent pas actuellement en charge l’utilisation de paramètres partagés :

Jeux d’autorisations pour le partage de paramètres

Les comptes de consommateurs reçoivent un accès en lecture seule aux paramètres que vous partagez avec eux. Le consommateur ne peut pas mettre à jour ou supprimer le paramètre. Le consommateur ne peut pas partager le paramètre avec un troisième compte.

Lorsque vous créez un partage de ressources dans AWS Resource Access Manager pour partager vos paramètres, vous pouvez choisir parmi deux jeux d’autorisations gérés par AWS pour accorder cet accès en lecture seule :

AWSRAMDefaultPermissionSSMParameterReadOnly

Actions autorisées : DescribeParameters, GetParameter, GetParameters

AWSRAMPermissionSSMParameterReadOnlyWithHistory

Actions autorisées : DescribeParameters, GetParameter, GetParameters, GetParameterHistory

Lorsque vous suivez les étapes de la section Création d’un partage de ressources dans AWS RAM du Guide de l’utilisateur AWS RAM, choisissez Parameter Store Advanced Parameters comme type de ressource et l’une ou l’autre de ces autorisations gérées, selon que vous voulez que les utilisateurs visualisent ou non l’historique des paramètres.

Note

Si vous récupérez des paramètres partagés par programmation (par exemple, à l’aide de AWS Lambda), vous devrez peut-être ajouter les autorisations ssm:GetResourcePolicies et ssm:PutResourcePolicy à tous les rôles IAM qui appellent les actions d’API AWS Resource Access Manager.

Débit maximal pour les paramètres partagés

Systems Manager limite le débit maximal (transactions par seconde) pour les opérations GetParameter et GetParameters. Le débit est appliqué au niveau de chaque compte. Par conséquent, chaque compte qui consomme un paramètre partagé peut utiliser son débit maximal autorisé sans être affecté par d’autres comptes. Pour plus d’informations sur le débit maximal des paramètres, consultez les rubriques suivantes :

Tarification des paramètres partagés

Le partage entre comptes n’est disponible que dans la catégorie des paramètres avancés. Pour les paramètres avancés, des coûts sont encourus au prix actuel pour le stockage et l’utilisation de l’API pour chaque paramètre avancé. Le compte propriétaire est facturé pour le stockage du paramètre avancé. Tout compte consommateur qui effectue un appel d’API vers un paramètre avancé partagé est facturé pour l’utilisation du paramètre.

Par exemple, si le compte A crée un paramètre avancé, MyAdvancedParameter, ce compte est facturé 0,05 USD par mois pour stocker le paramètre.

Le compte A partage ensuite MyAdvancedParameter avec le compte B et le compte C. Au cours d’un mois, les trois comptes effectuent des appels vers MyAdvancedParameter. Le tableau suivant illustre les frais qu’ils encourent pour le nombre d’appels effectués par chacun d’eux.

Note

Les tarifs indiqués dans le tableau ci-dessous sont donnés à titre d’illustration uniquement. Pour vérifier la tarification actuelle, consultez Tarification d’AWS Systems Manager pour Parameter Store.

Compte Nombre d’appels Frais
Compte A (compte propriétaire) 10 000 appels
  • Stockage avancé des paramètres pendant un mois : 0,05 USD

  • 10 000 appels vers MyAdvancedParameter : 0,05 USD

  • Total : 0,10 USD

Compte B (compte consommateur) 20 000 appels
  • 20 000 appels vers MyAdvancedParameter : 0,10 USD

  • Total : 0,10 USD

Compte C (compte consommateur) 30 000 appels
  • 30 000 appels vers MyAdvancedParameter : 0,15 USD

  • Total : 0,15 USD

Accès intercompte pour les Comptes AWS fermés

Si le Compte AWS propriétaire d’un paramètre partagé est fermé, tous les comptes consommateurs perdent l’accès au paramètre partagé. Si le compte propriétaire est rouvert dans les 90 jours suivant la fermeture du compte, les comptes consommateurs retrouvent l’accès aux paramètres précédemment partagés. Pour plus d’informations sur la réouverture d’un compte pendant la période de post-clôture, consultez Accès à votre Compte AWS après sa fermeture dans le Guide de référence Gestion de compte AWS.