หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
นโยบายตัวเชื่อมต่อขั้นสูง (ACP) ควบคุมการใช้ตัวเชื่อมต่อด้วยอนุญาตที่เข้มงวดที่บล็อกตัวเชื่อมต่อตามค่าเริ่มต้น นอกเหนือจากประสบการณ์ ศูนย์การจัดการ Power Platform คุณสามารถจัดการ ACP ด้วยรหัสได้โดยใช้ Power Platform API และ SDK การดูแลระบบ (Admin) ACP อัตโนมัติมีประโยชน์เมื่อคุณกําหนดมาตรฐานการกํากับดูแลทั่วกลุ่มสภาพแวดล้อมหลายกลุ่ม ทําซ้ํานโยบายพื้นฐานระหว่างกลุ่มหรือจัดการนโยบายเป็นส่วนหนึ่งของไปป์ไลน์การปรับใช้
ในบทช่วยสอนนี้ เรียนรู้วิธีการ:
- ยืนยันตัวตนโดยใช้ Power Platform API
- ทําความเข้าใจรูปร่างนโยบาย ACP
- สร้างนโยบาย และเพิ่มนโยบายลงในกลุ่มสภาพแวดล้อม
- เปิดใช้งานการดำเนินการของตัวเชื่อมต่อแต่ละรายการ
- นําไปใช้หรืออัปเดตนโยบายในสภาพแวดล้อมเดียว
- คัดลอกนโยบายจากกลุ่มสภาพแวดล้อมหนึ่งไปยังอีกกลุ่มหนึ่ง
- ลบ ACP ออกจากกลุ่มสภาพแวดล้อม
นโยบายตัวเชื่อมต่อขั้นสูงสามารถเข้าถึงได้ผ่านการดำเนินการ governance/ruleBasedPolicies ของ Power Platform API
นโยบายประกอบด้วยชุดกฎอย่างน้อยหนึ่งชุด กฎที่กําหนดด้วย ID ConnectorManagement จะเก็บรายการอนุญาตของตัวเชื่อมต่อ ACP ไว้ ตัวอย่างทั้งหมดในบทความใช้เวอร์ชัน 2024-10-01API
Prerequisites
การลงทะเบียนแอปที่กําหนดค่าไว้สําหรับ Power Platform API โปรดสังเกต ID แอปพลิเคชัน (ไคลเอนต์) และ ID ไดเรกทอรี (ผู้เช่า) ของการลงทะเบียนแอป
สิทธิ์ในการจัดการนโยบายการกํากับดูแล สําหรับโครงร่างสําคัญของบริการ กําหนดบทบาท RBAC ที่สามารถเขียนทรัพยากร เช่น ผู้สนับสนุน Power Platform หรือเจ้าของ Power Platform สําหรับข้อมูลเพิ่มเติม ดูบทช่วยสอน: กําหนดบทบาทให้กับบริการหลัก
สําหรับตัวอย่าง SDK ให้ติดตั้ง SDK ที่จัดส่งทุกเดือนในแกลเลอรีสาธารณะ:
- C#: แพ็กเกจ NuGet Microsoft.PowerPlatform.Management
- Python: แพ็กเกจ PyPI powerplatform-management
dotnet add package Microsoft.PowerPlatform.Managementpip install powerplatform-management
ขั้นตอนที่ 1. ตรวจสอบความถูกต้องโดยใช้ Power Platform API
ตัวอย่างทั้งหมดจะรับรองความถูกต้องด้วย ID ไคลเอ็นต์ของการลงทะเบียนแอป โดยทําตามคําแนะนําในการรับรองความถูกต้อง ตัวอย่างต่อไปนี้ลงชื่อเข้าใช้แบบโต้ตอบในฐานะผู้ใช้ปัจจุบัน เมื่อต้องการเรียกใช้โดยไม่ต้องมีผู้ใช้เฝ้าดูแลโดยใช้ Service Principal ให้ดูโฟลว์ไคลเอ็นต์แบบ confidential client ในบทความ การรับรองความถูกต้อง และกำหนด บทบาท RBAC ให้กับ Service Principal
# Requires the MSAL.PS module: Install-Module MSAL.PS -Scope CurrentUser
Import-Module "MSAL.PS"
$clientId = "<application (client) ID of your app registration>"
$apiBaseUrl = "https://api.powerplatform.com"
$apiVersion = "2024-10-01"
# Sign in interactively and request a token for the Power Platform API
$auth = Get-MsalToken -ClientId $clientId -Scope "https://api.powerplatform.com/.default" -Interactive
$headers = @{ Authorization = "Bearer $($auth.AccessToken)" }
ขั้นตอนที่ 2 ทําความเข้าใจกับรูปร่างนโยบาย ACP
นโยบายตัวเชื่อมต่อขั้นสูงคือนโยบายตามกฎที่ประกอบด้วยชุดกฎที่มี ID ConnectorManagement ชุดกฎนั้นมี version และ inputs ของมันมี AllowedConnectorList โดยที่แต่ละรายการอนุญาตให้ใช้ตัวเชื่อมต่อ และกำหนดวิธีควบคุมการดำเนินการและชนิดการเชื่อมต่อ:
{
"name": "Contoso ACP baseline",
"ruleSets": [
{
"id": "ConnectorManagement",
"version": "1.0",
"inputs": {
"AllowedConnectorList": [
{
"AllowedConnector": "/providers/Microsoft.PowerApps/apis/shared_office365",
"AllowedActionsMode": "AllAllowed",
"AllowedConnectionTypesMode": "AllAllowed"
},
{
"AllowedConnector": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps",
"AllowedActionsMode": "SomeAllowed",
"AllowedActions": ["GetItem", "CreateRecord"],
"AllowedConnectionTypesMode": "AllAllowed"
}
]
}
}
]
}
คํานึงถึงตรรกะต่อไปนี้:
- ตัวเชื่อมต่อที่ไม่ได้อยู่ใน
AllowedConnectorListถูกบล็อก (ปฏิเสธค่าเริ่มต้น) - แต่ละรายการจะตั้งค่า
AllowedActionsModeAllAllowedอนุญาตทุกการดําเนินการบนตัวเชื่อมต่อSomeAllowedจํากัดตัวเชื่อมต่อไปยังการดําเนินการที่แสดงอยู่ในอาร์เรย์ของรายการAllowedActionsขั้นตอนที่ 4 แสดงวิธีการเพิ่มการดําเนินการและตั้งค่าโหมดนี้ -
AllowedConnectionTypesModeจะควบคุมชนิดการเชื่อมต่อที่ได้รับอนุญาตและเป็นไปตามรูปแบบเดียวกันAllAllowed - รวมชุดของ
versionกฎเมื่อคุณสร้างหรืออัพเดตนโยบาย อ่านจากนโยบายที่มีอยู่และคงค่าที่บริการส่งกลับมาไว้
Tip
ค่าที่แน่นอนของ AllowedConnector คือตัวระบุทรัพยากรของตัวเชื่อมต่อ วิธีที่เชื่อถือได้ที่สุดในการเรียนรู้รูปร่างสําหรับตัวเชื่อมต่อที่มีอยู่แล้วในผู้เช่าของคุณคือการอ่านนโยบายที่มีอยู่ก่อน (ขั้นตอนที่ 4 แสดงวิธีการ) หรือใช้แค็ตตาล็อกตัวเชื่อมต่อ (อธิบายไว้ถัดไป) จากนั้นสะท้อนรูปร่างนั้นเมื่อคุณสร้างหรืออัปเดตนโยบาย
ค้นหาตัวเชื่อมต่อและรหัสการดําเนินการด้วยแค็ตตาล็อกตัวเชื่อมต่อ
หากต้องการค้นหาตัวเชื่อมต่อและการดําเนินการที่คุณสามารถใช้ได้ ให้ใช้ แค็ตตาล็อก API ของตัวเชื่อมต่อ แสดงรายการตัวเชื่อมต่อที่พร้อมใช้งานในสภาพแวดล้อม พร้อมกับตัวระบุที่คุณวางใน AllowedConnector และAllowedActions
โน้ต
การดําเนินการแค็ตตาล็อกตัวเชื่อมต่อจําเป็นต้องใช้รหัสสภาพแวดล้อมในเส้นทางและ OData $filter ที่ระบุสภาพแวดล้อมเดียวกัน ตัวอย่างเช่น $filter=environment eq '<environmentId>' ทั้งสองอย่างจําเป็น
$environmentId = "<environment ID>"
$filter = [uri]::EscapeDataString("environment eq '$environmentId'")
# List connectors available in the environment
$connectors = Invoke-RestMethod -Method Get `
-Uri "$apiBaseUrl/connectivity/environments/$environmentId/connectors?`$filter=$filter&api-version=$apiVersion" `
-Headers $headers
$connectors.value | Select-Object name, @{ n = "displayName"; e = { $_.properties.displayName } }
# Get a single connector by ID (the connector's name, such as shared_office365)
$connectorId = "shared_office365"
$connector = Invoke-RestMethod -Method Get `
-Uri "$apiBaseUrl/connectivity/environments/$environmentId/connectors/$connectorId?`$filter=$filter&api-version=$apiVersion" `
-Headers $headers
$connector.id # full resource path to use as AllowedConnector
ใช้ของidตัวเชื่อมต่อ (เส้นทางทรัพยากรแบบเต็ม เช่น /providers/Microsoft.PowerApps/apis/shared_office365) เป็นAllowedConnectorค่า และรหัสการดําเนินการของตัวเชื่อมต่อเป็นค่าในAllowedActions คุณสามารถเข้าถึงแค็ตตาล็อกเดียวกันผ่าน connectivity เนมสเปซของ SDK ของผู้ดูแลระบบได้
ขั้นตอนที่ 3 สร้างนโยบาย และเพิ่มนโยบายลงในกลุ่มสภาพแวดล้อม
การเพิ่ม ACP ไปยังกลุ่มสภาพแวดล้อมเป็นการดําเนินการสองส่วน: สร้างนโยบาย จากนั้นกําหนดนโยบายให้กับกลุ่ม การเรียกสร้างส่งกลับนโยบาย idใหม่ ที่คุณใช้ในการเรียกใช้การกําหนด
เมื่อต้องการกําหนดนโยบายให้กับกลุ่มทั้งหมด ให้ส่งการร้องขอการกําหนดด้วยเนื้อความที่ว่างเปล่า ({}) ทุกสภาพแวดล้อมในกลุ่มจะสืบทอดนโยบายและคงการซิงค์กับนโยบายนั้นอยู่เสมอ
$environmentGroupId = "<environment group ID>"
# 1. Create the policy with a ConnectorManagement rule set
$policyBody = @{
name = "Contoso ACP baseline"
ruleSets = @(
@{
id = "ConnectorManagement"
version = "1.0"
inputs = @{
AllowedConnectorList = @(
@{
AllowedConnector = "/providers/Microsoft.PowerApps/apis/shared_office365"
AllowedActionsMode = "AllAllowed"
AllowedConnectionTypesMode = "AllAllowed"
}
)
}
}
)
} | ConvertTo-Json -Depth 10
$policy = Invoke-RestMethod -Method Post `
-Uri "$apiBaseUrl/governance/ruleBasedPolicies?api-version=$apiVersion" `
-Headers $headers -ContentType "application/json" -Body $policyBody
Write-Host "Created policy $($policy.id)"
# 2. Assign the policy to the environment group (empty body = whole group)
Invoke-RestMethod -Method Post `
-Uri "$apiBaseUrl/governance/ruleBasedPolicies/$($policy.id)/environmentGroups/$environmentGroupId/assignments?api-version=$apiVersion" `
-Headers $headers -ContentType "application/json" -Body "{}"
Write-Host "Assigned policy $($policy.id) to group $environmentGroupId"
ขั้นตอนที่ 4 เปิดใช้งานการดําเนินการตัวเชื่อมต่อแต่ละรายการ
เพื่ออนุญาตให้ดําเนินการที่เฉพาะเจาะจงกับตัวเชื่อมต่อเท่านั้น ให้ตั้งค่าเป็น AllowedActionsModeSomeAllowed และแสดงรายการการดําเนินการที่อนุญาตในAllowedActions ตัวอย่างนี้เพิ่มการดําเนินการ เช่น การดําเนินการที่ซ่อนอยู่ที่ไม่สามารถเลือกได้ในศูนย์การจัดการ ในรายการอนุญาตของตัวเชื่อมต่อ และตั้งค่าตัวเชื่อมต่อเป็นSomeAllowed อ่านนโยบาย อัปเดตรายการตัวเชื่อมต่อ และส่งชุดกฎที่อัปเดตแล้วกลับโดยใช้โปรแกรมแก้ไข โปรแกรมแก้ไขอัปเดตกฎที่กําหนดโดย ID และปล่อยให้ชุดกฎอื่นของนโยบายไม่ถูกปรับใช้
$policyId = "<policy ID>"
$connectorId = "shared_commondataserviceforapps" # last segment of AllowedConnector
$actionToAdd = "aibuilderpredict_customprompt"
# 1. Read the current policy
$policy = Invoke-RestMethod -Method Get `
-Uri "$apiBaseUrl/governance/ruleBasedPolicies/$policyId`?api-version=$apiVersion" `
-Headers $headers
# 2. Find the ConnectorManagement rule set and the connector entry
$ruleSet = $policy.ruleSets | Where-Object { $_.id -eq "ConnectorManagement" }
$entry = $ruleSet.inputs.AllowedConnectorList |
Where-Object { ($_.AllowedConnector -split "/")[-1] -eq $connectorId }
# 3. Restrict the connector to specific actions: add the action and set SomeAllowed
if ($entry) {
$actions = @()
if ($entry.PSObject.Properties.Name -contains "AllowedActions") { $actions = @($entry.AllowedActions) }
if ($actions -notcontains $actionToAdd) { $actions += $actionToAdd }
$entry | Add-Member -NotePropertyName AllowedActions -NotePropertyValue $actions -Force
$entry.AllowedActionsMode = "SomeAllowed"
# 4. Patch only the modified rule set back to the policy
$patchBody = @{ name = $policy.name; ruleSets = @($ruleSet) } | ConvertTo-Json -Depth 10
Invoke-RestMethod -Method Patch `
-Uri "$apiBaseUrl/governance/ruleBasedPolicies/$policyId`?api-version=$apiVersion" `
-Headers $headers -ContentType "application/json" -Body $patchBody
Write-Host "Set '$connectorId' to SomeAllowed with '$actionToAdd' in policy $policyId"
}
ขั้นตอนที่ 5 นําไปใช้หรืออัปเดตนโยบายในสภาพแวดล้อมเดียว
คุณสามารถกําหนดเป้าหมายนโยบายในสภาพแวดล้อมเดียวแทนที่จะเป็นกลุ่มสภาพแวดล้อม วิธีการนี้มีประโยชน์สําหรับสภาพแวดล้อมที่มีความเสี่ยงสูง นําร่อง หรือสภาพแวดล้อมที่มีการควบคุม กําหนดนโยบายให้กับสภาพแวดล้อม และใช้รูปแบบโปรแกรมแก้ไขเดียวกันจากขั้นตอนที่ 4 เพื่อปรับเปลี่ยนในภายหลัง แต่ละสภาพแวดล้อมสนับสนุนนโยบาย ACP ที่มีประสิทธิภาพหนึ่งข้อ
$policyId = "<policy ID>"
$environmentId = "<environment ID>"
# Assign the policy directly to the environment
Invoke-RestMethod -Method Post `
-Uri "$apiBaseUrl/governance/ruleBasedPolicies/$policyId/environments/$environmentId/assignments?api-version=$apiVersion" `
-Headers $headers -ContentType "application/json" -Body "{}"
Write-Host "Assigned policy $policyId to environment $environmentId"
ขั้นตอนที่ 6 คัดลอกนโยบายจากกลุ่มสภาพแวดล้อมหนึ่งไปยังอีกกลุ่มหนึ่ง
เมื่อคุณทําซ้ําข้อมูลพื้นฐานด้านการกํากับดูแลไปยังกลุ่มอื่น ให้เลือกจํานวนที่จะคัดลอกโดยใช้ค่า CopyAllRules สถานะ:
-
CopyAllRules = true: สร้างนโยบายใหม่จากชุดกฎของกลุ่มแหล่งข้อมูล ทั้งหมด และกําหนดให้กับกลุ่มเป้าหมาย การกํากับดูแลของกลุ่มเป้าหมายจะกลายเป็นสําเนาแหล่งที่มาที่เป็นอิสระจากกัน -
CopyAllRules = false: แยกเฉพาะConnectorManagementชุดกฎจากนโยบายแหล่งข้อมูลและผสานลงในนโยบายที่มีอยู่ของกลุ่มเป้าหมาย การดำเนินการแพตช์จะเพิ่มหรืออัปเดตชุดกฎตาม ID ดังนั้นกลุ่มเป้าหมายจึงยังคงมีกฎอื่น ๆ ของตนอยู่
$sourceGroupId = "<source environment group ID>"
$targetGroupId = "<target environment group ID>"
$CopyAllRules = $true
# 1. Find and read the policy assigned to the source group
$sourceAssignments = Invoke-RestMethod -Method Get `
-Uri "$apiBaseUrl/governance/ruleBasedPolicies/environmentGroups/$sourceGroupId/assignments?api-version=$apiVersion" `
-Headers $headers
$sourcePolicyId = $sourceAssignments.value[0].policyId
$source = Invoke-RestMethod -Method Get `
-Uri "$apiBaseUrl/governance/ruleBasedPolicies/$sourcePolicyId`?api-version=$apiVersion" `
-Headers $headers
if ($CopyAllRules) {
# 2a. Copy ALL rule sets into a new policy and assign it to the target group
$copyBody = @{ name = "$($source.name) (copy)"; ruleSets = $source.ruleSets } | ConvertTo-Json -Depth 20
$copy = Invoke-RestMethod -Method Post `
-Uri "$apiBaseUrl/governance/ruleBasedPolicies?api-version=$apiVersion" `
-Headers $headers -ContentType "application/json" -Body $copyBody
Invoke-RestMethod -Method Post `
-Uri "$apiBaseUrl/governance/ruleBasedPolicies/$($copy.id)/environmentGroups/$targetGroupId/assignments?api-version=$apiVersion" `
-Headers $headers -ContentType "application/json" -Body "{}"
Write-Host "Copied all rules to policy $($copy.id) and assigned it to group $targetGroupId"
}
else {
# 2b. Merge ONLY the ConnectorManagement rule into the target group's existing policy
$sourceCm = $source.ruleSets | Where-Object { $_.id -eq "ConnectorManagement" }
$targetAssignments = Invoke-RestMethod -Method Get `
-Uri "$apiBaseUrl/governance/ruleBasedPolicies/environmentGroups/$targetGroupId/assignments?api-version=$apiVersion" `
-Headers $headers
$targetPolicyId = $targetAssignments.value[0].policyId
$targetPolicy = Invoke-RestMethod -Method Get `
-Uri "$apiBaseUrl/governance/ruleBasedPolicies/$targetPolicyId`?api-version=$apiVersion" `
-Headers $headers
# Patch adds or updates the ConnectorManagement rule set by ID, keeping the target's other rules
$patchBody = @{ name = $targetPolicy.name; ruleSets = @($sourceCm) } | ConvertTo-Json -Depth 20
Invoke-RestMethod -Method Patch `
-Uri "$apiBaseUrl/governance/ruleBasedPolicies/$targetPolicyId`?api-version=$apiVersion" `
-Headers $headers -ContentType "application/json" -Body $patchBody
Write-Host "Merged the ConnectorManagement rule into target policy $targetPolicyId"
}
ขั้นตอนที่ 7 ลบ ACP ออกจากกลุ่มสภาพแวดล้อม
ในขณะที่กลุ่มมีกฎ ACP ที่ใช้งานอยู่ ทุกสภาพแวดล้อมในกลุ่มจะตรงกับนโยบายของกลุ่ม วิธีที่คุณเอาการบังคับใช้ขึ้นอยู่กับว่าคุณต้องการให้สภาพแวดล้อมเหล่านั้นเก็บการกําหนดค่าปัจจุบันหรือล้าง ACP ทั้งหมด:
-
เอากฎออกจากนโยบายของกลุ่ม เพื่อหยุดกลุ่มจากการจัดการ ACP
removeRuleใช้การดําเนินการเพื่อลบConnectorManagementชุดกฎออกจากนโยบายของกลุ่ม สภาพแวดล้อมจะเก็บการกําหนดค่า ACP ที่ใช้ล่าสุดเอาไว้ แต่จะไม่ซิงค์กับกลุ่มอีกต่อไป คุณสามารถจัดการแต่ละสภาพแวดล้อมแยกกันและปล่อยให้แตกต่างกันได้ -
ลบ ACP ออกจากกลุ่มและจากทุกสภาพแวดล้อม เพื่อปิด ACP ทุกที่ ลบกฎออกจากนโยบายของกลุ่ม แล้ววนรอบสภาพแวดล้อมของกลุ่มและลบชุดกฎออกจาก
ConnectorManagementนโยบายของแต่ละสภาพแวดล้อมด้วย
โน้ต
การลบกฎออกจากนโยบายของกลุ่มจะไม่ล้าง ACP ออกจากสภาพแวดล้อมที่สืบทอดโดยอัตโนมัติ สภาพแวดล้อมเหล่านั้นยังคงใช้การกําหนดค่าล่าสุดเพื่อหลีกเลี่ยงช่องว่างการบังคับใช้ เมื่อต้องการล้าง ACP ทุกที่ ให้ลบออกจากแต่ละสภาพแวดล้อม ดังที่แสดงในตัวอย่างการวนรอบ สําหรับข้อมูลเพิ่มเติม ให้ดู นโยบายตัวเชื่อมต่อขั้นสูง
ลบกฎออกจากนโยบายของกลุ่ม
ตัวอย่างต่อไปนี้เอา ConnectorManagement ชุดกฎออกจากนโยบายโดยใช้ removeRule การดําเนินการ
$policyId = "<policy ID>"
# Read the policy, then send the rule set to remove
$policy = Invoke-RestMethod -Method Get `
-Uri "$apiBaseUrl/governance/ruleBasedPolicies/$policyId`?api-version=$apiVersion" `
-Headers $headers
$ruleSet = $policy.ruleSets | Where-Object { $_.id -eq "ConnectorManagement" }
$body = @{ name = $policy.name; ruleSets = @($ruleSet) } | ConvertTo-Json -Depth 10
Invoke-RestMethod -Method Patch `
-Uri "$apiBaseUrl/governance/ruleBasedPolicies/$policyId/removeRule?api-version=$apiVersion" `
-Headers $headers -ContentType "application/json" -Body $body
Write-Host "Removed the ConnectorManagement rule set from policy $policyId"
ลบ ACP ออกจากทุกสภาพแวดล้อมในกลุ่ม
เมื่อต้องการปิด ACP ในทุกสภาพแวดล้อมในกลุ่ม ก่อนอื่นให้เอากฎออกจากนโยบายของกลุ่ม (ตัวอย่างก่อนหน้า) จากนั้นทําซ้ําการลบสําหรับแต่ละนโยบายของแต่ละสภาพแวดล้อม อ่านนโยบายที่กำหนดให้กับแต่ละสภาพแวดล้อมจากการกำหนดสภาพแวดล้อมของสภาพแวดล้อมนั้น จากนั้นเรียกใช้ removeRule กับนโยบายนั้น ระบุรหัสสภาพแวดล้อมที่เป็นของกลุ่ม หรือแจกแจงโดยใช้ API การจัดการสภาพแวดล้อม
# Environment IDs that belong to the group
$environmentIds = @("<environment ID 1>", "<environment ID 2>")
foreach ($environmentId in $environmentIds) {
# Find the policy currently assigned to the environment
$envAssignments = Invoke-RestMethod -Method Get `
-Uri "$apiBaseUrl/governance/ruleBasedPolicies/environments/$environmentId/assignments?api-version=$apiVersion" `
-Headers $headers
if (-not $envAssignments.value) { continue }
$envPolicyId = $envAssignments.value[0].policyId
# Remove the ConnectorManagement rule set from that environment's policy
$envPolicy = Invoke-RestMethod -Method Get `
-Uri "$apiBaseUrl/governance/ruleBasedPolicies/$envPolicyId`?api-version=$apiVersion" `
-Headers $headers
$ruleSet = $envPolicy.ruleSets | Where-Object { $_.id -eq "ConnectorManagement" }
if ($ruleSet) {
$body = @{ name = $envPolicy.name; ruleSets = @($ruleSet) } | ConvertTo-Json -Depth 10
Invoke-RestMethod -Method Patch `
-Uri "$apiBaseUrl/governance/ruleBasedPolicies/$envPolicyId/removeRule?api-version=$apiVersion" `
-Headers $headers -ContentType "application/json" -Body $body
Write-Host "Removed ACP from environment $environmentId"
}
}
การเรียกใช้ต่อสภาพแวดล้อมremoveRuleเดียวกันทํางานกับ C# และ SDK Python ที่แสดงไว้ก่อนหน้านี้ ครอบการเรียกใช้ไว้ในลูปที่วนซ้ำผ่านรหัสสภาพแวดล้อมของกลุ่ม
เนื้อหาที่เกี่ยวข้อง
นโยบายตัวเชื่อมต่อขั้นสูง
นโยบายตามกฎ - การอ้างอิง REST API
การรับรองความถูกต้อง
บทช่วยสอน: กำหนดบทบาทให้บริการหลัก
ภาพรวมความสามารถในการเขียนโปรแกรมและความสามารถในการขยาย