Поделиться через


Учебник. Создание, обновление и вывод списка параметров управления средами

В этом руководстве показано, как использовать Power Platform API (предварительная версия) для создания, обновления и перечисления параметров управления средой.

Из этого руководства вы узнаете, как:

  1. Аутентификация с использованием Power Platform API.
  2. Создайте новое значение параметра.
  3. Перечислите все значения параметров управления для окружающей среды.
  4. Обновить значение настройки.

В качестве примера этого сценария клиенту может потребоваться включить ограничения IP-адресов подписанного URL-адреса хранилища (SAS) и ведение журнала вызовов SAS .

Шаг 1. Проверка подлинности с помощью API-интерфейса Power Platform

Используйте следующий сценарий PowerShell, чтобы проверять подлинность с помощью API-интерфейса Power Platform.

Import-Module "MSAL.PS"
$AuthResult = Get-MsalToken -ClientId '<client id of your Microsoft Entra ID application registration>' -Scope 'https://api.powerplatform.com/.default'
$Headers = @{Authorization = "Bearer $($AuthResult.AccessToken)"}

Шаг 2. Создать новое значение параметра

Используйте следующий скрипт PowerShell, чтобы создать новое значение параметра для ограничений IP-адресов подписанного URL-адреса хранилища (SAS) и связанных возможностей ведения журнала аудита. Эти два параметра отключены, но мы обновим их позже, чтобы включить их.

#Set your environment ID
$environmentId = "ENV_ID_HERE"

# Please uncomment the values that need to be updated
$EnvironmentManagementSettings = @{
    "EnableIpBasedStorageAccessSignatureRule" = $false
    "LoggingEnabledForIpBasedStorageAccessSignature" = $false
}

$body = $json = $EnvironmentManagementSettings | ConvertTo-Json

try 
{
    # Create the new setting value
    Write-Host "Invoking Create Management Setting for Environment $environmentId with body $body"
    $apiResponse = Invoke-WebRequest -Method Post -Uri "https://api.powerplatform.com/environmentmanagement/environments/$environmentId/settings/?api-version=2022-03-01-preview" -Headers $Headers -Body $body

    Write-Host "Operation Status: $apiResponse.StatusDescription"
} 
catch 
{
    # Dig into the exception to get the Response details.
    Write-Host "Response CorrelationId:" $_.Exception.Response.Headers["x-ms-correlation-id"]
    Write-Host "StatusCode:" $_.Exception.Response.StatusCode.value__ 
    Write-Host "StatusDescription:" $_.Exception.Response.StatusDescription
    $result = $_.Exception.Response.GetResponseStream()
        $reader = New-Object System.IO.StreamReader($result)
        $reader.BaseStream.Position = 0
        $reader.DiscardBufferedData()
        $responseBody = $reader.ReadToEnd();

        Write-Host $responseBody
}

Подробнее о Power Platform справочнике API читайте в разделе Параметры управления средой — Создание параметров управления средой.

Шаг 3. Перечислите все настройки управления для среды

Используйте следующий скрипт PowerShell, чтобы вывести список всех ранее созданных настроек для этой среды.

#Set your environment ID
$environmentId = "ENV_ID_HERE"

try 
{
    # Create the new setting value
    Write-Host "Invoking List Management Settings for Environment $environmentId"
    $apiResponse = Invoke-WebRequest -Method Get -Uri "https://api.powerplatform.com/environmentmanagement/environments/$environmentId/settings/?api-version=2022-03-01-preview&$select=EnableIpBasedStorageAccessSignatureRule,LoggingEnabledForIpBasedStorageAccessSignature" -Headers $Headers

    Write-Host $apiResponse
} 
catch 
{
    # Dig into the exception to get the Response details.
    Write-Host "Response CorrelationId:" $_.Exception.Response.Headers["x-ms-correlation-id"]
    Write-Host "StatusCode:" $_.Exception.Response.StatusCode.value__ 
    Write-Host "StatusDescription:" $_.Exception.Response.StatusDescription
    $result = $_.Exception.Response.GetResponseStream()
        $reader = New-Object System.IO.StreamReader($result)
        $reader.BaseStream.Position = 0
        $reader.DiscardBufferedData()
        $responseBody = $reader.ReadToEnd();

        Write-Host $responseBody
}

Подробнее о Power Platform справочнике API читайте в разделе Параметры управления средой — Список параметров управления средой.

Шаг 4. Обновить значение настройки

Используйте следующий скрипт PowerShell для обновления ранее определенного значения настройки. В этом шаг вы включаете ведение журнала для Storage Shared Access Signature (SAS).

#Set your environment ID
$environmentId = "ENV_ID_HERE"

# Please uncomment the values that need to be updated
$EnvironmentManagementSettings = @{
    "LoggingEnabledForIpBasedStorageAccessSignature" = $true
}

$body = $json = $EnvironmentManagementSettings | ConvertTo-Json

try 
{
    # Updating the setting value
    Write-Host "Invoking Update Management Setting for Environment $environmentId with body $body"
    $apiResponse = Invoke-WebRequest -Method Patch -Uri "https://api.powerplatform.com/environmentmanagement/environments/$environmentId/settings/?api-version=2022-03-01-preview" -Headers $Headers -Body $body

    Write-Host "Operation Status: $apiResponse.StatusDescription"
} 
catch 
{
    # Dig into the exception to get the Response details.
    Write-Host "Response CorrelationId:" $_.Exception.Response.Headers["x-ms-correlation-id"]
    Write-Host "StatusCode:" $_.Exception.Response.StatusCode.value__ 
    Write-Host "StatusDescription:" $_.Exception.Response.StatusDescription
    $result = $_.Exception.Response.GetResponseStream()
        $reader = New-Object System.IO.StreamReader($result)
        $reader.BaseStream.Position = 0
        $reader.DiscardBufferedData()
        $responseBody = $reader.ReadToEnd();

        Write-Host $responseBody
}

Подробнее о Power Platform справочнике API читайте в разделе Параметры управления средой - Обновление параметров управления средой.

Параметры управления средой