【问题标题】:How to automate the activation of Synapse Workspace如何自动激活 Synapse Workspace
【发布时间】:2021-08-11 01:07:48
【问题描述】:

我正在关注官方documentation 使用客户管理密钥 (CMK) 对 Synapse 工作区进行双重加密。现在我的问题是如何自动化这一步?

我获得了授予 Synapse 工作区访问密钥保管库的权限,并使用 terraform 实现了自动化。但是,似乎没有办法使用 terrafrom (azurerm module) 或 api 调用来进行激活部分。

谁能告诉我如何解决这个问题。

【问题讨论】:

    标签: terraform terraform-provider-azure azure-synapse


    【解决方案1】:

    正如我今天所要求的那样:直接使用 PowerShell,它很容易按如下方式工作:

    更新-AzSynapseWorkspaceKey -WorkspaceName YourWorkspaceName -Activate

    => 见https://docs.microsoft.com/en-us/powershell/module/az.synapse/update-azsynapseworkspacekey?view=azps-6.3.0

    因此,该脚本只需要集成到您的 terraform 模板中,例如使用https://www.terraform.io/docs/language/resources/provisioners/local-exec.html

    当然,在这种情况下,可能需要在 PowerShell 的 Az-Cmdlet 中对 Azure 进行身份验证的额外步骤。

    添加了详细信息,以回答有关如何在 REST-API 或 Azure CLI 中执行此操作的问题

    归根结底,资源供应完全与 REST API 有关。 PowerShell 模块、Azure CLI、Python SDK 等只是在背后发挥 REST API 魔力的包装器。

    而且这个魔法不是秘密,而是可以调查的:

    直接 REST API:

    1. 触发器激活
    1. 检查工作区 由于激活是异步操作,因此每隔几秒检查一次并等待:properties.encryption.cmk.status == "Consistent" 要求:

    Azure CLI:

    1. az synapse 工作区密钥更新: 首次通过更新工作区的密钥供应工作区时,激活工作区并将其状态从挂起状态更改为成功状态。激活工作区后切换到另一个 CMK 需要改为执行“az synapse workspace update”。
    2. az synapse 工作区展示

    【讨论】:

    • 这仅适用于 powershell 吗?我可以用 API 或 AZure CLI 做同样的事情吗?
    • 是的,当然。最后,资源供应都是关于 REST API 的。 PowerShell 模块、Azure CLI、Python SDK 等只是在背后执行 REST API 魔术的包装器。这个魔法不是秘密,但可以调查: - Azure CLI 中的“--debug”选项,请参阅docs.microsoft.com/en-us/cli/azure/get-started-with-azure-cli - PowerShell 中的“$DebugPreference”变量,请参阅docs.microsoft.com/en-us/powershell/azure/… 这有助于识别相关的 REST API,如果你想自己做。
    • Update-AzSynapseWorkspaceKey commandlet 在最新模块中不再可用。您现在应该使用:Enable-AzSynapseWorkspace -WorkspaceName $WorkspaceName
    【解决方案2】:

    没有办法自动化激活过程。我们需要手动完成表单门户。

    【讨论】:

      猜你喜欢
      • 2020-11-24
      • 2021-04-23
      • 2023-03-26
      • 2015-08-26
      • 1970-01-01
      • 1970-01-01
      • 2023-01-31
      • 2021-05-23
      • 2011-05-17
      相关资源
      最近更新 更多