az sql db create コマンドを使って、ユーザー割り当てマネージド ID とテナント間カスタマー マネージド TDE で構成されたデータベースを作成します。 encryption-protector フィールドは、2 つ目のテナントのキー識別子を使用できます。 federated-client-id フィールドでは、マルチテナント アプリケーションのアプリケーション ID を使用できます。 この --encryption-protector-auto-rotation パラメーターを使用すると、データベース レベルでキーの自動ローテーションを有効にすることができます。
ユーザー割り当てマネージド ID のリソース ID を取得するには、Azure portal でマネージド ID を検索します。 マネージド ID を見つけて、[プロパティ] に移動します。 UMI リソース ID の例は、/subscriptions/<subscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managedIdentity> のようになります
ユーザー割り当てマネージド ID のリソース ID を取得するには、Azure portal でマネージド ID を検索します。 マネージド ID を見つけて、[プロパティ] に移動します。 UMI リソース ID の例は、/subscriptions/<subscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managedIdentity> のようになります
# create a server with user-assigned managed identity and cross-tenant customer-managed TDE with automatic key rotation enabled
$params = @{
ResourceGroupName = '<ResourceGroupName>'
ServerName = '<ServerName>'
DatabaseName = '<DatabaseName>'
AssignIdentity = $true
UserAssignedIdentityId = '<UserAssignedIdentityId>'
EncryptionProtector = '<CustomerManagedKeyId>'
FederatedClientId = '<FederatedClientId>'
EncryptionProtectorAutoRotation = $true
}
New-AzSqlDatabase @params
ユーザー割り当てマネージド ID とデータベース レベルのカスタマー マネージド TDE を持つ Azure SQL Database を作成する ARM テンプレートの例を次に示します。 テナント間 CMK の場合は、2 つ目のテナントのキー コンテナーのキー識別子と、マルチテナント アプリケーションのアプリケーション ID を使います。
ユーザー割り当てマネージド ID のリソース ID を取得するには、Azure portal でマネージド ID を検索します。 マネージド ID を見つけて、[プロパティ] に移動します。 UMI リソース ID の例は、/subscriptions/<subscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managedIdentity> のようになります。
az sql db create コマンドを使って、ユーザー割り当てマネージド ID とテナント間カスタマー マネージド TDE で構成されたデータベースを更新します。 encryption-protector フィールドは、2 つ目のテナントのキー識別子を使用できます。 federated-client-id フィールドでは、マルチテナント アプリケーションのアプリケーション ID を使用できます。
ユーザー割り当てマネージド ID のリソース ID を取得するには、Azure portal でマネージド ID を検索します。 マネージド ID を見つけて、[プロパティ] に移動します。 UMI リソース ID の例は、/subscriptions/<subscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managedIdentity> のようになります。 この --encryption-protector-auto-rotation パラメーターを使用すると、データベース レベルでキーの自動ローテーションを有効にすることができます。
ユーザー割り当てマネージド ID のリソース ID を取得するには、Azure portal でマネージド ID を検索します。 マネージド ID を見つけて、[プロパティ] に移動します。 UMI リソース ID の例は、/subscriptions/<subscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managedIdentity> のようになります。
ユーザー割り当てマネージド ID のリソース ID を取得するには、Azure portal でマネージド ID を検索します。 マネージド ID を見つけて、[プロパティ] に移動します。 UMI リソース ID の例は、/subscriptions/<subscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managedIdentity> のようになります。
# Retrieve the basic database level customer-managed key settings from a database
az sql db show --resource-group $resourceGroupName --server $serverName --name mySampleDatabase
# Retrieve the basic database level customer-managed key settings from a database and all the keys ever added
az sql db show --resource-group $resourceGroupName --server $serverName --name mySampleDatabase --expand-keys
# Retrieve the basic database level customer-managed key settings from a database and the current keys in use
az sql db show --resource-group $resourceGroupName --server $serverName --name mySampleDatabase --expand-keys --keys-filter current
# Retrieve the basic database level customer-managed key settings from a database and the keys in use at a particular point in time
az sql db show --resource-group $resourceGroupName --server $serverName --name mySampleDatabase --expand-keys --keys-filter 01-01-2015
# Retrieve all the databases in a server to check which ones are configured with database level customer-managed keys
az sql db list --resource-group $resourceGroupName --server $serverName
# Retrieve the basic database level customer-managed key settings from a database
Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName>
# Retrieve the basic database level customer-managed key settings from a database and all the keys ever added
Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList
# Retrieve the basic database level customer-managed key settings from a database and the current keys in use
Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList -KeysFilter "current"
# Retrieve the basic database level customer-managed key settings from a database and the keys in use at a particular point in time
Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList -KeysFilter '2023-02-03 00:00:00'
# Retrieve all the databases in a server to check which ones are configured with database level customer-managed keys
Get-AzSqlDatabase -resourceGroupName <ResourceGroupName> -ServerName <ServerName> | Select DatabaseName, EncryptionProtector
2022-08-01-preview の Azure SQL Database 用 REST API を使用します。
データベースから基本的なデータベース レベルのカスタマー マネージド キー設定を取得します。
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}?api-version=2022-08-01-preview
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}?api-version=2022-08-01-preview&$expand=keys
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}?api-version=2022-08-01-preview&$expand=keys($filter=pointInTime('current'))
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}?api-version=2022-08-01-preview&$expand=keys($filter=pointInTime('2023-02-04T01:57:42.49Z'))
2022-08-01-preview の Azure SQL Database 用 REST API を使用します。
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/encryptionProtector/current/revalidate?api-version=2022-08-01-preview
2022-08-01-preview の Azure SQL Database 用 REST API を使用します。
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/encryptionProtector/current/revert?api-version=2022-08-01-preview