{"id":7776,"date":"2025-09-01T11:39:46","date_gmt":"2025-09-01T11:39:46","guid":{"rendered":"https:\/\/techhub.saworks.io\/docs\/tutoriel-github-intermediaire\/automatiser-les-tests-de-charge-azure-en-utilisant-github\/gerer-les-secrets-dans-github\/"},"modified":"2025-09-24T12:02:34","modified_gmt":"2025-09-24T12:02:34","slug":"gerer-les-secrets-dans-github","status":"publish","type":"docs","link":"https:\/\/techhub.saworks.io\/fr\/docs\/tutoriel-github-intermediaire\/automatiser-les-tests-de-charge-azure-en-utilisant-github\/gerer-les-secrets-dans-github\/","title":{"rendered":"G\u00e9rer les secrets dans GitHub"},"content":{"rendered":"\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>Les <strong>secrets<\/strong> sont des variables que vous cr\u00e9ez au niveau d\u2019une organisation, d\u2019un d\u00e9p\u00f4t ou d\u2019un environnement de d\u00e9p\u00f4t. Ces secrets sont disponibles pour \u00eatre utilis\u00e9s dans les workflows GitHub Actions.<br>GitHub Actions ne peut lire un secret que si vous l\u2019incluez explicitement dans un fichier de workflow.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Secrets au niveau de l\u2019organisation<\/strong><\/h3>\n\n\n\n<p>Pour les secrets stock\u00e9s au niveau de l\u2019organisation, vous pouvez utiliser des <strong>politiques d\u2019acc\u00e8s<\/strong> pour contr\u00f4ler quels d\u00e9p\u00f4ts peuvent utiliser ces secrets.<br>Les secrets au niveau de l\u2019organisation permettent de partager des secrets entre plusieurs d\u00e9p\u00f4ts, ce qui r\u00e9duit le besoin de les dupliquer.<br>La mise \u00e0 jour d\u2019un secret \u00e0 un seul endroit garantit que le changement est pris en compte dans tous les workflows qui l\u2019utilisent.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Secrets au niveau de l\u2019environnement<\/strong><\/h3>\n\n\n\n<p>Pour les secrets stock\u00e9s au niveau de l\u2019environnement, vous pouvez activer des <strong>examinateurs obligatoires<\/strong> pour contr\u00f4ler l\u2019acc\u00e8s.<br>Un job de workflow ne peut pas acc\u00e9der aux secrets d\u2019environnement sans l\u2019approbation des personnes requises.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-group has-background is-layout-constrained wp-block-group-is-layout-constrained\" style=\"border-width:1px;border-radius:15px;background-color:#9b51e04d\">\n<h3 class=\"wp-block-heading\"><strong>Remarque<\/strong><\/h3>\n\n\n\n<p>Vous pouvez configurer vos workflows pour s\u2019authentifier directement aupr\u00e8s d\u2019Azure afin d\u2019acc\u00e9der \u00e0 des ressources.<\/p>\n<\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Nommer vos secrets<\/strong><\/h3>\n\n\n\n<p>Les r\u00e8gles suivantes s\u2019appliquent aux noms de secrets :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Les noms ne peuvent contenir que des caract\u00e8res alphanum\u00e9riques (<code>[a-z]<\/code>, <code>[A-Z]<\/code>, <code>[0-9]<\/code>) ou des tirets bas (<code>_<\/code>). Les espaces ne sont pas autoris\u00e9s.<\/li>\n\n\n\n<li>Les noms ne doivent pas commencer par le pr\u00e9fixe <code>GITHUB_<\/code>.<\/li>\n\n\n\n<li>Les noms ne doivent pas commencer par un chiffre.<\/li>\n\n\n\n<li>Les noms ne sont <strong>pas sensibles \u00e0 la casse<\/strong>.<\/li>\n\n\n\n<li>Les noms doivent \u00eatre <strong>uniques<\/strong> au niveau o\u00f9 ils sont cr\u00e9\u00e9s.<\/li>\n<\/ul>\n\n\n\n<p>Pour garantir que GitHub <strong>masque vos secrets dans les journaux<\/strong>, \u00e9vitez d\u2019utiliser des donn\u00e9es structur\u00e9es comme valeurs de secrets (par exemple, \u00e9vitez les secrets contenant du JSON ou des blobs Git encod\u00e9s).<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Acc\u00e9der \u00e0 vos secrets<\/strong><\/h3>\n\n\n\n<p>D\u00e9finissez le secret comme une <strong>entr\u00e9e<\/strong> ou une <strong>variable d\u2019environnement<\/strong> dans le fichier de workflow pour le rendre disponible \u00e0 une action.<br>Vous pouvez utiliser et lire les secrets dans un fichier de workflow si vous avez les droits pour modifier ce fichier.<br>Pour plus d\u2019informations, consultez la page <strong><a href=\"https:\/\/docs.github.com\/fr\/get-started\/learning-about-github\/access-permissions-on-github\">Permissions d\u2019acc\u00e8s sur GitHub<\/a><\/strong>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Les secrets d\u2019organisation et de d\u00e9p\u00f4t sont lus <strong>lorsque l\u2019ex\u00e9cution du workflow est mise en file d\u2019attente<\/strong>.<\/li>\n\n\n\n<li>Les secrets d\u2019environnement sont lus <strong>lorsque le job qui r\u00e9f\u00e9rence l\u2019environnement d\u00e9marre<\/strong>.<\/li>\n\n\n\n<li>Vous pouvez \u00e9galement g\u00e9rer les secrets via l\u2019<strong>API REST<\/strong>.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Limiter les permissions des identifiants<\/strong><\/h3>\n\n\n\n<p>Il est recommand\u00e9 d\u2019accorder <strong>le minimum de permissions n\u00e9cessaires<\/strong>.<br>Par exemple, au lieu d\u2019utiliser des identifiants personnels, utilisez des <strong>cl\u00e9s de d\u00e9ploiement<\/strong> ou un <strong>compte de service<\/strong>.<br>Accordez des <strong>permissions en lecture seule<\/strong> si cela suffit, et limitez l\u2019acc\u00e8s autant que possible.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lors de la g\u00e9n\u00e9ration d\u2019un <strong>jeton d\u2019acc\u00e8s personnel classique<\/strong>, s\u00e9lectionnez le <strong>minimum de port\u00e9es n\u00e9cessaires<\/strong>.<\/li>\n\n\n\n<li>Lors de la g\u00e9n\u00e9ration d\u2019un <strong>jeton d\u2019acc\u00e8s personnel \u00e0 granularit\u00e9 fine<\/strong>, s\u00e9lectionnez les <strong>permissions minimales<\/strong> et l\u2019acc\u00e8s aux d\u00e9p\u00f4ts requis.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Cr\u00e9er des secrets<\/strong><\/h3>\n\n\n\n<p>Pour cr\u00e9er des secrets ou des variables sur GitHub :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pour un d\u00e9p\u00f4t personnel, vous devez \u00eatre <strong>propri\u00e9taire du d\u00e9p\u00f4t<\/strong>.<\/li>\n\n\n\n<li>Pour un d\u00e9p\u00f4t d\u2019organisation, vous devez avoir un <strong>acc\u00e8s administrateur<\/strong>.<\/li>\n\n\n\n<li>Pour cr\u00e9er des secrets via l\u2019API REST, vous devez avoir un <strong>acc\u00e8s collaborateur<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p><strong>\u00c9tapes pour cr\u00e9er un secret :<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>S\u00e9lectionnez <strong>Settings<\/strong> dans la barre de navigation sup\u00e9rieure du d\u00e9p\u00f4t.<\/li>\n\n\n\n<li>Dans la section <strong>Security<\/strong> de la barre lat\u00e9rale gauche, s\u00e9lectionnez le menu d\u00e9roulant <strong>Secrets and variables<\/strong>.<\/li>\n\n\n\n<li>S\u00e9lectionnez <strong>Actions<\/strong> pour acc\u00e9der \u00e0 la page des secrets et variables des Actions.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Utiliser des secrets dans un workflow<\/strong><\/h3>\n\n\n\n<p>Pour fournir un secret \u00e0 une action en tant qu\u2019entr\u00e9e ou variable d\u2019environnement, utilisez le <strong>contexte <code>secrets<\/code><\/strong> pour acc\u00e9der aux secrets cr\u00e9\u00e9s dans votre d\u00e9p\u00f4t.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#24292e;--cbp-line-number-width:calc(1 * 0.6 * .75rem);line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#f2f2f2;color:#2f363c\">YAML<\/span><span role=\"button\" tabindex=\"0\" style=\"color:#24292e;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>steps:\n  - name: Hello world action\n    with: # Set the secret as an input\n      super_secret: ${{ secrets.SuperSecret }}\n    env: # Or as an environment variable\n      super_secret: ${{ secrets.SuperSecret }}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-light\" style=\"background-color: #fff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #22863A\">steps<\/span><span style=\"color: #24292E\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">  - <\/span><span style=\"color: #22863A\">name<\/span><span style=\"color: #24292E\">: <\/span><span style=\"color: #032F62\">Hello world action<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    <\/span><span style=\"color: #22863A\">with<\/span><span style=\"color: #24292E\">: <\/span><span style=\"color: #6A737D\"># Set the secret as an input<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">      <\/span><span style=\"color: #22863A\">super_secret<\/span><span style=\"color: #24292E\">: <\/span><span style=\"color: #032F62\">${{ secrets.SuperSecret }}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    <\/span><span style=\"color: #22863A\">env<\/span><span style=\"color: #24292E\">: <\/span><span style=\"color: #6A737D\"># Or as an environment variable<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">      <\/span><span style=\"color: #22863A\">super_secret<\/span><span style=\"color: #24292E\">: <\/span><span style=\"color: #032F62\">${{ secrets.SuperSecret }}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\u26a0\ufe0f <strong>Les secrets ne peuvent pas \u00eatre r\u00e9f\u00e9renc\u00e9s directement dans une condition <code>if:<\/code>.<\/strong><br>Il est recommand\u00e9 de d\u00e9finir les secrets comme <strong>variables d\u2019environnement au niveau du job<\/strong>, puis de r\u00e9f\u00e9rencer ces variables pour ex\u00e9cuter conditionnellement des \u00e9tapes.<\/p>\n\n\n\n<p>Si la valeur d\u2019un secret n\u2019est pas d\u00e9finie, l\u2019expression qui le r\u00e9f\u00e9rence (comme <code>${{ secrets.SuperSecret }}<\/code> dans l\u2019exemple) renverra une <strong>cha\u00eene vide<\/strong>.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Les secrets sont des variables que vous cr\u00e9ez au niveau d\u2019une organisation, d\u2019un d\u00e9p\u00f4t ou d\u2019un environnement de d\u00e9p\u00f4t. Ces secrets sont disponibles [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":7721,"menu_order":47,"template":"","doc_tag":[],"doc_badge":[],"class_list":["post-7776","docs","type-docs","status-publish","hentry"],"author_avatar":"https:\/\/secure.gravatar.com\/avatar\/6a70e7c73db9f245e650948d09d74f61?s=96&d=mm&r=g","author_name":"Annick N'dri","_links":{"self":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/7776"}],"collection":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/users\/2"}],"version-history":[{"count":0,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/7776\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/7721"}],"wp:attachment":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/media?parent=7776"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/doc_tag?post=7776"},{"taxonomy":"doc_badge","embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/doc_badge?post=7776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}