説明
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
}
}