1
- Harbor Proposal: Identity Aware proxy authentication mode
1
+ # Harbor Proposal: Identity Aware proxy authentication mode
2
2
3
3
Author: Sheng Jiang/shengjiang3, Eric Liu/LiuShuaiyi
4
4
5
- Date: Oct 10 , 2023
5
+ Date: Oct 30 , 2023
6
6
7
7
## Abstract
8
8
@@ -11,17 +11,33 @@ authentication authority in Harbor.
11
11
12
12
## Background
13
13
14
- Currently, Harbor supports the OIDC protocol, however this means that Harbor
15
- cannot be seamlessly integrated into Single Sign-On (SSO) within an organization
16
- because Harbor must perform the code exchange for an identity token.
14
+ Currently, Harbor supports the OIDC protocol for authentication. An organization
15
+ can configure Harbor to use an OIDC identity provider to provider
16
+ authentication. However, there are some scenarios where additional support is
17
+ needed, for example:
18
+
19
+ - If SAML or LDAP is used for the identity provider.
20
+ - If more than one OIDC provider needs to be used.
21
+ - Integrating Harbor with Single Sign-On (SSO) within an organization. For
22
+ example, if the organization runs Harbor behind a reverse proxy (e.g- Istio)
23
+ that federates identity providers (e.g- Dex).
17
24
18
25
## Proposal
19
26
20
27
Add another authentication option, letting the identity provider authenticate
21
28
and issue an identity token while Harbor assumes the role of an application that
22
29
consumes the identity token. Harbor would act as an OIDC token verifier. The
23
- goal is to allow Harbor to plug in to any upstream OIDC identity provider
24
- allowing an SSO credential to authenticate with Harbor.
30
+ goal is to allow Harbor to plug in to an upstream OIDC identity proxy allowing
31
+ an SSO credential to authenticate with Harbor.
32
+
33
+ This opens up the use case where an identity proxy (such as Dex) can be
34
+ configured to support multiple identity providers and pass on an identity token
35
+ that is used by Harbor.
36
+
37
+ Alternatively, Harbor could be integrated as a proxied application running
38
+ behind NGINX. NGINX can be configured to provide SSO by acting as the relying
39
+ party to an OIDC identity provider. As a result, the identity token passed by
40
+ NGINX could also be used as the identity of the user inside of Harbor.
25
41
26
42
### Key terms
27
43
0 commit comments