我工作的公司多年来收购了多种产品。
我们一直在开发共享的微服务生态系统。
产品(当前)对不同的 IDP(例如 Auth0、Azure B2C)进行身份验证。后端微服务可以很好地处理多个颁发者,但我们还希望在 API 网关 - Azure APIM 上进行身份验证检查,并在 JWT 访问令牌无效时进行短路。
如何在 Azure APIM 中验证多个颁发者?
在文档中,我可以看到我可以指定多个颁发者,但只有 1 个 openid-config。如果只有 1 个 openid-config,如何获取多个发行者的公共签名密钥?据推测,它是为了获取 JWKS 端点,然后获取信息来验证令牌签名......
以下是我正在讨论的 APIM(入站)政策的一部分:
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized" require-expiration-time="true" require-signed-tokens="true">
<openid-config url="https://example-company.au.auth0.com/.well-known/openid-configuration" />
<audiences>
<audience>test</audience>
<audience>blah</audience>
</audiences>
<issuers>
<issuer>https://example-company.au.auth0.com</issuer>
<issuer>http://contoso.com/</issuer>
</issuers>
</validate-jwt>
Run Code Online (Sandbox Code Playgroud) Rancher v2.5 日志记录使用 banzai 云日志记录操作符 - 请参阅此处。
操作员在每个节点上部署并配置 Fluent Bit DaemonSet,以从节点文件系统收集容器和应用程序日志。Fluent Bit 查询 Kubernetes API 并使用有关 pod 的元数据丰富日志,并将日志和元数据传输到 Fluentd。Fluentd 接收、过滤日志并将其传输到多个输出
我对 Fluent Bit 不太了解,但文档说
Fluent Bit 是一个开源日志处理器和转发器,它允许您从不同来源收集任何数据,例如指标和日志,使用过滤器丰富它们并将它们发送到多个目的地。
听起来与 Fluentd(以及 LogStash 等其他日志转发器)非常相似。
那么将 Fluent bit 和 Fluentd 作为日志记录操作符的一部分的原因/好处是什么?
使用 MassTransit.RabbitMQ v5.3.2 和 OpenTracing.Contrib.NetCore v0.5.0。
我能够使用 MassTransit 向 RabbitMQ 发布和使用事件,并且 OpenTracing 与 Jaeger 配合使用,但我还没有设法将我的 OpenTracing TraceIds 从我的消息发布者传播到我的消息消费者 - 发布者和消费者跟踪有不同TraceId。
我已经使用以下过滤器配置了 MassTransit:
cfg.UseDiagnosticsActivity(new DiagnosticListener("test"));
Run Code Online (Sandbox Code Playgroud)
我实际上不确定侦听器名称应该是什么,因此是“test”。该文档没有 OpenTracing 的示例。无论如何,这会在发布端的活动跟踪中添加“发布消息”范围,并在消费者端自动设置“消费消息”跟踪;然而它们是单独的痕迹。我将如何将其合并为单个跟踪?
我可以使用以下方法设置 TraceId 标头:
cfg.ConfigureSend(configurator => configurator.UseExecute(context => context.Headers.Set("TraceId", GlobalTracer.Instance.ActiveSpan.Context.TraceId)))
Run Code Online (Sandbox Code Playgroud)
但是我该如何配置我的消息使用者,使其成为根 TraceId?有兴趣看看我会如何做到这一点,或者是否有不同的方法......
谢谢!
我们对 HTTP API 使用开放 API 规范 (OAS)。我们在微服务/应用程序中使用这些来生成 Swagger UI,但它也非常适合文档和协作。
一些内部消息传递也通过消息代理 (RabbitMQ/AMQP) 异步完成。其他人/公司是否使用某些东西来记录异步消息操作?如果能给集成团队一些像 OAS 这样的东西就好了……
我一直在玩Azure App Configuration。
这是一个示例配置:
var environmentVariable = Environment.GetEnvironmentVariable("AppConfigurationConnectionString");
var config =
new ConfigurationBuilder()
.AddAzureAppConfiguration(options =>
{
options.Connect(environmentVariable)
.ConfigureKeyVault(kv =>
{
kv.SetCredential(new DefaultAzureCredential());
});
})
.Build();
services.AddSingleton<IConfiguration>(config);
Run Code Online (Sandbox Code Playgroud)
在此之后,我可以将一个IConfiguration
实例注入我的服务并用于_config["settingName"]
访问配置设置。这一切都很好,而且非常好。
我不知道该怎么做的一件事是将相关设置组映射到强类型对象(也就是说,不必手动完成所有操作,我可以这样做,但是......希望有更好的方法) .
在常规的 ASP.NET 核心配置中,我可以将相关设置设置分组如下(即在appsettings.json
)
{
"test": {
"key1": "value1",
"key2": "value2"
}
}
Run Code Online (Sandbox Code Playgroud)
使用 IOptions 模式如下:
services.Configure<Test>(config.GetSection("test"));
Run Code Online (Sandbox Code Playgroud)
这允许我将强类型IOptions<Test>
实例注入到我的类中。IMO 这比我_config["key1"]
用来获取配置设置的大型平面索引器要好一些。
Azure App 配置是否有一种方法可以让我自动配置可以注入到我的类中的强类型配置对象?
TIA
configuration azure .net-core asp.net-core azure-app-configuration
我无法在家庭桌面(Windows 10 家庭版)上对Azure 门户进行身份验证。它只是挂着以下图标,直到我最终被重定向到错误超时页面。
有趣的是,我仍然可以登录 Office 365 和 Azure DevOps,还可以在笔记本电脑上登录 Azure 门户。这让我认为它与我的补偿有关,而不是与我的 Azure 帐户有关。
我尝试了以下方法:
如果我在 Chrome 中检查浏览器控制台,尝试打开 Azure 门户时会出现一堆错误,例如
控制台中的前几个错误是:
MsPortalFx.Base.Diagnostics.ErrorReporter 1 MsPortalFx.Base.Diagnostics.ErrorReporter: {"message":"Request Error","responseHeaders":"cache-control: no-cache\r\ncontent-type: application/json; charset=utf-8\r\ndate: Sun, 25 Jul 2021 23:13:32 GMT\r\nexpires: -1\r\nnel: {\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}\r\npragma: no-cache\r\nreport-to: {\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://eafc.nelreports.net/api/report?cat=aportal\"}]}\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\nx-content-type-options: nosniff\r\nx-ms-version: 8.75.0.5 (production#6db687bbc5.210712-1125) Signed\r\nx-ua-compatible: IE=edge\r\nx-xss-protection: 1; mode=block\r\n","responseText":"{\"Message\":\"There was an error processing your request. Please try again in a …
Run Code Online (Sandbox Code Playgroud) azure ×3
.net-core ×2
amqp ×1
asp.net-core ×1
asynchronous ×1
azureportal ×1
logging ×1
masstransit ×1
openapi ×1
opentracing ×1
rabbitmq ×1
rancher ×1
swagger ×1