Identityserver4 参数化标识服务器4部署
我们正在开发一个容器化B2B应用程序,其中每个租户都有自己独立的容器集(web api、web SPA(react)、后端和IdentityServer 4)。我们使用Kubernetes参数化部署(kubectl apply-f Tenant1DeployAll.yaml),从容器注册表中的相同映像部署容器。Tenant1DeployAll.yaml中与IdentityServer容器相关的部分:Identityserver4 参数化标识服务器4部署,identityserver4,Identityserver4,我们正在开发一个容器化B2B应用程序,其中每个租户都有自己独立的容器集(web api、web SPA(react)、后端和IdentityServer 4)。我们使用Kubernetes参数化部署(kubectl apply-f Tenant1DeployAll.yaml),从容器注册表中的相同映像部署容器。Tenant1DeployAll.yaml中与IdentityServer容器相关的部分: --- apiVersion: apps/v1 kind: Deployment metadat
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: rsd-identity-api
spec:
replicas: 2
selector:
matchLabels:
app: rsd-identity-api
template:
metadata:
labels:
app: rsd-identity-api
spec:
containers:
- name: rsd-identity-api
image: aaa.azurecr.io/aaa:identity.api
ports:
- containerPort: 80
imagePullPolicy: Always
env:
- name: ASPNETCORE_ENVIRONMENT
value: "Development"
- name: ASPNETCORE_URLS
value: "http://0.0.0.0:80"
- name: ConnectionString
value: "Server=aaa.database.windows.net,1433;Database=IdentityDb;User Id=aaa;Password=bbb"
- name: UseCustomizationData
value: "true"
- name: OrchestratorType
value: "Kubernetes"
- name: GRPC_PORT
value: "4481"
---
我们在测试期间注意到,如果我们试图通过从Tenant1 IdentityServer 4收集的令牌访问Tenant2 Web Api,Web Api将接受令牌并根据用户角色提供访问,即,租户1中的管理员可以使用管理权限访问租户2
为租户1和租户2部署解耦身份验证/授权的最佳方法是什么?理想情况下,我们希望在代码中使用的web api/identity api容器的env部分中添加一些参数