使用指南:选择性启用 Dapr Sidecar 的 API
选择应用程序可以使用的 Dapr Sidecar API
在零信任网络环境中,或通过前端将 Dapr Sidecar 暴露给外部流量时,建议仅启用应用程序实际使用的 Dapr Sidecar API。这样可以减少潜在的攻击风险,并确保 Dapr API 仅限于应用程序的实际需求。
Dapr 允许您通过使用 Dapr 配置 设置 API 白名单或黑名单来控制应用程序可以访问哪些 API。
默认设置
如果未指定 API 白名单或黑名单,默认情况下将允许访问所有 Dapr API。
- 如果只定义了黑名单,则除黑名单中定义的 API 外,所有 Dapr API 都被允许访问。
- 如果只定义了白名单,则仅允许白名单中列出的 Dapr API。
- 如果同时定义了白名单和黑名单,则黑名单中的 API 优先于白名单。
- 如果两者都未定义,则允许访问所有 API。
例如,以下配置为 HTTP 和 gRPC 启用所有 API:
apiVersion: dapr.io/v1alpha1
kind: Configuration
metadata:
name: myappconfig
namespace: default
spec:
tracing:
samplingRate: "1"
使用白名单
启用特定的 HTTP API
以下示例启用 state v1.0
HTTP API,并禁用所有其他 HTTP API:
apiVersion: dapr.io/v1alpha1
kind: Configuration
metadata:
name: myappconfig
namespace: default
spec:
api:
allowed:
- name: state
version: v1.0
protocol: http
启用特定的 gRPC API
以下示例启用 state v1
gRPC API,并禁用所有其他 gRPC API:
apiVersion: dapr.io/v1alpha1
kind: Configuration
metadata:
name: myappconfig
namespace: default
spec:
api:
allowed:
- name: state
version: v1
protocol: grpc
使用黑名单
禁用特定的 HTTP API
以下示例禁用 state v1.0
HTTP API,允许所有其他 HTTP API:
apiVersion: dapr.io/v1alpha1
kind: Configuration
metadata:
name: myappconfig
namespace: default
spec:
api:
denied:
- name: state
version: v1.0
protocol: http
禁用特定的 gRPC API
以下示例禁用 state v1
gRPC API,允许所有其他 gRPC API:
apiVersion: dapr.io/v1alpha1
kind: Configuration
metadata:
name: myappconfig
namespace: default
spec:
api:
denied:
- name: state
version: v1
protocol: grpc
Dapr API 列表
name
字段用于指定您想启用的 Dapr API 名称。
请参考以下列表获取不同 Dapr API 的名称:
API 组 | HTTP API | gRPC API |
---|---|---|
服务调用 | invoke (v1.0 ) |
invoke (v1 ) |
状态 | state (v1.0 和 v1.0-alpha1 ) |
state (v1 和 v1alpha1 ) |
发布/订阅 | publish (v1.0 和 v1.0-alpha1 ) |
publish (v1 和 v1alpha1 ) |
输出绑定 | bindings (v1.0 ) |
bindings (v1 ) |
订阅 | n/a | subscribe (v1alpha1 ) |
秘密 | secrets (v1.0 ) |
secrets (v1 ) |
actor | actors (v1.0 ) |
actors (v1 ) |
元数据 | metadata (v1.0 ) |
metadata (v1 ) |
配置 | configuration (v1.0 和 v1.0-alpha1 ) |
configuration (v1 和 v1alpha1 ) |
分布式锁 | lock (v1.0-alpha1 )unlock (v1.0-alpha1 ) |
lock (v1alpha1 )unlock (v1alpha1 ) |
加密 | crypto (v1.0-alpha1 ) |
crypto (v1alpha1 ) |
工作流 | workflows (v1.0 ) |
workflows (v1 ) |
健康检查 | healthz (v1.0 ) |
n/a |
关闭 | shutdown (v1.0 ) |
shutdown (v1 ) |
后续步骤
配置 Dapr 使用 gRPCFeedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.