{"meta":{"title":"Configuration d’OpenID Connect dans Octopus Deploy","intro":"Utilisez OpenID Connect dans vos flux de travail pour vous authentifier auprès de Octopus Deploy.","product":"GitHub Actions","breadcrumbs":[{"href":"/fr/actions","title":"GitHub Actions"},{"href":"/fr/actions/how-tos","title":"Guides pratiques"},{"href":"/fr/actions/how-tos/secure-your-work","title":"Sécurisez votre travail"},{"href":"/fr/actions/how-tos/secure-your-work/security-harden-deployments","title":"Durcissement de la sécurité des déploiements"},{"href":"/fr/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-octopus-deploy","title":"OIDC dans Octopus Deploy"}],"documentType":"article"},"body":"# Configuration d’OpenID Connect dans Octopus Deploy\n\nUtilisez OpenID Connect dans vos flux de travail pour vous authentifier auprès de Octopus Deploy.\n\n## Aperçu\n\nOpenID Connect (OIDC) permet à vos flux de travail GitHub Actions de s’authentifier auprès de [Octopus Deploy](https://octopus.com/) pour pousser des packages, créer des versions ou déclencher des déploiements sans stocker les mots de passe ou les clés d'API Octopus Deploy en tant que secrets à long terme GitHub.\n\nCe guide fournit une vue d’ensemble de la façon de configurer Octopus Deploy pour faire confiance à l'OIDC de GitHub en tant qu’une identité fédérée, et inclut un exemple de flux de travail pour l’action [`octopusdeploy/login`](https://github.com/OctopusDeploy/login) qui utilise des jetons pour s’authentifier à votre instance d'Octopus Deploy.\n\n## Prerequisites\n\n* Pour découvrir les concepts de base de l’utilisation GitHub d’OpenID Connect (OIDC) et de son architecture et de ses avantages, consultez [OpenID Connect](/fr/actions/concepts/security/openid-connect).\n\n* Avant de continuer, vous devez planifier votre stratégie de sécurité pour veiller à ce que les jetons d’accès soient uniquement alloués de manière prévisible. Pour contrôler la façon dont votre fournisseur de cloud émet des jetons d’accès, vous **devez** définir au moins une condition, afin que les dépôts non approuvés ne puissent pas demander de jetons d’accès à vos ressources cloud. Pour plus d’informations, consultez [Informations de référence sur OpenID Connect](/fr/actions/reference/security/oidc#oidc-claims-used-to-define-trust-conditions-on-cloud-roles).\n\n## Ajout du fournisseur d’identité à Octopus Deploy\n\nPour utiliser OIDC avec Octopus Deploy, commencez par établir un lien de confiance entre GitHub Actions et votre instance Octopus Deploy. Pour plus d’informations sur ce processus, consultez la section [Utilisation d’OpenID Connect avec l’API Octopus](https://octopus.com/docs/octopus-rest-api/openid-connect) dans la documentation Octopus Deploy.\n\n1. Connectez-vous à votre instance Octopus Deploy.\n2. Créez ou ouvrez le compte de service auquel l’accès sera accordé via la demande de jeton.\n3. Configurez une nouvelle identité OIDC, en définissant le sujet approprié sur lequel la demande de jeton de flux de travail GitHub Actions sera validée.\n\n## Mise à jour de votre workflow GitHub Actions\n\nPour mettre à jour vos workflows pour OIDC, vous devez apporter deux modifications à votre code YAML :\n\n1. Ajoutez des paramètres d’autorisations pour le jeton.\n2. Utilisez l’action [`OctopusDeploy/login`](https://github.com/OctopusDeploy/login) pour échanger le jeton OIDC (JWT) pour un jeton d’accès cloud.\n\n> \\[!NOTE]\n> Lorsque des environnements sont utilisés dans des workflows ou dans des stratégies OIDC, nous vous recommandons d’ajouter des règles de protection à l’environnement pour plus de sécurité. Par exemple, vous pouvez configurer des règles de déploiement sur un environnement pour restreindre les branches et balises pouvant être déployées dans l’environnement ou accéder aux secrets d’environnement. Pour plus d’informations, consultez « [Gestion des environnements pour le déploiement](/fr/actions/how-tos/deploy/configure-and-manage-deployments/manage-environments) ».\n\n### Ajout de paramètres d’autorisations\n\nL’exécution d’un travail ou d’un flux de travail nécessite un paramètre `permissions` avec [`id-token: write`](/fr/actions/tutorials/authenticate-with-github_token#modifying-the-permissions-for-the-github_token) pour permettre au fournisseur OIDC de GitHub créer un jeton Web JSON pour chaque exécution.\n\n> \\[!NOTE] Le paramètre `id-token: write` dans les autorisations du flux de travail ne donne pas au flux de travail l’autorisation de modifier ou d’écrire dans des ressources. Au lieu de cela, il permet uniquement au flux de travail de demander (récupérer) et d’utiliser (définir) un jeton OIDC pour une action ou une étape. Ce jeton est ensuite utilisé pour s’authentifier auprès de services externes à l’aide d’un jeton d’accès à courte durée de vie.\n\nPour plus d’informations sur les autorisations requises, les exemples de configuration et les scénarios avancés, consultez [Informations de référence sur OpenID Connect](/fr/actions/reference/security/oidc#workflow-permissions-for-the-requesting-the-oidc-token).\n\n### Demande du jeton d’accès\n\nL’action [`OctopusDeploy/login`](https://github.com/OctopusDeploy/login) reçoit un JWT du fournisseur GitHub OIDC, puis demande un jeton d’accès à partir de votre instance Octopus Server. Pour plus d’informations, consultez la documentation [`OctopusDeploy/login`](https://github.com/OctopusDeploy/login).\n\nL’exemple suivant échange un jeton d’ID OIDC avec votre instance DePepe Deploy pour recevoir un jeton d’accès, qui peut ensuite être utilisé pour accéder à vos ressources Depepe Deploy. Veillez à remplacer les détails de `server` et `service_account_id` de manière appropriée pour votre scénario.\n\n```yaml copy\n# Ce workflow utilise des actions qui ne sont pas certifiées par GitHub.\n# Elles sont fournies par un tiers et régies par\n# des conditions d’utilisation du service, une politique de confidentialité et un support distincts.\n# documentation en ligne.\n\njobs:\n  create_release_in_octopus:\n    runs-on: ubuntu-latest\n    name: Create a release in Octopus\n    permissions:\n      # You might need to add other permissions here like `contents: read` depending on what else your job needs to do\n      id-token: write # This is required to obtain an ID token from GitHub Actions for the job\n    steps:\n      - name: Login to Octopus\n        uses: OctopusDeploy/login@34b6dcc1e86fa373c14e6a28c5507d221e4de629 #v1.0.2\n        with:\n          server: https://my.octopus.app\n          service_account_id: 5be4ac10-2679-4041-a8b0-7b05b445e19e\n\n      - name: Create a release in Octopus\n        uses: OctopusDeploy/create-release-action@fe13cc69c1c037cb7bb085981b152f5e35257e1f #v3.2.2\n        with:\n          space: Default\n          project: My Octopus Project\n```\n\n## Lectures complémentaires\n\n* [Utilisation d’OpenID Connect avec des workflows réutilisables](/fr/actions/how-tos/secure-your-work/security-harden-deployments/oidc-with-reusable-workflows)\n* [Documentation de référence relative aux runners auto-hébergés](/fr/actions/reference/runners/self-hosted-runners)"}