Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New IA - Authentication & Authorization #5690

Merged
merged 83 commits into from
Nov 25, 2024
Merged
Show file tree
Hide file tree
Changes from 76 commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
759f114
base files - checking push to branch
DavidRollins Oct 30, 2024
23b5f58
updating auth and automations pages
DavidRollins Oct 31, 2024
77beb80
updating menu.yaml
DavidRollins Oct 31, 2024
c9935d7
remove aliases
DavidRollins Oct 31, 2024
1725d60
Update frontmatter and menu
DavidRollins Oct 31, 2024
078cea3
Update frontmatter and menu
DavidRollins Oct 31, 2024
a3febca
improve readability of automations page
DavidRollins Oct 31, 2024
9586247
update only authn
DavidRollins Nov 1, 2024
804ae05
delete redundant content and update youtube links
DavidRollins Nov 4, 2024
f58c513
fix menu
DavidRollins Nov 4, 2024
7e22e78
Update per Sharad's comments
DavidRollins Nov 6, 2024
5935da7
pull latest updates
DavidRollins Nov 6, 2024
8b7a055
resolve conflicts
DavidRollins Nov 6, 2024
c760d3f
fix links
DavidRollins Nov 7, 2024
436ec32
update openid connect
DavidRollins Nov 7, 2024
e008195
update openid connect
DavidRollins Nov 7, 2024
9ae2d16
[TT-13263/TT-13264] Add plugin development docs update (#5565)
titpetric Oct 31, 2024
23a9ff6
DX-1750 Update MDCB quick start instructions (#5684)
caroltyk Oct 31, 2024
55f0170
[DX-1722] Deprecation announcement (#5643)
Eopayemi Nov 1, 2024
eab9722
[TT-13281/TT-13282] Document OAS common parameter usage in dashboard …
jeffy-mathew Nov 5, 2024
9ffc8c3
[DX-1728]-Fixed 5.3 RNs (#5666)
sharadregoti Nov 6, 2024
94a2cd0
Update operator-1.0.md helm chart (#5691)
caroltyk Nov 6, 2024
8b76dab
fix aliases
DavidRollins Nov 7, 2024
9c47a5e
stash
DavidRollins Nov 7, 2024
d6487a9
fix menu.yaml
DavidRollins Nov 7, 2024
b6f6908
Merge branch 'master' into authn_new_IA
DavidRollins Nov 7, 2024
6f3fc49
fix menu.yaml
DavidRollins Nov 7, 2024
098f3ed
fix links
DavidRollins Nov 7, 2024
ad7b0a5
fix links
DavidRollins Nov 7, 2024
07ac33e
fix links
DavidRollins Nov 7, 2024
4ebc7e9
fix links
DavidRollins Nov 7, 2024
151b5b6
fix links
DavidRollins Nov 7, 2024
af5b63a
fix links
DavidRollins Nov 7, 2024
d97b0f0
fix links
DavidRollins Nov 7, 2024
fa2cf7c
update pics
DavidRollins Nov 7, 2024
4e056e2
update per sharad's comments
DavidRollins Nov 8, 2024
40ea66e
fix screenshots
DavidRollins Nov 8, 2024
bbe7b4b
fix screenshots
DavidRollins Nov 8, 2024
602115e
fix links
DavidRollins Nov 8, 2024
acffc39
fix merge conflicts
DavidRollins Nov 18, 2024
aaea6e1
resolve merge conflicts
DavidRollins Nov 18, 2024
a629e4b
resolve merge conflicts
DavidRollins Nov 18, 2024
34e37b5
resolve merge conflicts
DavidRollins Nov 18, 2024
52d0de6
resolve merge conflicts
DavidRollins Nov 18, 2024
f0542f0
resolve merge conflicts
DavidRollins Nov 18, 2024
c1e2c19
Update alias file and links
DavidRollins Nov 20, 2024
2068626
rebase
DavidRollins Nov 20, 2024
56725c9
remove again
DavidRollins Nov 20, 2024
90b569d
[DX-1771]Update docs with deprecation advice (#5729)
Eopayemi Nov 19, 2024
6097b78
TT-8252 Aurora Postgresql support (#5715)
caroltyk Nov 19, 2024
1addc42
Adding docs for EDP PORTAL_RESPONSE_HEADERS (#5736)
tbuchaillot Nov 20, 2024
2d41f15
rebase
DavidRollins Nov 20, 2024
0ef0530
rebase cont
DavidRollins Nov 20, 2024
eab437f
update openid connect
DavidRollins Nov 7, 2024
b18c054
[TT-13263/TT-13264] Add plugin development docs update (#5565)
titpetric Oct 31, 2024
e8c481d
fix links
DavidRollins Nov 7, 2024
a327a6a
[DX-1771]Update docs with deprecation advice (#5729)
Eopayemi Nov 19, 2024
32d1751
update ext oauth
DavidRollins Nov 20, 2024
4d88900
[DX-1771]Update docs with deprecation advice (#5729)
Eopayemi Nov 19, 2024
d1b05ec
remove ext oauth
DavidRollins Nov 20, 2024
84f698e
[DX-1771]Update docs with deprecation advice (#5729)
Eopayemi Nov 19, 2024
482bf5e
update
DavidRollins Nov 20, 2024
e0dfdf6
update
DavidRollins Nov 20, 2024
f10bade
update
DavidRollins Nov 20, 2024
01b0608
update
DavidRollins Nov 20, 2024
4a06641
try to remove
DavidRollins Nov 20, 2024
46c78af
[DX-1771]Update docs with deprecation advice (#5729)
Eopayemi Nov 19, 2024
8dc7cc9
placeholder
DavidRollins Nov 20, 2024
efc0e6c
placeholder
DavidRollins Nov 20, 2024
2068f62
placeholder
DavidRollins Nov 20, 2024
95c147f
placeholder
DavidRollins Nov 20, 2024
999a6b0
update the username and password headings
DavidRollins Nov 20, 2024
af42c9e
update the aliases
DavidRollins Nov 20, 2024
6ce20b8
Merge branch 'master' into authn_new_IA
sharadregoti Nov 21, 2024
92c69ba
Testing Alias
sharadregoti Nov 21, 2024
bb22357
Removed slash
sharadregoti Nov 21, 2024
bd9e80b
Update tyk-docs/content/api-management/authentication-authorization.md
sharadregoti Nov 21, 2024
3e36ed8
update alias.json with anchor tags
DavidRollins Nov 21, 2024
8befa53
Merge branch 'master' of https://github.com/TykTechnologies/tyk-docs …
sharadregoti Nov 25, 2024
5287e7d
Fixed failing CI
sharadregoti Nov 25, 2024
eaa9099
Fixed failing CI
sharadregoti Nov 25, 2024
b001439
Fixed failing CI
sharadregoti Nov 25, 2024
f5bd4c6
Fixed failing CI
sharadregoti Nov 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion tyk-docs/content/advanced-configuration/integrate/sso.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ weight: 0
### SSO - The generic use case

SSO gives users the ability to log in to multiple applications without the need to enter their password more than once.
[OIDC]({{< ref "basic-config-and-security/security/authentication-authorization/openid-connect" >}}) or SAML enables an application to verify the identity of users from an organization without the need to self store and manage them, and without doing the identification process and exposing their passwords to that application. Their lists of users and passwords are kept safe in one single place, in the IDP that the organization has chosen to use. The Authorization server of the IdP identify the users for a pre-registered and approved application (`client` in OAuth and OIDC terminology).
[OIDC]({{< ref "/api-management/authentication-authorization#use-openid-connect" >}}) or SAML enables an application to verify the identity of users from an organization without the need to self store and manage them, and without doing the identification process and exposing their passwords to that application. Their lists of users and passwords are kept safe in one single place, in the IDP that the organization has chosen to use. The Authorization server of the IdP identify the users for a pre-registered and approved application (`client` in OAuth and OIDC terminology).

### SSO in Tyk

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ The **Core Settings** tab provides access to configure basic settings for the AP
- [Service Discovery]({{< ref "planning-for-production/ensure-high-availability/service-discovery" >}})
- [API Ownership]({{< ref "product-stack/tyk-dashboard/advanced-configurations/user-management/api-ownership" >}})
- [API level rate limiting]({{< ref "basic-config-and-security/control-limit-traffic/rate-limiting#configuring-the-rate-limiter-at-the-api-level" >}})
- [Authentication]({{< ref "basic-config-and-security/security/authentication-&-authorization" >}})
- [Authentication]({{< ref "/api-management/authentication-authorization" >}})

## Versions

Expand Down
2,804 changes: 2,804 additions & 0 deletions tyk-docs/content/api-management/authentication-authorization.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Authentication is the process of identifying API clients. It’s a broad topic,

### Implement Appropriate Authentication

Choose a suitable authentication approach based on the risk profile of the API. Is it publicly accessible or internal? Does it require user interaction or is it machine to machine? How sensitive is the data and functionality provided by the API? Simplistic approaches, such as [Bearer Tokens]({{< ref "basic-config-and-security/security/authentication-authorization/bearer-tokens" >}}), can work for low risk, basic APIs, but for higher risk or more sophisticated APIs, it may be more appropriate to use a standards-based approach such as [OAuth 2.0]({{< ref "basic-config-and-security/security/authentication-authorization/oauth-2-0" >}}) or [OpenID Connect]({{< ref "basic-config-and-security/security/authentication-authorization/openid-connect" >}}). Furthermore, using an [external identity provider]({{< ref "basic-config-and-security/security/authentication-authorization/ext-oauth-middleware" >}}) can deliver additional benefits, such as [single sign-on]({{< ref "advanced-configuration/integrate/sso" >}}), as well as multi-factor authentication approaches such as [biometric verification](https://www.okta.com/identity-101/biometrics-secure-authentication).
Choose a suitable authentication approach based on the risk profile of the API. Is it publicly accessible or internal? Does it require user interaction or is it machine to machine? How sensitive is the data and functionality provided by the API? Simplistic approaches, such as [Bearer Tokens]({{< ref "/api-management/authentication-authorization#use-bearer-tokens" >}}), can work for low risk, basic APIs, but for higher risk or more sophisticated APIs, it may be more appropriate to use a standards-based approach such as [OAuth 2.0]({{< ref "/api-management/authentication-authorization#set-up-oauth-20-authorization" >}}) or [OpenID Connect]({{< ref "/api-management/authentication-authorization#use-openid-connect" >}}). Furthermore, using an [external identity provider]({{< ref "/api-management/authentication-authorization#integrate-external-oauth-middleware" >}}) can deliver additional benefits, such as [single sign-on]({{< ref "advanced-configuration/integrate/sso" >}}), as well as multi-factor authentication approaches such as [biometric verification](https://www.okta.com/identity-101/biometrics-secure-authentication).

### Handle Data Securely

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Modern APIs are often backed by large technology stacks composed of numerous com

### Secure Connections

Use [transport layer security]({{< ref "basic-config-and-security/security/tls-and-ssl" >}}) where possible. Most importantly, on inbound connections to the gateway and outbound connection from the gateway to the upstream API and other services. TLS can also be used as a form of authentication, using [Mutual TLS]({{< ref "basic-config-and-security/security/mutual-tls" >}}).
Use [transport layer security]({{< ref "basic-config-and-security/security/tls-and-ssl" >}}) where possible. Most importantly, on inbound connections to the gateway and outbound connection from the gateway to the upstream API and other services. TLS can also be used as a form of authentication, using [Mutual TLS]({{< ref "/api-management/authentication-authorization#enable-mutual-tls" >}}).

### Limit Functionality

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ APIs need to be managed and governed just like any other resource, otherwise org

**Restrict Version Availability**: Enforce the expiry of [API versions]({{< ref "getting-started/key-concepts/versioning" >}}) that are planned for deprecation, by setting a sunset date, beyond which they will not be accessible.

**Enforce Key Expiry**: In many situations it’s best to issue API keys that have a short, finite lifetime, especially when serving anonymous, external consumers. Set [expiry dates]({{< ref "basic-config-and-security/control-limit-traffic/key-expiry" >}}) for API keys, or use ephemeral credentials with complementary authentication techniques that support key renewal, such as [OAuth 2.0 refresh tokens]({{< ref "basic-config-and-security/security/authentication-&-authorization/oauth2-0/refresh-token-grant" >}}) and [dynamic client registration]({{< ref "tyk-stack/tyk-developer-portal/enterprise-developer-portal/api-access/dynamic-client-registration" >}}). Then, should an API key fall into the wrong hands, there’s a chance that it has already expired.
**Enforce Key Expiry**: In many situations it’s best to issue API keys that have a short, finite lifetime, especially when serving anonymous, external consumers. Set [expiry dates]({{< ref "basic-config-and-security/control-limit-traffic/key-expiry" >}}) for API keys, or use ephemeral credentials with complementary authentication techniques that support key renewal, such as [OAuth 2.0 refresh tokens]({{< ref "/api-management/authentication-authorization#use-refresh-token-grant" >}}) and [dynamic client registration]({{< ref "tyk-stack/tyk-developer-portal/enterprise-developer-portal/api-access/dynamic-client-registration" >}}). Then, should an API key fall into the wrong hands, there’s a chance that it has already expired.

**Use Standardized Specifications**: Use the [OpenAPI Specification](https://en.wikipedia.org/wiki/OpenAPI_Specification) standard to design APIs. These specification documents act as a source of truth that can generate [API configuration]({{< ref "getting-started/using-oas-definitions/import-an-oas-api" >}}) and [portal documentation]({{< ref "tyk-apis/tyk-portal-api/portal-documentation#create-documentation" >}}).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ If you want to restrict an API client to a certain rate of requests to your APIs
{{< note success >}}
**Note**

It is assumed that the APIs being protected with a rate limit are using our [Authentication token]({{< ref "basic-config-and-security/security/authentication-authorization/bearer-tokens" >}}) Authentication mode and have policies already created
It is assumed that the APIs being protected with a rate limit are using our [Authentication token]({{< ref "/api-management/authentication-authorization#use-bearer-tokens" >}}) Authentication mode and have policies already created
{{< /note >}}

You can configure this rate limit from the API Designer in Tyk Dashboard as follows:
Expand All @@ -59,7 +59,7 @@ If you want to restrict API clients to a certain rate of requests for a specific
{{< note success >}}
**Note**

It is assumed that the APIs being protected with a rate limit are using our [Authentication token]({{< ref "basic-config-and-security/security/authentication-authorization/bearer-tokens" >}}) Authentication mode and have policies already created
It is assumed that the APIs being protected with a rate limit are using our [Authentication token]({{< ref "/api-management/authentication-authorization#use-bearer-tokens" >}}) Authentication mode and have policies already created
{{< /note >}}

You can configure this rate limit from the API Designer in Tyk Dashboard as follows:
Expand Down
4 changes: 2 additions & 2 deletions tyk-docs/content/basic-config-and-security/security.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Tyk supports TLS connections and Mutual TLS. All TLS connections also support HT

### Trusted Certificates

As part of using Mutual TLS, you can create a list of [trusted certificates]({{< ref "basic-config-and-security/security/mutual-tls/concepts#certificates" >}}).
As part of using Mutual TLS, you can create a list of [trusted certificates]({{< ref "/api-management/authentication-authorization#how-does-mutual-tls-work" >}}).

### Certificate Pinning

Expand All @@ -48,7 +48,7 @@ Tyk supports various ways to secure your APIs, including:
* OAuth 2.0
* OpenID Connect

See [Authentication and Authorization]({{< ref "basic-config-and-security/security/authentication-&-authorization" >}}) for more details.
See [Authentication and Authorization]({{< ref "/api-management/authentication-authorization" >}}) for more details.

### Security Policies

Expand Down

This file was deleted.

Loading
Loading