You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using OpenID Connect (OIDC) to authenticate your pipelines eliminates the need for long lived static credentials providing a whole range of [security and practical benefits](https://jfrog.com/help/r/jfrog-platform-administration-documentation/openid-connect-integration-benefits).
270
+
You can read more about the [JFrog OpenID Connection Integration](https://jfrog.com/help/r/jfrog-platform-administration-documentation/openid-connect-integration) in the documentation.
271
+
272
+
Setting up OpenID Connect has 3 separate parts:
273
+
- Setting up an OpenID Connect Integration inside of the JFrog Platform.
274
+
- Configuring Identity Mappings with Claim rules, matching to Projects & Service Connections.
275
+
- Configuring Service Connections as OpenID Connect in the Projects in your Azure Devops Instance.
276
+
277
+
> [!IMPORTANT]
278
+
> To use OIDC authentication, make sure you're using **JFrog CLI version 2.75.0 or later**
279
+
> and **JFrog Azure DevOps Extension version 2.11.0 or later**.
280
+
281
+
Follow the guides below to configure each part.
282
+
283
+
<details>
284
+
<summary>
285
+
286
+
#### Configure OpenID Connect Integration
287
+
288
+
</summary>
289
+
290
+
291
+
First, configure an OpenID Connect integration to your Azure DevOps server in your JFrog instance.
292
+
Log in to your JFrog instance as an administrator,
293
+
then as [described in the documentation:](https://jfrog.com/help/r/jfrog-platform-administration-documentation/openid-connect-configurations-overview)
294
+
295
+
1. Go to the **Administrator panel**.
296
+
2. Select **General Management**.
297
+
3. Choose **Manage Integrations**.
298
+
4. Select New Integration - **OpenID Connect**
299
+
300
+
Next, fill out the integration form with your Azure DevOps instance parameters.
In order to obtain your Azure DevOps Organization GUID (`{ORG_GUID}`) you can simply run a pipeline in your Azure DevOps organization using any of the JFrog Task setup using a Service Connection configured with the `OpenID Connect Integration` authentication method, see the [Configure the Service Connection](#configure-the-service-connection) section. Even if the task fails due to you not yet having configured the Integration in JFrog, it will output the relevant information as part of the pipeline.
316
+
317
+
In the Pipeline Output, look for the `OIDC Token Issuer`,value, which you need to enter as your `Provider URL`.
318
+
The rest of the information can also be helpful for you to configure the Identity Mappings as described in the section below.
> **Security Tip**: It's safe to log OpenID Connect claims like `sub`, `aud`, or `iss` in debug output for troubleshooting purposes.
328
+
> However, never print the full ID token or access token, even in debug logs.
329
+
330
+
331
+
</details>
332
+
333
+
<details>
334
+
<summary>
335
+
336
+
#### Configure Identity Mappings
337
+
338
+
</summary>
339
+
340
+
When the `OpenID Connect Integration` has been configured, you must now configure `Identity Mappings` for your projects and service connections to allow them to utilize the integration.
341
+
You can find the full documentation for configuring [Identity Mappings in the Documentation](https://jfrog.com/help/r/jfrog-platform-administration-documentation/identity-mappings).
342
+
For this part we will focus on how to setup the JSON Claim which is used to map the JWT request of the pipeline to the access rights in your mapping.
343
+
344
+
When working with OpenID Connect, we must look at the `ID Token` that our provider (Azure DevOps) outputs.
345
+
Based on the information in the token, we can map properties into rules in our `Identity Mappings` JSON Claim.
346
+
The `ID Token` from the Azure DevOps token provider looks like this:
To allow all projects in your Organization with a ServiceConnection with a specified name, you could replace MyProject with `*`.
368
+
Just make sure to never replace your Organization name with a `*` operator as that would allow any Azure DevOps Organization to gain access to your instance.
369
+
370
+
</details>
371
+
372
+
<details>
373
+
<summary>
374
+
375
+
#### Configure the Service Connection
376
+
377
+
</summary>
378
+
379
+
You must configure a `ServiceConnection` setting the `Authentication method` to `OpenID Connect Integration`.
380
+
381
+
This requires you to fill in the following inputs:
Now this Service Connection can be used for any of JFrog tasks as normal, authenticating with a temporary access token each time the pipeline runs.
397
+
398
+
> 💡 **Tip**
399
+
> The extension automatically exports the authenticated user and access token
400
+
> as step outputs named `oidc_user` and `oidc_token`. These outputs can be used in later steps (e.g., for Docker login, Helm registry, or custom scripts).
See [JFrog CLI - OIDC Token Exchange (`jf eot`)](https://jfrog.com/help/r/jfrog-cli/jfrog-cli-eot) for more information on how the CLI handles OpenID Connect tokens behind the scenes.
vsixSize="$(du -m -- *.vsix | awk '{print $1}'| head -1)"
33
-
if [ "${vsixSize}"-gt30 ];then
34
+
if [ "${vsixSize}"-gt40 ];then
34
35
echo"Extension vsix size is greater than 30MB! (${vsixSize}MB) - Hint: Most of the dependencies on package-json are in format of - <^x.y.z>, so maybe one of them got updated, and the node_modules directory became bigger"
0 commit comments