我们有一个名为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
}
第一次运行会导致添加用户,随后的运行会显示“成员已存在”
答案 0 :(得分:0)
似乎天蓝色AD的传播时间可能非常长。 一天或一天之后,它才开始工作,只是将AD组分配给了访问策略。所以我想答案是非常耐心的。