为什么我的服务负责人无法访问我的金库?

时间:2019-05-29 20:35:44

标签: azure azure-active-directory azure-keyvault

我们有一个名为kv1的现有密钥保管库,一个名为adg1的现有广告安全组。

adg1已经设置了访问策略,该访问策略提供了对组成员的获取和列表访问。

使用azure devops管道和arm模板,我们正在部署多种资源,包括vm scales set vmss1

最后,我们调用具有广告管理员访问权限的Azure自动化作业,将vmss1添加到adg1

vmss1无法访问kv1中的机密。

如果我们改为直接将vmss1服务主体 添加到adg1,它将获得访问权限,如果我们删除直接添加,则会失去访问权限。

我们的广告结构不是很复杂,我们等待2-3个小时进行传播,但仍然一无所获。

以下是处理添加内容的功能:

$vmssid = (Get-AzureRMADServicePrincipal -DisplayName "$_scaleSetName").Id

if(!$vmssid){
    Write-Error 'Scale set did not exiset or was not a scale set'
    return 1
}

$groupId = (Get-AzureRMAdGroup -AzureRmContext $AzureContext -DisplayName "$webAppGroupName" ).Id 
if(!$groupId){
    Write-Error 'Group not found'
    return 1
}

$shouldAddMember = !(Get-AzureRMAdGroupMember -AzureRmContext $AzureContext -GroupObjectId $groupId | ?{$_.Id-eq $vmssid}) 
if($shouldAddMember ){
 Add-AzureRmAdGroupMember -AzureRmContext $AzureContext -MemberObjectId $vmssId -TargetGroupObjectId $groupId 
}
else{
Write-Output 'Member existed in group'
exit 0
}

第一次运行会导致添加用户,随后的运行会显示“成员已存在”

1 个答案:

答案 0 :(得分:0)

似乎天蓝色AD的传播时间可能非常长。 一天或一天​​之后,它才开始工作,只是将AD组分配给了访问策略。所以我想答案是非常耐心的。