チュートリアル:マネージド ID を使用した App Service からの Azure SQL Database 接続のセキュリティ保護Tutorial: Secure Azure SQL Database connection from App Service using a managed identity

App Service では、Azure の高度にスケーラブルな自己適用型の Web ホスティング サービスを提供しています。App Service provides a highly scalable, self-patching web hosting service in Azure. さらに、Azure SQL Database やその他の Azure サービスへのアクセスをセキュリティ保護するためのターンキー ソリューションであるマネージド ID もアプリ向けに提供しています。It also provides a managed identity for your app, which is a turn-key solution for securing access to Azure SQL Database and other Azure services. App Service のマネージド ID を使用すると、接続文字列内の認証情報などのシークレットをアプリから排除することで、アプリのセキュリティを強化できます。Managed identities in App Service make your app more secure by eliminating secrets from your app, such as credentials in the connection strings. このチュートリアルでは、次のいずれかのチュートリアルで作成したサンプル Web アプリにマネージド ID を追加します。In this tutorial, you will add managed identity to the sample web app you built in one of the following tutorials:

作業が完了すると、サンプル アプリは、ユーザー名とパスワードを必要とせずに SQL Database に安全に接続するようになります。When you're finished, your sample app will connect to SQL Database securely without the need of username and passwords.

注意

このチュートリアルで説明する手順は、以下のバージョンをサポートしています。The steps covered in this tutorial support the following versions:

  • .NET Framework 4.7.2 以降.NET Framework 4.7.2 and above
  • .NET Core 2.2 以降.NET Core 2.2 and above

学習内容What you will learn:

  • マネージド ID を有効にするEnable managed identities
  • SQL Database へのアクセスをマネージド ID に付与するGrant SQL Database access to the managed identity
  • SQL Database で Azure AD 認証を使用するように Entity Framework を構成するConfigure Entity Framework to use Azure AD authentication with SQL Database
  • Azure AD 認証を使用して Visual Studio から SQL Database に接続するConnect to SQL Database from Visual Studio using Azure AD authentication

注意

Azure AD 認証は、オンプレミスの Active Directory (AD DS) の統合 Windows 認証とは_異なります_。Azure AD authentication is different from Integrated Windows authentication in on-premises Active Directory (AD DS). AD DS と Azure AD はまったく異なる認証プロトコルを使用しています。AD DS and Azure AD use completely different authentication protocols. 詳細については、「Azure AD Domain Services のドキュメント」を参照してください。For more information, see Azure AD Domain Services documentation.

Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。If you don't have an Azure subscription, create a free account before you begin.

前提条件Prerequisites

この記事は、「チュートリアル:SQL Database を使用して Azure に ASP.NET アプリを作成する」または「チュートリアル: Azure App Service での ASP.NET Core および SQL Database アプリの作成」の続きです。This article continues where you left off in Tutorial: Build an ASP.NET app in Azure with SQL Database or Tutorial: Build an ASP.NET Core and SQL Database app in Azure App Service. まだどちらも完了していない場合は、先に 2 つのチュートリアルのうちのいずれかに従って作業してください。If you haven't already, follow one of the two tutorials first. または、SQL Database を使用して独自の .NET アプリに合わせた手順を実行することもできます。Alternatively, you can adapt the steps for your own .NET app with SQL Database.

SQL Database をバックエンドとして使用してご自分のアプリをデバッグするには、ご使用のコンピューターからのクライアント接続を許可していることを確認してください。To debug your app using SQL Database as the back end, make sure that you've allowed client connection from your computer. そうなっていない場合は、「Azure portal を使用してサーバーレベルの IP ファイアウォール規則を管理する」の手順に従ってください。If not, add the client IP by following the steps at Manage server-level IP firewall rules using the Azure portal.

Azure Cloud Shell を使用するUse Azure Cloud Shell

Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。You can use either Bash or PowerShell with Cloud Shell to work with Azure services. ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Azure Cloud Shell を開始するには:To start Azure Cloud Shell:

オプションOption 例とリンクExample/Link
コード ブロックの右上隅にある [使ってみる] を選択します。Select Try It in the upper-right corner of a code block. [使ってみる] を選択しても、コードは Cloud Shell に自動的にコピーされません。Selecting Try It doesn't automatically copy the code to Cloud Shell. Azure Cloud Shell の [使ってみる] の例
https://shell.azure.com に移動するか、 [Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. 新しいウィンドウで Cloud Shell を起動するLaunch Cloud Shell in a new window
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Azure Portal の [Cloud Shell] ボタン

Azure Cloud Shell でこの記事のコードを実行するには:To run the code in this article in Azure Cloud Shell:

  1. Cloud Shell を開始します。Start Cloud Shell.

  2. [コピー] ボタンを選択して、コード ブロックをコードにコピーします。Select the Copy button on a code block to copy the code.

  3. Windows と Linux では Ctrl+Shift+V キーを選択し、macOS では Cmd+Shift+V キーを選択して、コードを Cloud Shell セッションに貼り付けます。Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Enter キーを選択して、コードを実行します。Select Enter to run the code.

データベースへのアクセスを Azure AD ユーザーに許可するGrant database access to Azure AD user

まず、Azure AD ユーザーをサーバーの Active Directory 管理者として割り当てることで SQL Database への Azure AD 認証を有効にします。First enable Azure AD authentication to SQL Database by assigning an Azure AD user as the Active Directory admin of the server. このユーザーは、ご使用の Azure サブスクリプションのサインアップに使用した Microsoft アカウントと異なります。This user is different from the Microsoft account you used to sign up for your Azure subscription. Azure AD に作成、インポート、同期、または招待したユーザーである必要があります。It must be a user that you created, imported, synced, or invited into Azure AD. 許可されている Azure AD ユーザーの詳細については、Azure AD の機能と SQL Database の制限事項に関するセクションを参照してください。For more information on allowed Azure AD users, see Azure AD features and limitations in SQL Database.

Azure AD テナントにまだユーザーが作成されていない場合は、「Azure Active Directory を使用してユーザーを追加または削除する」の手順に従ってユーザーを作成します。If your Azure AD tenant doesn't have a user yet, create one by following the steps at Add or delete users using Azure Active Directory.

az ad user list を使用して Azure AD ユーザーのオブジェクト ID を見つけます。 <user-principal-name> は置き換えてください。Find the object ID of the Azure AD user using the az ad user list and replace <user-principal-name>. 結果は変数に保存されます。The result is saved to a variable.

azureaduser=$(az ad user list --filter "userPrincipalName eq '<user-principal-name>'" --query [].objectId --output tsv)

ヒント

Azure AD 内のすべてのユーザー プリンシパル名の一覧を表示するには、az ad user list --query [].userPrincipalName を実行します。To see the list of all user principal names in Azure AD, run az ad user list --query [].userPrincipalName.

Cloud Shell で az sql server ad-admin create コマンドを使用して、この Azure AD ユーザーを Active Directory 管理者として追加します。Add this Azure AD user as an Active Directory admin using az sql server ad-admin create command in the Cloud Shell. 次のコマンドの <server-name> は、サーバー名 (.database.windows.net サフィックスなし) に置き換えてください。In the following command, replace <server-name> with the server name (without the .database.windows.net suffix).

az sql server ad-admin create --resource-group myResourceGroup --server-name <server-name> --display-name ADMIN --object-id $azureaduser

Active Directory 管理者の追加の詳細については、サーバーの Azure Active Directory 管理者のプロビジョニングに関するセクションを参照してください。For more information on adding an Active Directory admin, see Provision an Azure Active Directory administrator for your server

Visual Studio を設定するSet up Visual Studio

Windows クライアントWindows client

Visual Studio for Windows は Azure AD 認証と統合されています。Visual Studio for Windows is integrated with Azure AD authentication. Visual Studio で開発とデバッグを有効にするには、Visual Studio のメニューから [ファイル] > [アカウント設定] の順に選択し、 [アカウントを追加します] をクリックして、実際の Azure AD ユーザーを追加します。To enable development and debugging in Visual Studio, add your Azure AD user in Visual Studio by selecting File > Account Settings from the menu, and click Add an account.

Azure サービス認証用に Azure AD ユーザーを設定するには、メニューから [ツール] > [オプション] の順に選択した後、 [Azure Service Authentication](Azure サービス認証) > [アカウントの選択] の順に選択します。To set the Azure AD user for Azure service authentication, select Tools > Options from the menu, then select Azure Service Authentication > Account Selection. 追加した Azure AD ユーザーを選択し、 [OK] をクリックします。Select the Azure AD user you added and click OK.

これで、Azure AD 認証を使用し、SQL Database をバックエンドとして利用して、ご自分のアプリを開発およびデバッグする準備ができました。You're now ready to develop and debug your app with the SQL Database as the back end, using Azure AD authentication.

macOS クライアントmacOS client

Visual Studio for Mac は Azure AD 認証と統合されていません。Visual Studio for Mac is not integrated with Azure AD authentication. ただし、後で使用する Microsoft.Azure.Services.AppAuthentication ライブラリでは、Azure CLI からのトークンを使用することができます。However, the Microsoft.Azure.Services.AppAuthentication library that you will use later can use tokens from Azure CLI. Visual Studio での開発とデバッグを可能にするには、まず、ご利用のローカル コンピューター上に Azure CLI をインストールする必要があります。To enable development and debugging in Visual Studio, first you need to install Azure CLI on your local machine.

ローカル コンピューターに Azure CLI がインストールされたら、Azure AD ユーザーを使用して、次のコマンドで Azure CLI にサインインします。Once Azure CLI is installed on your local machine, sign in to Azure CLI with the following command using your Azure AD user:

az login --allow-no-subscriptions

これで、Azure AD 認証を使用し、SQL Database をバックエンドとして利用して、ご自分のアプリを開発およびデバッグする準備ができました。You're now ready to develop and debug your app with the SQL Database as the back end, using Azure AD authentication.

プロジェクトを変更するModify your project

プロジェクトに対して実行する手順は、ASP.NET プロジェクトであるか ASP.NET Core プロジェクトであるかによって異なります。The steps you follow for your project depends on whether it's an ASP.NET project or an ASP.NET Core project.

ASP.NET を変更するModify ASP.NET

Visual Studio で、パッケージ マネージャー コンソールを開き、NuGet パッケージ Microsoft.Azure.Services.AppAuthentication を追加します。In Visual Studio, open the Package Manager Console and add the NuGet package Microsoft.Azure.Services.AppAuthentication:

Install-Package Microsoft.Azure.Services.AppAuthentication -Version 1.4.0

Web.config で、ファイルの先頭から作業を行い、次の変更を加えます。In Web.config, working from the top of the file and make the following changes:

  • <configSections> に、次の section 宣言を追加します。In <configSections>, add the following section declaration in it:

    <section name="SqlAuthenticationProviders" type="System.Data.SqlClient.SqlAuthenticationProviderConfigurationSection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    
  • 閉じる </configSections> タグの下に、<SqlAuthenticationProviders> の次の XML コードを追加します。below the closing </configSections> tag, add the following XML code for <SqlAuthenticationProviders>.

    <SqlAuthenticationProviders>
      <providers>
        <add name="Active Directory Interactive" type="Microsoft.Azure.Services.AppAuthentication.SqlAppAuthenticationProvider, Microsoft.Azure.Services.AppAuthentication" />
      </providers>
    </SqlAuthenticationProviders>
    
  • MyDbConnection という接続文字列を見つけ、その connectionString 値を "server=tcp:<server-name>.database.windows.net;database=<db-name>;UID=AnyString;Authentication=Active Directory Interactive" に置き換えます。Find the connection string called MyDbConnection and replace its connectionString value with "server=tcp:<server-name>.database.windows.net;database=<db-name>;UID=AnyString;Authentication=Active Directory Interactive". <server-name><db-name> を実際のサーバー名とデータベース名に置き換えます。Replace <server-name> and <db-name> with your server name and database name.

注意

登録した SqlAuthenticationProvider は、先ほどインストールした AppAuthentication ライブラリに基づいています。The SqlAuthenticationProvider you just registered is based on top of the AppAuthentication library you installed earlier. 既定では、システム割り当ての ID が使用されます。By default, it uses a system-assigned identity. ユーザー割り当ての ID を活用するには、追加の構成を行う必要があります。To leverage a user-assigned identity, you will need to provide an additional configuration. AppAuthentication ライブラリについては、「接続文字列のサポート」を参照してください。Please see connection string support for the AppAuthentication library.

これが、SQL Database に接続するために必要な作業のすべてです。That's every thing you need to connect to SQL Database. Visual Studio でデバッグする場合は、「Visual Studio を設定する」で構成した Azure AD ユーザーが、コードによって使用されます。When debugging in Visual Studio, your code uses the Azure AD user you configured in Set up Visual Studio. 後で、App Service アプリのマネージド ID からの接続を許可するように SQL Database を設定します。You'll set up SQL Database later to allow connection from the managed identity of your App Service app.

Ctrl+F5 キーを押してアプリをもう一度実行します。Type Ctrl+F5 to run the app again. これで、お使いのブラウザー内で同じ CRUD アプリが Azure AD 認証を使用して Azure SQL Database に直接接続します。The same CRUD app in your browser is now connecting to the Azure SQL Database directly, using Azure AD authentication. この設定により、Visual Studio からのデータベースの移行を実行できます。This setup lets you run database migrations from Visual Studio.

ASP.NET Core を変更するModify ASP.NET Core

Visual Studio で、パッケージ マネージャー コンソールを開き、NuGet パッケージ Microsoft.Azure.Services.AppAuthentication を追加します。In Visual Studio, open the Package Manager Console and add the NuGet package Microsoft.Azure.Services.AppAuthentication:

Install-Package Microsoft.Azure.Services.AppAuthentication -Version 1.4.0

ASP.NET Core および SQL Database のチュートリアルの場合、ローカル開発環境では Sqlite データベース ファイルが使用され、Azure 運用環境では App Service の接続文字列が使用されるため、MyDbConnection 接続文字列はまったく使用されません。In the ASP.NET Core and SQL Database tutorial, the MyDbConnection connection string isn't used at all because the local development environment uses a Sqlite database file, and the Azure production environment uses a connection string from App Service. Active Directory 認証では、両方の環境で同じ接続文字列を使用することが望まれます。With Active Directory authentication, you want both environments to use the same connection string. appsettings.json で、MyDbConnection 接続文字列の値を次のように置き換えます。In appsettings.json, replace the value of the MyDbConnection connection string with:

"Server=tcp:<server-name>.database.windows.net,1433;Database=<database-name>;"

次に、SQL Database のアクセス トークンを使用して、Entity Framework データベース コンテキストを指定します。Next, you supply the Entity Framework database context with the access token for the SQL Database. Data\MyDatabaseContext.cs で、以下のコードを空の MyDatabaseContext (DbContextOptions<MyDatabaseContext> options) コンストラクターの中かっこ内に追加します。In Data\MyDatabaseContext.cs, add the following code inside the curly braces of the empty MyDatabaseContext (DbContextOptions<MyDatabaseContext> options) constructor:

var conn = (Microsoft.Data.SqlClient.SqlConnection)Database.GetDbConnection();
conn.AccessToken = (new Microsoft.Azure.Services.AppAuthentication.AzureServiceTokenProvider()).GetAccessTokenAsync("https://database.windows.net/").Result;

注意

このデモ コードは、わかりやすく単純にするために同期型になっています。This demonstration code is synchronous for clarity and simplicity.

これが、SQL Database に接続するために必要な作業のすべてです。That's every thing you need to connect to SQL Database. Visual Studio でデバッグする場合は、「Visual Studio を設定する」で構成した Azure AD ユーザーが、コードによって使用されます。When debugging in Visual Studio, your code uses the Azure AD user you configured in Set up Visual Studio. 後で、App Service アプリのマネージド ID からの接続を許可するように SQL Database を設定します。You'll set up SQL Database later to allow connection from the managed identity of your App Service app. AzureServiceTokenProvider クラスは、トークンをメモリ内にキャッシュし、有効期限の直前に Azure AD から取得します。The AzureServiceTokenProvider class caches the token in memory and retrieves it from Azure AD just before expiration. トークンを更新するためのカスタム コードは必要ありません。You don't need any custom code to refresh the token.

ヒント

構成した Azure AD ユーザーが複数のテナントにアクセスできる場合は、目的のテナント ID で GetAccessTokenAsync("https://database.windows.net/", tenantid) を呼び出して、適切なアクセス トークンを取得します。If the Azure AD user you configured has access to multiple tenants, call GetAccessTokenAsync("https://database.windows.net/", tenantid) with the desired tenant ID to retrieve the proper access token.

Ctrl+F5 キーを押してアプリをもう一度実行します。Type Ctrl+F5 to run the app again. これで、お使いのブラウザー内で同じ CRUD アプリが Azure AD 認証を使用して Azure SQL Database に直接接続します。The same CRUD app in your browser is now connecting to the Azure SQL Database directly, using Azure AD authentication. この設定により、Visual Studio からのデータベースの移行を実行できます。This setup lets you run database migrations from Visual Studio.

マネージド ID の接続の使用Use managed identity connectivity

次に、システムによって割り当てられたマネージド ID を使用して SQL Database に接続するよう、ご自分の App Service アプリを構成します。Next, you configure your App Service app to connect to SQL Database with a system-assigned managed identity.

注意

このセクションの手順では、システム割り当て ID を使用していますが、ユーザー割り当て ID も同じように簡単に使用できます。While the instructions in this section are for a system-assigned identity, a user-assigned identity can just as easily be used. そのためには、To do this. 目的のユーザー割り当て ID を使用するように az webapp identity assign command を変更する必要があります。you would need the change the az webapp identity assign command to assign the desired user-assigned identity. その後 SQL ユーザーを作成するときは、サイト名ではなく、ユーザー割り当て ID リソースの名前を使用してください。Then, when creating the SQL user, make sure to use the name of the user-assigned identity resource rather than the site name.

アプリのマネージド ID を有効にするEnable managed identity on app

Azure アプリのマネージド ID を有効にするには、Cloud Shell で az webapp identity assign コマンドを使用します。To enable a managed identity for your Azure app, use the az webapp identity assign command in the Cloud Shell. 次のコマンドの <app-name> を置き換えます。In the following command, replace <app-name>.

az webapp identity assign --resource-group myResourceGroup --name <app-name>

出力の例を次に示します。Here's an example of the output:

{
  "additionalProperties": {},
  "principalId": "21dfa71c-9e6f-4d17-9e90-1d28801c9735",
  "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
  "type": "SystemAssigned"
}

マネージド ID にアクセス許可を付与するGrant permissions to managed identity

注意

必要に応じて、Azure AD グループに ID を追加し、SQL Database へのアクセスを ID ではなく Azure AD グループに許可することができます。If you want, you can add the identity to an Azure AD group, then grant SQL Database access to the Azure AD group instead of the identity. たとえば、次のコマンドは、前の手順のマネージド ID を myAzureSQLDBAccessGroup という名前の新しいグループに追加します。For example, the following commands add the managed identity from the previous step to a new group called myAzureSQLDBAccessGroup:

groupid=$(az ad group create --display-name myAzureSQLDBAccessGroup --mail-nickname myAzureSQLDBAccessGroup --query objectId --output tsv)
msiobjectid=$(az webapp identity show --resource-group myResourceGroup --name <app-name> --query principalId --output tsv)
az ad group member add --group $groupid --member-id $msiobjectid
az ad group member list -g $groupid

Cloud Shell 内で、SQLCMD コマンドを使用して SQL Database にサインインします。In the Cloud Shell, sign in to SQL Database by using the SQLCMD command. <server-name> は実際のサーバー名に、 <db-name> はアプリが使用するデータベース名に、 <aad-user-name><aad-password> は Azure AD ユーザーの資格情報に置き換えます。Replace <server-name> with your server name, <db-name> with the database name your app uses, and <aad-user-name> and <aad-password> with your Azure AD user's credentials.

sqlcmd -S <server-name>.database.windows.net -d <db-name> -U <aad-user-name> -P "<aad-password>" -G -l 30

対象のデータベースの SQL プロンプトで次のコマンドを実行して、ご自分のアプリに必要なアクセス許可を付与します。In the SQL prompt for the database you want, run the following commands to grant the permissions your app needs. たとえば、次のように入力します。For example,

CREATE USER [<identity-name>] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [<identity-name>];
ALTER ROLE db_datawriter ADD MEMBER [<identity-name>];
ALTER ROLE db_ddladmin ADD MEMBER [<identity-name>];
GO

<identity-name> は、Azure AD のマネージド ID の名前です。<identity-name> is the name of the managed identity in Azure AD. ID がシステムによって割り当てられる場合は常に、App Service アプリと同じ名前になります。If the identity is system-assigned, the name always the same as the name of your App Service app. Azure AD グループのアクセス許可を付与するには、代わりにグループの表示名を使用します (たとえば、myAzureSQLDBAccessGroup)。To grant permissions for an Azure AD group, use the group's display name instead (for example, myAzureSQLDBAccessGroup).

EXIT」と入力して Cloud Shell プロンプトに戻ります。Type EXIT to return to the Cloud Shell prompt.

注意

マネージド ID のバックエンド サービスは、トークン キャッシュも管理します。トークン キャッシュでは、有効期限が切れたときにのみターゲット リソースのトークンが更新されます。The back-end services of managed identities also maintains a token cache that updates the token for a target resource only when it expires. SQL Database のアクセス許可に設定ミスがあり、アプリでトークンを取得しようとした "後に" アクセス許可に変更を加えようとしても、実際には、キャッシュされたトークンの有効期限が切れるまで、更新されたアクセス許可で新しいトークンを取得することはできません。If you make a mistake configuring your SQL Database permissions and try to modify the permissions after trying to get a token with your app, you don't actually get a new token with the updated permissions until the cached token expires.

接続文字列を変更するModify connection string

Web.config または appsettings.json 内で行ったのと同じ変更をマネージド ID に対して使用できるため、必要な作業は App Service 内の既存の接続文字列 (ご自分のアプリを初めてデプロイすると Visual Studio によって作成されます) を削除することだけである点に注意してください。Remember that the same changes you made in Web.config or appsettings.json works with the managed identity, so the only thing to do is to remove the existing connection string in App Service, which Visual Studio created deploying your app the first time. 次のコマンドを使用しますが、 <app-name> はご自分のアプリの名前に置き換えます。Use the following command, but replace <app-name> with the name of your app.

az webapp config connection-string delete --resource-group myResourceGroup --name <app-name> --setting-names MyDbConnection

変更を発行するPublish your changes

あとは、Azure に変更を発行するだけです。All that's left now is to publish your changes to Azure.

チュートリアル: SQL Database を使用して Azure に ASP.NET アプリを作成する」からこのチュートリアルに進んできた場合は、Visual Studio での変更を発行します。If you came from Tutorial: Build an ASP.NET app in Azure with SQL Database, publish your changes in Visual Studio. ソリューション エクスプローラーDotNetAppSqlDb プロジェクトを右クリックし、 [発行] を選択します。In the Solution Explorer, right-click your DotNetAppSqlDb project and select Publish.

ソリューション エクスプローラーから発行する

発行ページで [発行] をクリックします。In the publish page, click Publish.

チュートリアル: Azure App Service での ASP.NET Core および SQL Database アプリの作成」からこのチュートリアルに進んできた場合は、以下のコマンドで、Git を使用して変更を発行します。If you came from Tutorial: Build an ASP.NET Core and SQL Database app in Azure App Service, publish your changes using Git, with the following commands:

git commit -am "configure managed identity"
git push azure master

新しい Web ページに To-Do リストを表示するとき、アプリはマネージド ID を使用してデータベースに接続しています。When the new webpage shows your to-do list, your app is connecting to the database using the managed identity.

Code First Migration の手順後の Azure アプリ

以前と同様に To-Do リストを編集できるようになりました。You should now be able to edit the to-do list as before.

リソースをクリーンアップするClean up resources

前の手順では、リソース グループ内に Azure リソースを作成しました。In the preceding steps, you created Azure resources in a resource group. これらのリソースが将来必要になると想定していない場合、Cloud Shell で次のコマンドを実行して、リソース グループを削除します。If you don't expect to need these resources in the future, delete the resource group by running the following command in the Cloud Shell:

az group delete --name myResourceGroup

このコマンドの実行には、少し時間がかかる場合があります。This command may take a minute to run.

次のステップNext steps

ここで学習した内容は次のとおりです。What you learned:

  • マネージド ID を有効にするEnable managed identities
  • SQL Database へのアクセスをマネージド ID に付与するGrant SQL Database access to the managed identity
  • SQL Database で Azure AD 認証を使用するように Entity Framework を構成するConfigure Entity Framework to use Azure AD authentication with SQL Database
  • Azure AD 認証を使用して Visual Studio から SQL Database に接続するConnect to SQL Database from Visual Studio using Azure AD authentication

次のチュートリアルに進み、カスタム DNS 名を Web アプリにマップする方法を学習してください。Advance to the next tutorial to learn how to map a custom DNS name to your web app.