Azure: не могу выбрать службу экспорта данных в качестве принципала - PullRequest
0 голосов
/ 14 мая 2019

Я хочу экспортировать мои данные из MS Dynamics 365 в облако Azure.Чтобы экспортировать мои данные динамики, я установил сервис экспорта данных в динамике.В Azure у меня есть возможность указать мое хранилище ключей политику доступа, поэтому у меня обычно есть возможность добавить службу экспорта данных в качестве принципала.Но в моем случае такой возможности не существует.В чем может быть причина?

enter image description here

1 Ответ

0 голосов
/ 15 мая 2019

Запустите сценарий Windows PowerShell, описанный здесь как администратор учетной записи Azure, для функции give permission to the Data Export Service, чтобы он мог получить доступ к вашему хранилищу ключей Azure. В этом сценарии отображается URL-адрес хранилища ключей, необходимый для создания профиля экспорта, который используется для доступа к строке подключения.

$subscriptionId = 'ContosoSubscriptionId'   
$keyvaultName = 'ContosoKeyVault'
    $secretName = 'ContosoDataExportSecret'
    $resourceGroupName = 'ContosoResourceGroup1'
    $location = 'West US'
    $connectionString = 'AzureSQLconnectionString'
$organizationIdList = 'ContosoSalesOrg1_id, ContosoSalesOrg2_id'
$tenantId = 'tenantId'
    # -------------------------------------------------------------------------------- #

# Login to Azure account, select subscription and tenant Id
Login-AzureRmAccount
Set-AzureRmContext -TenantId $tenantId -SubscriptionId $subscriptionId

# Create new resource group if not exists.
$rgAvail = Get-AzureRmResourceGroup -Name $resourceGroupName -Location $location -ErrorAction SilentlyContinue
if(!$rgAvail){
    New-AzureRmResourceGroup -Name $resourceGroupName -Location $location
}

# Create new key vault if not exists.
$kvAvail = Get-AzureRmKeyVault -VaultName $keyvaultName -ResourceGroupName $resourceGroupName -ErrorAction SilentlyContinue
if(!$kvAvail){
    New-AzureRmKeyVault -VaultName $keyvaultName -ResourceGroupName $resourceGroupName -Location $location
    # Wait few seconds for DNS entry to propagate
    Start-Sleep -Seconds 15
}

# Create tags to store allowed set of Organizations.
$secretTags = @{}
foreach ($orgId in $organizationIdList.Split(',')) {
    $secretTags.Add($orgId.Trim(), $tenantId)
}

# Add or update a secret to key vault.
$secretValue = ConvertTo-SecureString $connectionString -AsPlainText -Force
$secret = Set-AzureKeyVaultSecret -VaultName $keyvaultName -Name $secretName -SecretValue $secretValue -Tags $secretTags

# Authorize application to access key vault.
$servicePrincipal = 'b861dbcc-a7ef-4219-a005-0e4de4ea7dcf'
Set-AzureRmKeyVaultAccessPolicy -VaultName $keyvaultName -ServicePrincipalName $servicePrincipal -PermissionsToSecrets get

# Display secret url.
Write-Host "Connection key vault URL is "$secret.id.TrimEnd($secret.Version)""

Примечание : подписка Azure может иметь несколько идентификаторов клиентов Azure Active Directory. Убедитесь, что вы выбрали правильный идентификатор клиента Azure Active Directory, связанный с экземпляром Dynamics 365 для приложений взаимодействия с клиентами, который вы будете использовать для экспорта данных.

Для получения более подробной информации вы можете обратиться к этой статье .

...