mirror of https://github.com/status-im/consul.git
Fixes (#17765)
This commit is contained in:
parent
f9aa7aebb3
commit
414a61da28
|
@ -108,53 +108,53 @@ Kind = "jwt-provider" # required
|
|||
Name = "<name-of-provider-configuration-entry>" # required
|
||||
Issuer = "<jwt-issuer>" # required
|
||||
JSONWebKeySet = { # required
|
||||
Local = { # cannot specify with JWKS{}.Remote
|
||||
JWKS = "<JWKS-as-base64-string>" # cannot specify with JWKS{}.Local{}.Filename
|
||||
Filename = "<path/to/JWKS/file>" # cannot specify with JWKS{}.Local{}.String
|
||||
}
|
||||
Local = { # cannot specify with JWKS{}.Remote
|
||||
JWKS = "<JWKS-as-base64-string>" # cannot specify with JWKS{}.Local{}.Filename
|
||||
Filename = "<path/to/JWKS/file>" # cannot specify with JWKS{}.Local{}.String
|
||||
}
|
||||
}
|
||||
JSONWebKeySet = {
|
||||
Remote = { # cannot specify with JWKS{}.Local
|
||||
URI = "<uniform-resource-identifier>"
|
||||
RequestTimeoutMs = 1500
|
||||
CacheDuration = "5m"
|
||||
FetchAsynchronously = false
|
||||
RetryPolicy = {
|
||||
NumRetries = 0
|
||||
RetryPolicyBackoff = {
|
||||
BaseInterval = "1s"
|
||||
MaxInterval = "10s"
|
||||
Remote = { # cannot specify with JWKS{}.Local
|
||||
URI = "<uniform-resource-identifier>"
|
||||
RequestTimeoutMs = 1500
|
||||
CacheDuration = "5m"
|
||||
FetchAsynchronously = false
|
||||
RetryPolicy = {
|
||||
NumRetries = 0
|
||||
RetryPolicyBackoff = {
|
||||
BaseInterval = "1s"
|
||||
MaxInterval = "10s"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Audiences = ["<aud-claims>"]
|
||||
Locations = [
|
||||
{
|
||||
Header = {
|
||||
Name = "<name-of-header-with-token>"
|
||||
ValuePrefix = "<prefix-in-header-before-token>"
|
||||
Forward = false
|
||||
{
|
||||
Header = {
|
||||
Name = "<name-of-header-with-token>"
|
||||
ValuePrefix = "<prefix-in-header-before-token>"
|
||||
Forward = false
|
||||
}
|
||||
},
|
||||
{
|
||||
QueryParam = {
|
||||
Name = "<name-of-query-parameter-with-token>"
|
||||
}
|
||||
},
|
||||
{
|
||||
Cookie = {
|
||||
Name = "<name-of-cookie-with-token>"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
QueryParam = {
|
||||
Name = "<name-of-query-parameter-with-token>"
|
||||
}
|
||||
},
|
||||
{
|
||||
Cookie = {
|
||||
Name = "<name-of-cookie-with-token>"
|
||||
}
|
||||
}
|
||||
]
|
||||
Forwarding = {
|
||||
HeaderName = "<name-appended-to-forwarding-header>"
|
||||
PadForwardPayloadHeader = false
|
||||
HeaderName = "<name-appended-to-forwarding-header>"
|
||||
PadForwardPayloadHeader = false
|
||||
}
|
||||
ClockSkewSeconds = 30
|
||||
CacheConfig = {
|
||||
Size = 0
|
||||
Size = 0
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -164,58 +164,58 @@ CacheConfig = {
|
|||
|
||||
```json
|
||||
{
|
||||
"Kind": "jwt-provider", // required
|
||||
"Name": "<name-of-provider-configuration-entry>", // required
|
||||
"Issuer": "<jwt-issuer>", // required
|
||||
"JSONWebKeySet": { // required
|
||||
"Local": { // cannot specify with JWKS.Remote
|
||||
"JWKS": "<JWKS-as-base64-string>", // cannot specify with JWKS.Local.Filename
|
||||
"Filename": "<path/to/JWKS/file>" // cannot specify with JWKS.Local.String
|
||||
"Kind": "jwt-provider", // required
|
||||
"Name": "<name-of-provider-configuration-entry>", // required
|
||||
"Issuer": "<jwt-issuer>", // required
|
||||
"JSONWebKeySet": { // required
|
||||
"Local": { // cannot specify with JWKS.Remote
|
||||
"JWKS": "<JWKS-as-base64-string>", // cannot specify with JWKS.Local.Filename
|
||||
"Filename": "<path/to/JWKS/file>" // cannot specify with JWKS.Local.String
|
||||
}
|
||||
},
|
||||
"JSONWebKeySet": {
|
||||
"Remote": { // cannot specify with JWKS.Local
|
||||
"URI": "<uniform-resource-identifier>",
|
||||
"RequestTimeoutMs": "1500",
|
||||
"CacheDuration": "5m",
|
||||
"FetchAsynchronously": "false",
|
||||
"RetryPolicy": {
|
||||
"NumRetries": "0",
|
||||
"RetryPolicyBackOff": {
|
||||
"BaseInterval": "1s",
|
||||
"MaxInterval": "10s"
|
||||
},
|
||||
"JSONWebKeySet": {
|
||||
"Remote": { // cannot specify with JWKS.Local
|
||||
"URI": "<uniform-resource-identifier>",
|
||||
"RequestTimeoutMs": "1500",
|
||||
"CacheDuration": "5m",
|
||||
"FetchAsynchronously": "false",
|
||||
"RetryPolicy": {
|
||||
"NumRetries": "0",
|
||||
"RetryPolicyBackOff": {
|
||||
"BaseInterval": "1s",
|
||||
"MaxInterval": "10s"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Audiences": ["<aud-claims>"],
|
||||
"Locations": [
|
||||
},
|
||||
"Audiences": ["<aud-claims>"],
|
||||
"Locations": [
|
||||
{
|
||||
"Header": {
|
||||
"Name": "<name-of-header-with-token>",
|
||||
"ValuePrefix": "<prefix-in-header-before-token>",
|
||||
"Forward": "false"
|
||||
}
|
||||
"Header": {
|
||||
"Name": "<name-of-header-with-token>",
|
||||
"ValuePrefix": "<prefix-in-header-before-token>",
|
||||
"Forward": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"QueryParam": {
|
||||
"Name":"<name-of-query-parameter-with-token>",
|
||||
}
|
||||
"QueryParam": {
|
||||
"Name":"<name-of-query-parameter-with-token>",
|
||||
}
|
||||
},
|
||||
{
|
||||
"Cookie": {
|
||||
"Name": "<name-of-cookie-with-token>"
|
||||
}
|
||||
"Cookie": {
|
||||
"Name": "<name-of-cookie-with-token>"
|
||||
}
|
||||
}
|
||||
],
|
||||
"Forwarding": {
|
||||
"HeaderName": "<name-appended-to-forwarding-header>",
|
||||
"PadForwardPayloadHeader": "false"
|
||||
},
|
||||
"ClockSkewSeconds": "30",
|
||||
"CacheConfig": {
|
||||
],
|
||||
"Forwarding": {
|
||||
"HeaderName": "<name-appended-to-forwarding-header>",
|
||||
"PadForwardPayloadHeader": "false"
|
||||
},
|
||||
"ClockSkewSeconds": "30",
|
||||
"CacheConfig": {
|
||||
"Size": "0"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -1014,7 +1014,7 @@ metadata:
|
|||
name: okta
|
||||
spec:
|
||||
issuer: okta
|
||||
jsonWebKeySet:
|
||||
jsonwebkeyset:
|
||||
remote:
|
||||
uri: https://<org>.okta.com/oauth2/default/v1/keys
|
||||
cacheDuration: 30m
|
||||
|
|
|
@ -1506,64 +1506,64 @@ Sources = [
|
|||
```
|
||||
|
||||
```yaml
|
||||
apiVersion: consul.hashicorp.com/v1alpha1
|
||||
kind: ServiceIntentions
|
||||
metadata:
|
||||
name: backend
|
||||
spec:
|
||||
sources:
|
||||
name: frontend
|
||||
permissions:
|
||||
apiVersion: consul.hashicorp.com/v1alpha1
|
||||
kind: ServiceIntentions
|
||||
metadata:
|
||||
name: backend
|
||||
spec:
|
||||
sources:
|
||||
name: frontend
|
||||
permissions:
|
||||
http:
|
||||
pathExact: /admin
|
||||
jwt:
|
||||
providers:
|
||||
name: okta
|
||||
verifyClaims:
|
||||
path:
|
||||
- perms
|
||||
- role
|
||||
value: admin
|
||||
action: allow
|
||||
http:
|
||||
pathExact: /admin
|
||||
jwt:
|
||||
providers:
|
||||
name: okta
|
||||
verifyClaims:
|
||||
path:
|
||||
- perms
|
||||
- role
|
||||
value: admin
|
||||
action: allow
|
||||
http:
|
||||
pathPrefix: /
|
||||
pathPrefix: /
|
||||
```
|
||||
|
||||
```json
|
||||
{
|
||||
"Kind": "service-intentions",
|
||||
"Name": "backend",
|
||||
"Sources": [
|
||||
{
|
||||
"Name": "frontend",
|
||||
"Permissions": [
|
||||
{
|
||||
"HTTP": {
|
||||
"PathExact": "/admin"
|
||||
},
|
||||
"JWT": {
|
||||
"Providers": [
|
||||
{
|
||||
"Name": "okta",
|
||||
"VerifyClaims": [
|
||||
{
|
||||
"Path": ["perms", "role"],
|
||||
"Value": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
"Kind": "service-intentions",
|
||||
"Name": "backend",
|
||||
"Sources": [
|
||||
{
|
||||
"Name": "frontend",
|
||||
"Permissions": [
|
||||
{
|
||||
"HTTP": {
|
||||
"PathExact": "/admin"
|
||||
},
|
||||
{
|
||||
"Action": "allow",
|
||||
"HTTP": {
|
||||
"PathPrefix": "/"
|
||||
}
|
||||
"JWT": {
|
||||
"Providers": [
|
||||
{
|
||||
"Name": "okta",
|
||||
"VerifyClaims": [
|
||||
{
|
||||
"Path": ["perms", "role"],
|
||||
"Value": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Action": "allow",
|
||||
"HTTP": {
|
||||
"PathPrefix": "/"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -98,4 +98,4 @@ After you update the service intention, write the configuration to Consul so tha
|
|||
|
||||
```shell-session
|
||||
$ consul config write web-intention.hcl
|
||||
```
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue