Azure SQLのMicrosoft Entra管理者設定の確認

中央認証を使うSQLサーバーにMicrosoft Entra管理者を指定してください。

説明

Azure SQLでMicrosoft Entra認証を使うには、サーバーのMicrosoft Entra管理者を設定します。指定するだけでSQL認証が無効になったり、MFAが自動的に適用されたりするわけではありません。

想定される影響

設定がないと、組織のアカウントによるデータベース管理やアクセス制御を構成しにくくなり、個別のSQL資格情報に依存する場合があります。

対処方法

azurerm_mssql_serverのazuread_administratorに、意図した管理者アカウントまたはグループを指定してください。ユーザーとクライアントに適した認証方式や、必要なMFAポリシーも設定してください。

例

以下は現在のAzureRMで管理者を設定する例です。変数には実際の管理者の表示名、オブジェクトID、テナントIDを指定し、例示したSQLパスワードを本番で使わないでください。

変更前

hcl
resource "azurerm_resource_group" "example" {
  name     = "acceptanceTestResourceGroup1"
  location = "West US"
}

resource "azurerm_mssql_server" "example" {
  name                         = "mysqlserver1"
  resource_group_name          = "acceptanceTestResourceGroup1"
  location                     = "West US"
  version                      = "12.0"
  administrator_login          = "4dm1n157r470r"
  administrator_login_password = "4-v3ry-53cr37-p455w0rd"
}

変更後

hcl
resource "azurerm_resource_group" "example" {
  name     = "acceptanceTestResourceGroup1"
  location = "West US"
}

resource "azurerm_mssql_server" "example" {
  name                         = "mysqlserver1"
  resource_group_name          = "acceptanceTestResourceGroup1"
  location                     = "West US"
  version                      = "12.0"
  administrator_login          = "4dm1n157r470r"
  administrator_login_password = "4-v3ry-53cr37-p455w0rd"
  azuread_administrator {
    login_username = var.sql_administrator_display_name
    object_id      = var.sql_administrator_object_id
    tenant_id      = var.tenant_id
  }
}

参考資料