The documentation you are viewing is for Dapr v1.12 which is an older version of Dapr. For up-to-date documentation, see the latest version.
AWS 认证
所有使用 AWS 服务(如DynamoDB、SQS、S3等) 的 Dapr 组件都使用一套标准化的属性进行配置,这些属性描述如下。
这篇文章提供了关于(Dapr 使用的) AWS SDK 如何处理证书的概述
以下属性都不是必需的,因为 AWS SDK 可以使用上面链接中描述的默认供应链进行配置。 测试组件配置并检查 Dapr 运行时的日志输出以确保组件正确初始化是很重要的。
region
。要连接到哪个 AWS 区域。 在某些情况下(例如在自托管模式下运行 Dapr 时),这个标志可以由环境变量AWS_REGION
提供。 因为 Dapr sidecar 注入不允许配置 Dapr sidecar 上的环境变量。 建议在组件中始终设置region
属性。endpoint
: endpoint 通常由 AWS 管理。 然而,在某些情况下,在本地设置 endpoint 可能是有意义的:例如,如果是针对 DynamoDB Local 进行开发,accessKey
: AWS Access key id.secretKey
: AWS Secret access key. 与accessKey
一起使用确定信任凭据。sessionToken
: AWS Session token. 与accessKey
和secretKey
一起使用。 当使用普通 IAM 用户的 access key和密钥时,通常不需要session token。
在组件清单文件中明确指定凭证的替代方法
在生产场景中,建议使用 Kiam 或 Kube2iam 等解决方案。 如果在 AWS EKS 上运行,你可以 将 IAM 角色链接到 Kubernetes 服务帐户,你的 pod 可以使用该帐户。
所有这些解决方案都解决了同样的问题:它们允许 Dapr 运行时进程(或sidecar)动态地重新获取凭证,因此不需要显式凭证。 这样做有几个好处,比如自动轮换访问密钥,避免必须管理密钥。
Kiam 和 Kube2IAM 都是通过拦截对 实例元数据服务的调用来工作的。
在 AWS EC2 上以单机模式运行时使用实例角色/配置文件
如果直接在 AWS EC2 实例上以单机模式运行 Dapr,可以使用实例配置文件。 只需配置一个 iam 角色并将其附加到 ec2 实例的实例配置文件中,Dapr 就能对 AWS 进行身份验证,而无需在 Dapr 组件清单中指定证书。
以单机模式在本地运行 dapr 时验证到 AWS
当在单机模式下运行Dapr(或直接运行Dapr时)时,你可以选择像这样在进程中注入环境变量(在Linux/MacOS上)。
FOO=bar daprd --app-id myapp
如果你在本地有配置的名为 AWS 的配置文件,您可以通过指定 “AWS_PROFILE” 环境变量来告诉 Dapr(或 Dapr运行时)要使用哪个配置文件:
AWS_PROFILE=myprofile dapr run...
or
AWS_PROFILE=myprofile daprd...
你可以使用任何支持的环境变量以这种方式配置 Dapr。
在 Windows 上,需要在启动 dapr
或 daprd
命令之前设置环境变量,不支持如上图所示的内联操作。
如果使用基于 AWS SSO 的配置文件,则向 AWS 进行身份验证
如果你使用 AWS SSO进行身份验证,一些 AWS SDK(包括 Go SDK)还不支持此功能。 你可以使用一些实用程序来 “桥接 “基于 AWS SSO 的凭证和 “传统 “凭证,例如 AwsHelper 或 aws-sso-util。
如果使用 AwsHelper,可以这样启动 Dapr:
AWS_PROFILE=myprofile awshelper dapr run...
or
AWS_PROFILE=myprofile awshelper daprd...
在 Windows 上,环境变量需要在启动 awshelper
命令之前进行设置,不支持如上所示的内联操作。
Feedback
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.