2.23.
2.23.1. 링크 복사링크가 클립보드에 복사되었습니다!
2.23.2. 링크 복사링크가 클립보드에 복사되었습니다!
2.23.3. 링크 복사링크가 클립보드에 복사되었습니다!
2.23.4. 링크 복사링크가 클립보드에 복사되었습니다!
2.23.4.1. 링크 복사링크가 클립보드에 복사되었습니다!
apiVersion: extensions.istio.io/v1alpha1 kind: WasmPlugin metadata: name: <threescale_wasm_plugin_name> namespace: <info>1 spec: selector:2 labels: app: <product_page> pluginConfig: <yaml_configuration> url: oci://registry.redhat.io/3scale-amp2/3scale-auth-wasm-rhel8:0.0.3 phase: AUTHZ priority: 100
$ oc apply -f threescale-wasm-auth-info.yaml
2.23.5. 링크 복사링크가 클립보드에 복사되었습니다!
apiVersion: networking.istio.io/v1beta1 kind: ServiceEntry metadata: name: service-entry-threescale-saas-backend spec: hosts: - su1.3scale.net ports: - number: 443 name: https protocol: HTTPS location: MESH_EXTERNAL resolution: DNSapiVersion: networking.istio.io/v1beta1 kind: DestinationRule metadata: name: destination-rule-threescale-saas-backend spec: host: su1.3scale.net trafficPolicy: tls: mode: SIMPLE sni: su1.3scale.net$ oc apply -f service-entry-threescale-saas-backend.yml$ oc apply -f destination-rule-threescale-saas-backend.yml
apiVersion: networking.istio.io/v1beta1 kind: ServiceEntry metadata: name: service-entry-threescale-saas-system spec: hosts: - multitenant.3scale.net ports: - number: 443 name: https protocol: HTTPS location: MESH_EXTERNAL resolution: DNSapiVersion: networking.istio.io/v1beta1 kind: DestinationRule metadata: name: destination-rule-threescale-saas-system spec: host: multitenant.3scale.net trafficPolicy: tls: mode: SIMPLE sni: multitenant.3scale.net$ oc apply -f service-entry-threescale-saas-system.yml$ oc apply -f <destination-rule-threescale-saas-system.yml>
2.23.6. 링크 복사링크가 클립보드에 복사되었습니다!
2.23.6.1. 링크 복사링크가 클립보드에 복사되었습니다!
2.23.6.2. 링크 복사링크가 클립보드에 복사되었습니다!
apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
name: <threescale_wasm_plugin_name>
namespace: <info>
spec:
pluginConfig:
api: v1
# ...
2.23.6.3. 링크 복사링크가 클립보드에 복사되었습니다!
apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
name: <threescale_wasm_plugin_name>
spec:
pluginConfig:
system:
name: <saas_porta>
upstream: <object>
token: <my_account_token>
ttl: 300
# ...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2.23.6.4. 링크 복사링크가 클립보드에 복사되었습니다!
apiVersion: maistra.io/v1
upstream:
name: outbound|443||multitenant.3scale.net
url: "https://myaccount-admin.3scale.net/"
timeout: 5000
# ...
|
|
|
|
|
|
|
|
|
|
|
|
2.23.6.5. 링크 복사링크가 클립보드에 복사되었습니다!
apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
name: <threescale_wasm_plugin_name>
spec:
pluginConfig:
# ...
backend:
name: backend
upstream: <object>
# ...
|
|
|
|
|
|
|
|
2.23.6.6. 링크 복사링크가 클립보드에 복사되었습니다!
apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
name: <threescale_wasm_plugin_name>
spec:
pluginConfig:
# ...
services:
- id: "2555417834789"
token: service_token
authorities:
- "*.app"
- 0.0.0.0
- "0.0.0.0:8443"
credentials: <object>
mapping_rules: <object>
# ...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2.23.6.7. 링크 복사링크가 클립보드에 복사되었습니다!
apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
name: <threescale_wasm_plugin_name>
spec:
pluginConfig:
# ...
services:
- credentials:
user_key: <array_of_lookup_queries>
app_id: <array_of_lookup_queries>
app_key: <array_of_lookup_queries>
# ...
|
|
|
|
|
|
|
|
|
|
|
|
2.23.6.8. 링크 복사링크가 클립보드에 복사되었습니다!
apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
name: <threescale_wasm_plugin_name>
spec:
pluginConfig:
# ...
services:
- credentials:
user_key:
- <source_type>: <object>
- <source_type>: <object>
# ...
app_id:
- <source_type>: <object>
# ...
app_key:
- <source_type>: <object>
# ...
2.23.6.9. 링크 복사링크가 클립보드에 복사되었습니다!
|
|
|
|
|
|
|
|
2.23.6.10. 링크 복사링크가 클립보드에 복사되었습니다!
2.23.6.11. 링크 복사링크가 클립보드에 복사되었습니다!
2.23.6.12. 링크 복사링크가 클립보드에 복사되었습니다!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
name: <threescale_wasm_plugin_name>
spec:
pluginConfig:
# ...
mapping_rules:
- method: GET
pattern: /
usages:
- name: hits
delta: 1
- method: GET
pattern: /products/
usages:
- name: products
delta: 1
- method: ANY
pattern: /products/{id}/sold
usages:
- name: sales
delta: 1
- name: products
delta: 1
# ...
2.23.7. 링크 복사링크가 클립보드에 복사되었습니다!
2.23.7.1. 링크 복사링크가 클립보드에 복사되었습니다!
apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
name: <threescale_wasm_plugin_name>
spec:
# ...
services:
# ...
credentials:
user_key:
- query_string:
keys:
- <user_key>
- header:
keys:
- <user_key>
# ...
2.23.7.2. 링크 복사링크가 클립보드에 복사되었습니다!
apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
name: <threescale_wasm_plugin_name>
spec:
# ...
services:
# ...
credentials:
app_id:
- query_string:
keys:
- <app_id>
- header:
keys:
- <app_id>
app_key:
- query_string:
keys:
- <app_key>
- header:
keys:
- <app_key>
# ...
2.23.7.3. 링크 복사링크가 클립보드에 복사되었습니다!
aladdin:opensesame: Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
name: <threescale_wasm_plugin_name>
spec:
# ...
services:
# ...
credentials:
app_id:
- header:
keys:
- authorization
ops:
- split:
separator: " "
max: 2
- length:
min: 2
- drop:
head: 1
- base64_urlsafe
- split:
max: 2
app_key:
- header:
keys:
- app_key
# ...
apiVersion: extensions.istio.io/v1alpha1 kind: WasmPlugin metadata: name: <threescale_wasm_plugin_name> spec: # ... services: # ... credentials: app_id: - header: keys: - authorization ops: - split: separator: " " max: 2 - length: min: 2 - reverse - glob: - Basic - drop: tail: 1 - base64_urlsafe - split: max: 2 - test: if: length: min: 2 then: - strlen: max: 63 - or: - strlen: min: 1 - drop: tail: 1 - assert: - and: - reverse - or: - strlen: min: 8 - glob: - aladdin - admin # ...
2.23.7.4. 링크 복사링크가 클립보드에 복사되었습니다!
apiVersion: security.istio.io/v1beta1
kind: RequestAuthentication
metadata:
name: jwt-example
namespace: info
spec:
selector:
matchLabels:
app: productpage
jwtRules:
- issuer: >-
http://keycloak-keycloak.34.242.107.254.nip.io/auth/realms/3scale-keycloak
jwksUri: >-
http://keycloak-keycloak.34.242.107.254.nip.io/auth/realms/3scale-keycloak/protocol/openid-connect/certs
apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
name: <threescale_wasm_plugin_name>
spec:
# ...
services:
# ...
credentials:
app_id:
- filter:
path:
- envoy.filters.http.jwt_authn
- "0"
keys:
- azp
- aud
ops:
- take:
head: 1
# ...
2.23.7.5. 링크 복사링크가 클립보드에 복사되었습니다!
apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
name: <threescale_wasm_plugin_name>
spec:
# ...
services:
# ...
credentials:
app_id:
- header:
keys:
- x-jwt-payload
ops:
- base64_urlsafe
- json:
- keys:
- azp
- aud
- take:
head: 1
# ,,,
2.23.8. 링크 복사링크가 클립보드에 복사되었습니다!
apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
name: <threescale_wasm_plugin_name>
spec:
url: oci://registry.redhat.io/3scale-amp2/3scale-auth-wasm-rhel8:0.0.3
imagePullSecret: <optional_pull_secret_resource>
phase: AUTHZ
priority: 100
selector:
labels:
app: <product_page>
pluginConfig:
api: v1
system:
name: <system_name>
upstream:
name: outbound|443||multitenant.3scale.net
url: https://istiodevel-admin.3scale.net/
timeout: 5000
token: <token>
backend:
name: <backend_name>
upstream:
name: outbound|443||su1.3scale.net
url: https://su1.3scale.net/
timeout: 5000
extensions:
- no_body
services:
- id: '2555417834780'
authorities:
- "*"
credentials:
user_key:
- query_string:
keys:
- <user_key>
- header:
keys:
- <user_key>
app_id:
- query_string:
keys:
- <app_id>
- header:
keys:
- <app_id>
app_key:
- query_string:
keys:
- <app_key>
- header:
keys:
- <app_key>