小编Jit*_*hor的帖子

如何使用 AddKeyPerFile 在 Linux 容器中加载机密

我有一个 asp net core 项目,正在 kubernetes 集群中的 Linux 容器中部署。我的秘密安装在容器中的 /secrets 文件夹中,我找到了https://github.com/aspnet/Configuration/tree/master/src/Config.KeyPerFile并尝试使用builder.AddKeyPerFile("/secrets", false);来加载秘密。但这不起作用。配置[“File1”]返回空,其中File1是“/secrets”文件夹内的文件,其中包含其中一个秘密。

当我在服务代码中执行以下内容时,我能够读取秘密。

List<KeyValuePair<string, string>> secrets =
    new List<KeyValuePair<string, string>>();

foreach (var secretFile in Directory.GetFiles("/secrets", "*.*", System.IO.SearchOption.AllDirectories))
{
    secrets.Add(
        new KeyValuePair<string, string>(
        Path.GetFileName(secretFile), File.ReadAllText(secretFile)));
}
Run Code Online (Sandbox Code Playgroud)

我试图找出如何使用 builder.AddKeyPerFile 扩展方法来实现此目的。

c# configuration-files asp.net-core

5
推荐指数
1
解决办法
2260
查看次数

如何在表格模型部署期间传递数据源的凭据?

问题:\n当我使用部署向导部署表格模型时。效果很好。但我们的问题是,我们有 20 个数据源,在部署时,我们需要提供 20 次凭据,因为它要求每个数据源提供凭据。这是非常痛苦的。这就是我们想要自动化部署的原因。

\n\n

方法: \n我按照这篇文章https://notesfromthelifeboat.com/post/analysis-services-1-deployment/进行操作 ,我可以毫无错误地部署表格模型,但是当我刷新模型时。它失败并出现以下错误

\n\n

无法将修改保存到服务器。返回错误:\'OLE DB 或 ODBC 错误:

\n\n
The credentials provided for the File source are invalid. (Source at \\\\share\\acaidatatempshare\\data\\lumeneventpropertiesexport.tsv.).\nOLE DB or ODBC error: The command has been canceled..\nOLE DB or ODBC error: The command has been canceled..\nOLE DB or ODBC error: The command has been canceled..\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的数据源是 tsv 文件,下面是 model.bim 文件的数据源部分。正如您所看到的,它不会将凭证的密码保存在 model.bim、asdatabase 或 xmla 文件中。

\n\n
\xe2\x80\xa6.\n\xe2\x80\xa6.\n      {\n        "type": "structured",\n        "name": "File/\\\\\\\\Share\\\\AcaiDataTempShare\\\\Data\\\\LumenEventPropertiesExport tsv",\n        "connectionDetails": {\n          "protocol": "file",\n          "address": …
Run Code Online (Sandbox Code Playgroud)

deployment ssas ssas-tabular

3
推荐指数
1
解决办法
7151
查看次数

如何获取为特定用户分配的 Azure 应用服务托管服务标识的令牌?

我正在尝试获取特定用户定义身份的 msi 令牌。我们的应用服务有 2 个用户定义的身份,我想要一个代表用户分配的身份之一的令牌。

这是代码:

        HttpWebRequest req = (HttpWebRequest)WebRequest.Create(
            "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/&object_id=<ObjectId>&client_id=<clientId>");

        req.Headers["Metadata"] = "true";
        req.Method = "GET";

        try
        {
            // Call /token endpoint
            HttpWebResponse response = (HttpWebResponse)req.GetResponse();

            // Pipe response Stream to a StreamReader, and extract access token
            StreamReader streamResponse = new StreamReader(response.GetResponseStream());
            string stringResponse = streamResponse.ReadToEnd();
            Dictionary<string, string> list =
                 JsonConvert.DeserializeObject<Dictionary<string, string>>(stringResponse);
            string accessToken = list["access_token"];

            System.IO.File.WriteAllText(@".\Log.txt", accessToken);
        }
        catch (Exception e)
        {
            string errorText = String.Format("{0} \n\n{1}", e.Message, e.InnerException != null ? e.InnerException.Message : "Acquire token failed");
            System.IO.File.WriteAllText(@".\Log.txt", …
Run Code Online (Sandbox Code Playgroud)

azure azure-active-directory azure-web-app-service azure-managed-identity

1
推荐指数
1
解决办法
2458
查看次数