AWS认证
所有使用AWS服务(如DynamoDB、SQS、S3等) 的Dapr组件都使用一套标准化的属性进行配置,这些属性描述如下。
这篇文章提供了关于(Dapr 使用的) AWS SDK如何处理证书的概述
以下属性都不是必需的,因为AWS SDK可以使用上面链接中描述的默认供应链进行配置。 测试组件配置并检查Dapr运行时的日志输出以确保组件正确初始化是很重要的。
- 。要连接到哪个AWS区域。 在某些情况下(例如在自托管模式下运行Dapr时),这个标志可以由环境变量
AWS_REGION
提供。 Since Dapr sidecar injection doesn’t allow configuring environment variables on the Dapr sidecar, it is recommended to always set theregion
attribute in the component spec. - : AWS Access key id.
secretKey
: AWS Secret access key. Use together withaccessKey
to explicitly specify credentials.
在生产场景中,建议使用或Kube2iam等解决方案。 如果在 AWS EKS 上运行,你可以 ,你的 pod 可以使用该帐户。
Kiam和Kube2IAM都是通过拦截对实例元数据服务的调用来工作的。
如果直接在AWS EC2实例上以单机模式运行Dapr,可以使用实例配置文件。 只需配置一个iam角色并中,Dapr就能对AWS进行身份验证,而无需在Dapr组件清单中指定证书。
当在单机模式下运行Dapr(或直接运行Dapr时)时,你可以选择像这样在进程中注入环境变量(在Linux/MacOS上)。
如果你在本地有配置的名为AWS的配置文件,您可以通过指定 “AWS_PROFILE “环境变量来告诉Dapr(或Dapr运行时)要使用哪个配置文件:
你可以使用任何以这种方式配置Dapr。
在Windows上,需要在启动dapr
或daprd
命令之前设置环境变量,不支持如上图所示的内联操作。
如果你使用 AWS SSO进行身份验证,一些 AWS SDK(包括 Go SDK)还不支持此功能。 你可以使用一些实用程序来 “桥接 “基于 AWS SSO 的凭证和 “传统 “凭证,例如 或 aws-sso-util。
如果使用AwsHelper,可以这样启动Dapr:
在Windows上,环境变量需要在启动命令之前进行设置,不支持如上所示的内联操作。