我创建了一个Azure租户并配置了以下内容:
Azure广告:
请注意,没有任何内部部署,这一切都在云端.我的实体笔记本电脑实际上只是用作跳箱.
SQL Azure数据库和服务器:
我可以使用Active Directory通用身份验证或Active Directory密码身份验证从笔记本电脑上的SSMS连接到SQL Azure数据库.对于这两种情况,我都会因为预期的用户名和密码而受到质疑.
目标: 我希望能够使用集成身份验证,以便可以从a)机器,b)ASP.NET MVC站点无缝地传输身份.我没有尝试过场景b是的,所以让我们停下来吧.对于方案a,我已经完成了以下操作.
配置Azure VM:
简而言之,我的完整"环境"包括Azure AD,SQL Azure DB和客户端VM.
问题: 我使用目录服务将VM加入我的Azure Active Directory,注销并以有效域用户身份登录(在AD和SQL Azure中有效,具有适当的登录和权限).当我打开SSMS时,我可以很好地连接Active Directory通用身份验证或Active Directory密码身份验证,但是当我尝试连接Active Directory身份验证安全性时,我收到以下错误.如果我将VM直接加入Azure AD,也会发生这种情况.我的部署是100%云,因此没有联邦.
所以我有两个问题:
谢谢
===================================
无法连接到.database.windows.net.
===================================
无法在Active Directory中验证用户NT Authority\Anonymous Logon(Authentication = ActiveDirectoryIntegrated).错误代码0xCAA9001F; state …
authentication federated-identity azure-active-directory azure-sql-database
我试图从我的asp.net网站连接documentdb但我收到此错误.
系统中不存在具有指定标识的实体
DocumentClientException:系统中不存在具有指定标识的实体
代码如下后面的aspx代码
protected async void Page_Load(object sender, EventArgs e)
{
Response.Write("Page Load<br/>");
await GetData();
}
public async Task GetData()
{
try
{
Response.Write("<br/> Get Data function Start<br/><br/>");
using (var client = new DocumentClient(new Uri(ConfigurationManager.AppSettings["endpoint"]), ConfigurationManager.AppSettings["authKey"]))
{
//await client.OpenAsync();
RequestOptions reqOpt = new RequestOptions { PartitionKey = new PartitionKey(209) };
var parameters = new dynamic[] { 1 };
StoredProcedureResponse<object> result = await client.ExecuteStoredProcedureAsync<object>(
UriFactory.CreateStoredProcedureUri(ConfigurationManager.AppSettings["database"], ConfigurationManager.AppSettings["pcsd"], "GetMemberbyId"), reqOpt, parameters);
Response.Write(result.Response.ToString());
}
Response.Write("<br/><br/> Get Data function End");
}
catch (Exception ex) …Run Code Online (Sandbox Code Playgroud) 我有一个VSTS项目,该项目通过服务主体通过Azure资源管理器终结点连接到Azure订阅。对于通过模板化,参数驱动的部署配置ARM资源的我的构建而言,这工作得很好。
作为构建的一部分,我还有其他要求设置Azure AD组。我有一个可以在本地计算机上正常运行的脚本。当我通过构建将其部署并在托管构建控制器上执行时,脚本最初无法找到AzureAD模块。我通过将脚本包含在git Repo中并通过以下方式对其进行访问来解决此问题:
$adModulePath = $PSScriptRoot + "\PsModules\AzureAD\2.0.0.131\AzureAD.psd1"
Import-Module $adModulePath
Run Code Online (Sandbox Code Playgroud)
但是,现在在运行时还有另一个问题New-AzureADGroup。该脚本需要Connect-AzureAD在发出命令之前运行。通过对凭证进行硬编码可以很好地实现此目的,但是我不想这样做,我希望它在创建的SPN的上下文中运行,该SPN在托管的构建控制器上运行脚本。
因此,问题是,是否可以获取Azure PowerShell执行SPN的当前上下文并将其传递,Connect-AzureAD以避免将凭据存储为纯文本?我错过了一个把戏吗?还有其他选择吗?
我当前的代码如下,注释的连接在命令中可以像硬编码值一样正常工作。没有参数的调用将显示登录UI,该UI终止构建,因为它显然不是交互式的。
## Login to Azure
#$SecurePassword = ConvertTo-SecureString $AdminPassword -AsPlainText -Force
#$AdminCredential = New-Object System.Management.Automation.PSCredential ($AdminUserEmailAddress, $SecurePassword)
#Connect-AzureAD -Credential $AdminCredential
Connect-AzureAD
Write-Output "------------------ Start: Group Creation ------------------"
$TestForAdminGroup = Get-AzureADGroup -SearchString $AdminGroup
$TestForContributorGroup = Get-AzureADGroup -SearchString $ContributorGroup
$TestForReaderGroup = Get-AzureADGroup -SearchString $ReaderGroup
Run Code Online (Sandbox Code Playgroud)
谢谢
我有一个 ARM 模板,它部署资源组并包含密钥保管库和机密。这是通过 CI/CD 部署的,除了一个例外之外,一切都运行良好。
如果我第一次部署模板,一切都会按预期进行。但是,如果通过添加新值来手动更改机密,则下次部署模板时,模板中的机密将覆盖手动更新并设置新版本。如何使模板仅在第一次部署机密。即仅在每个秘密已经存在时才部署它?
在下面的示例中,我通过 CI/CD 部署模板并MagicKey设置为defaultKey. 如果我更改MagicKey为门户中的真实密钥,然后再次部署 ARM 模板,我的手动输入将被替换为包含defaultKey该值的新版本的密钥。如果没有笨拙的解决方法,我怎样才能阻止这种情况发生?
{
"type": "Microsoft.KeyVault/vaults/secrets",
"name": "MagicKey",
"apiVersion": "2018-02-14",
"properties": {
"value": "defaultKey"
},
"dependsOn": [
"[concat('Microsoft.KeyVault/vaults/', variables('keyVaultName'))]"
]
},
Run Code Online (Sandbox Code Playgroud) 使用 Application Insight 进行日志记录时,我收到以下跟踪消息“在此期间发送了太多数据,为了调试器响应而将其删除”。
我真的很想看到所有数据(总共 22 个日志条目,其中大约显示 8 个,其余的被删除)
关于如何配置这个有什么想法吗?
表格如图所示:
我需要将 NaN 保留为空,但是当我使用 IFERROR() 并将空白() 放入 ValueifError 中时,它只会删除我不想要的整行。有没有办法用空格替换 NaN
我使用了下面的 dax: oscarwins = SUM(Films[OscarWins])/SUM(Films[OscarNominations])
首先,我查看了具有相同错误消息的其他SO帖子,但似乎没有一个可以解决我的问题。我尝试了许多排列和选项。我的函数构建良好,但无法在CLI中运行,我收到以下神秘错误。MSFT文档似乎也没有答案。
找不到工作职能。尝试公开您的工作类别和方法。如果您正在使用绑定扩展(例如ServiceBus,Timer等),请确保已在启动代码(例如config.UseServiceBus(),config.UseTimers()等)中调用了扩展的注册方法。 )。
我正在尝试运行计时器作业,然后将消息集合写入事件中心。我想念什么?我已经为此战斗了好几个小时。
功能:
[FunctionName("CreateData")]
public static async Task Run([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer,
[EventHub("murraytest", Connection = "evingest")] IAsyncCollector<string> myeventhub,
TraceWriter log)
{
await myeventhub.AddAsync("data1");
await myeventhub.AddAsync("data2");
await myeventhub.AddAsync("data3");
log.Info($"COMPLETED: {DateTime.Now}");
}
Run Code Online (Sandbox Code Playgroud)
local.settings.json:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"Eventhub": "UseDevelopmentStorage=true",
"AzureWebJobsDashboard": "",
"evingest": "Endpoint=sb://example.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=LtcqBLT5VWjg0dGMdIvxCcEGs8902010Y6y14iGg="
}
}
Run Code Online (Sandbox Code Playgroud)
配套
function.json-缺少任何eventhub绑定!
{
"generatedBy": "Microsoft.NET.Sdk.Functions-1.0.0.0",
"configurationSource": "attributes",
"bindings": [
{
"type": "timerTrigger",
"schedule": "0 */5 * * * *",
"useMonitor": true,
"runOnStartup": false,
"name": "myTimer"
}
],
"disabled": …Run Code Online (Sandbox Code Playgroud) c# azure-webjobs azure-webjobssdk azure-functions azure-functions-runtime
我发现这可以使用 REST API 调用在 Jenkins 中创建凭据,如何使用 REST API 调用更新具有给定 ID 的凭据?
curl -X POST 'http://jenkins:8080/credentials/store/system/domain/_/createCredentials' --data-urlencode 'json={
"": "0",
"credentials": {
"scope": "GLOBAL",
"id": "apicredentials",
"username": "apicredentials",
"password": "P@$$W0rd",
"description": "apicredentials",
"stapler-class": "com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl"
}
}'
Run Code Online (Sandbox Code Playgroud) 我们有一个资源组,其中包括 ADLS V2 和一个 VNET(ADLS 通过服务连接连接到该组)。
整个资源组已被删除,但与 Azure 存储的虚拟网络连接似乎仍在以某种方式挂起,并阻止重新部署相同的资源组。收到的错误是:
需要删除状态为 NetworkSourceDeleted 的子网
知道如何解决吗?
我为我的asp.net webapi配置了Swagger,类似于下面显示的一个
[HttpGet]
[Route("search")]
public async Task<HttpResponseMessage> Get([FromUri]SearchCriteria searchCriteria)
Run Code Online (Sandbox Code Playgroud)
当我看到webapi的swagger文档时,参数显示为
searchCriteria.sortField searchCriteria.sortDirection等等...作为sortField,sortDirection是SearchCriteria的属性
如何在没有object.propertyname格式的情况下获取参数名称?
任何人都可以帮忙解决这个问题吗?谢谢
我有一个Azure SQL数据库和一些使用它的C#业务应用程序.我一直在努力减少攻击面并更好地理解性能.
在SQL Azure包含的数据库中,我有:
1)一个SQL身份验证用户,其登录名为"ReaderUser",具有固定的长而疯狂的密码.
2)在数据库中创建的用户无需登录使用:CREATE USER [] WITHOUT LOGIN
3)包含数据的表,由USER和行级别安全保护.ReaderUser无法访问任何数据,它只是一个"代理"用户.
4)ReaderUser可以模拟任何其他非管理用户("无需登录"创建的品种).数据只能由它们中的任何一个读取.
当用户访问我们开发的应用程序时,数据库连接是使用ReaderUser进行的.应用程序使用.Net 4.6.2 ADO.net连接.连接字符串已加密并已修复.即它对于任何用户都没有改变,它们都使用相同的连接字符串.
当应用程序用户登录时,登录的应用程序标识(Active Directory UPN)随后将传递到数据库以使用以下方法设置正确的用户上下文:
EXECUTE AS USER = 'myuser@mydomain.com' WITH NO REVERT;
Run Code Online (Sandbox Code Playgroud)
然后,用户访问应用程序并仅查看其数据,受行级别安全性的限制.
我的问题是,如何汇集联系?它们是按用户还是按ReaderUser登录(连接字符串)汇集?用户可以使用相同的连接字符串同时从多个应用程序连接.我已经浏览了几篇文章,但我无法对这个具体情况做出明确的解释.任何人都能解释一下吗?
c# sql-server ado.net database-connection azure-sql-database
是否可以从 IOS 设备连接到 Azure 点到站点 VPN?(是的,我知道它不受支持)。但是,我看到它建议可以使用 SSTP,但找不到具体的例子。
任何人都可以阐明这是否确实可能 - 或者提出替代方案?
azure ×4
c# ×3
ado.net ×1
azure-devops ×1
build ×1
credentials ×1
curl ×1
dax ×1
ios ×1
ipad ×1
iphone ×1
jenkins ×1
nosql ×1
powerbi ×1
powershell ×1
rest ×1
sql-server ×1
swagger ×1
swagger-ui ×1
swashbuckle ×1