2

Je suis en train de développer une compétence Alexa avec Skill Kit SDK, et maintenant je me prépare à publier le référentiel de mon Skill sur Github. Au cours du développement, j'ai inclus l'ID de l'application de ma compétence dans le fichier index.js correspondant et j'ai diligemment engagé mon travail avec mon git local.ID d'application de compétence: Sécurisé pour être inclus dans un référentiel public?

Y a-t-il un risque lié à la publication du référentiel de mes compétences avec mon ID d'application actuel? J'imagine qu'une partie malveillante peut utiliser l'ID de l'application (avec l'ARN de la fonction Lambda de ma compétence) pour envoyer beaucoup de requêtes et donc faire des frais sur AWS, mais il y a peut-être d'autres risques.

Il semble être une bonne pratique de ne pas inclure l'ID d'application dans le dépôt public, depuis noexampleSkill du official Amazon Alexa organization a leur code d'application respectif inclus.

Répondre

1

Généralement, les personnes placent ces clés/secrets dans une variable d'environnement et dans le code écrivent process.env.SKILL_KIT_KEY pour les récupérer.

Je voudrais fortement recommander, si vous faites l'interrupteur, de désactiver la clé que vous avez utilisée et qui vit en texte brut dans l'historique des repo et en obtenir un nouveau.

+0

Merci, c'est à peu près ce que j'ai fait, et ça marche bien. Une déviation de votre approche est que je ne pouvais pas changer l'identifiant d'une compétence existante, donc je l'ai cloné et supprimé l'habileté avec l'ID publié. –

+0

Cette réponse serait nettement meilleure si elle répondait à la question. Vous discutez de la façon de masquer l'ID, mais ne discutez jamais du fait que le masquage est nécessaire ou des implications pour la sécurité –

1

Une autre approche consiste à inclure un fichier de configuration contenant toutes les informations de connexion ou de mot de passe. Vous pourriez nommer ce fichier config.js. Ensuite, excluez ce fichier de Git en le listant dans le fichier .gitignore.

Pour aider les autres à recréer ce fichier avec leurs propres informations, fournissez une version de modèle bien commentée de ce fichier dans le projet. Ajoutez "Template" au nom (par exemple, config_template.js) avec des instructions pour le renommer en config.js après l'avoir modifié pour inclure toutes ses propres informations.