マネージド ID は、認証をより効率的かつ安全にすることで、Azure サービスが相互に接続するのに役立ちます。 マネージド ID は、サービス間の承認を管理する代わりに、 Microsoft Entra ID を使用して認証を提供します。 この記事では、マネージド ID を使用して Azure Cache for Redis キャッシュを Azure Storage アカウントに接続する方法について説明します。
マネージド ID を使用すると、次の Azure Redis シナリオで Azure Storage アカウントに安全に接続するプロセスを簡略化できます。
- キャッシュ内のデータをバックアップするためのデータ永続性。
- キャッシュデータのスナップショットを保存するか、保存したファイルからデータをインポートするためのインポートまたはエクスポート。
注意
Azure Redis のデータ永続化機能とインポート/エクスポート機能のみがマネージド ID を使用します。 これらの機能は Azure Redis Premium レベルでのみ使用できるため、マネージド ID は Azure Redis Premium レベルでのみ使用できます。
Azure Cache for Redis では、 システム割り当て と ユーザー割り当て の両方のマネージド ID がサポートされています。 マネージド ID の種類にはそれぞれ利点がありますが、Azure Cache for Redis の機能は同じです。
- システム割り当て ID は、キャッシュ リソースに固有です。 キャッシュが削除されると、ID も削除されます。
- ユーザー割り当て ID は、ユーザーに固有です。 この ID は、マネージド ID をサポートする任意のリソース (ストレージ アカウントなど) に割り当てることができます。 この割り当ては、特定のキャッシュリソースを削除しても残ります。
Azure Redis Premium のデータ永続化またはインポート/エクスポート機能のためのマネージド ID の構成は、いくつかの部分で構成されています。
- Azure Redis キャッシュでマネージド ID を有効にします。
- マネージド ID を使用するように Azure Storage アカウントを構成します。
- マネージド ID を使用するように 、データの永続化 または インポート/エクスポート 機能を構成します。
Azure Redis のデータ永続化またはインポート/エクスポートがストレージ アカウントにアクセスする前に、すべての部分が正しく完了している必要があります。 そうしないと、エラーが表示されるか、データが書き込まれません。
可用性のスコープ
レベル | Basic、Standard | プレミアム | Enterprise、Enterprise Flash |
---|---|---|---|
利用可能 | はい | はい | いいえ |
[前提条件]
- Azure サブスクリプションで Premium レベルの Azure Redis キャッシュと Azure Storage アカウントを作成および構成する機能。
- ユーザー割り当てマネージド ID を割り当てるには: Azure Redis キャッシュおよびストレージ アカウントと同じ Azure サブスクリプション で作成されたマネージド ID 。
マネージド ID の有効化
Azure Redis キャッシュのマネージド ID を有効にするには、Azure portal、Azure CLI、または Azure PowerShell を使用します。 マネージド ID は、キャッシュ インスタンスを作成するとき、または作成後に有効にすることができます。
Azure portal でマネージド ID を有効にする
キャッシュの作成時には、システム割り当てマネージド ID のみを割り当てることができます。 システム割り当て ID またはユーザー割り当て ID を既存のキャッシュに追加できます。
マネージド ID を使用して新しいキャッシュを作成する
Azure portal で、Azure Cache for Redis キャッシュの作成を選択します。 [基本] タブで、 [キャッシュ SKU] に [Premium] を選択し、残りの必要な情報を入力します。
[ 詳細設定 ] タブを選択し、 [ システム割り当てマネージド ID] で [状態 ] を [オン] に設定します。
キャッシュ作成プロセスを完了します。
キャッシュがデプロイされたら、キャッシュ ページに移動し、左側のナビゲーション メニューの [設定] で [ID] を選択します。 [ID] ページの [システム割り当て済み] タブにオブジェクト (プリンシパル) ID が表示されていることを確認します。
システム割り当て ID を既存のキャッシュに追加する
Azure Redis Premium キャッシュの Azure portal ページで、左側のナビゲーション メニューの [設定] の下にある [ID] を選択します。
システム割り当て タブで、状態 を オン に設定し、保存 を選択します。
[システム割り当てマネージド ID を有効にする] プロンプトに [はい] と応答します。
ID が割り当てられたら、オブジェクト (プリンシパル) ID が [ID] ページの [システム割り当て済み] タブに表示されていることを確認します。
ユーザー割り当て ID を既存のキャッシュに追加する
Azure Redis Premium キャッシュの Azure portal ページで、左側のナビゲーション メニューの [設定] の下にある [ID] を選択します。
[ユーザー割り当て] タブを選択し、[追加] を選択します。
[ ユーザー割り当てマネージド ID の追加 ] 画面で、サブスクリプションからマネージド ID を選択し、 [追加] を選択します。 ユーザー割り当てマネージド ID の詳細については、「ユーザー割り当て ID の管理」を参照してください。
ユーザー割り当て ID が追加されたら、それが [ID] ページの [ユーザー割り当て] タブに表示されることを確認します。
Azure CLI を使用してマネージド ID を有効にする
Azure CLI を使用して、 az redis create を使用してマネージド ID で新しいキャッシュを作成できます。 az redis identity を使用して、マネージド ID を使用するように既存のキャッシュを更新できます。
たとえば、システム マネージド ID を使用するようにキャッシュを更新するには、次の Azure CLI コマンドを使用します。
az redis identity assign \--mi-system-assigned \--name MyCacheName \--resource-group MyResource Group
Azure PowerShell を使用してマネージド ID を有効にする
Azure PowerShell では、 New-AzRedisCache を使用して、マネージド ID で新しいキャッシュを作成できます。 Set-AzRedisCache を使用して、マネージド ID を使用するように既存のキャッシュを更新できます。
たとえば、システム マネージド ID を使用するようにキャッシュを更新するには、次の Azure PowerShell コマンドを使用します。
Set-AzRedisCache -ResourceGroupName \"MyGroup\" -Name \"MyCache\" -IdentityType "SystemAssigned"
マネージド ID を使用するようにストレージ アカウントを構成する
Azure portal で、新しいストレージ アカウントを作成するか、キャッシュ インスタンスに接続する既存のストレージ アカウントを開きます。
左側のナビゲーション メニューから [ アクセス制御 (IAM)] を選択します。
[アクセス制御 (IAM)] ページで、[ロールの割り当ての追加>追加] を選択します。
[ロールの割り当ての追加] ページの [ロール] タブで、 [Storage Blob Data Contributor] を検索して選択し、 [次へ] を選択します。
[ メンバー ] タブの [ アクセスの割り当て先] で、 [マネージド ID] を選択し、 [ メンバーの選択] を選択します。
[ マネージド ID の選択 ] ウィンドウで、[ マネージド ID ] の下にあるドロップダウン矢印を選択して、使用可能なすべてのユーザー割り当てマネージド ID とシステム割り当てマネージド ID を表示します。 マネージド ID が多数ある場合は、目的の ID を検索できます。 必要なマネージド ID を選択し、 [選択] を選択します。
[ ロールの割り当ての追加 ] ページで、 [ レビュー + 割り当て] を選択し、もう一度 [ レビュー + 割り当て ] を選択して確認します。
ストレージ アカウントの [アクセス制御 (IAM)] ページで、 [このリソースへのアクセスの表示] で [表示] を選択し、 [ロールの割り当て] タブで Storage Blob Data Contributor を検索して、マネージド ID が追加されていることを確認します。
重要
ファイアウォールの例外があるストレージ アカウントでエクスポートを機能させるには、次の操作を行う必要があります。
- システム割り当て ID を使用して Azure Redis キャッシュを ストレージ BLOB データ共同作成者 として追加し、
- ストレージ アカウントの [ネットワーク] ページで、 信頼されたサービスの一覧で [このストレージ アカウントへのアクセスを Azure サービスに許可する] を選択します。
マネージド ID を使用せず、代わりにキーを使用してストレージ アカウントを承認する場合、ストレージ アカウントにファイアウォールの例外があると、永続化プロセスとインポート/エクスポート プロセスが中断されます。
データの永続化でマネージド ID を使用する
Storage Blob Data Contributor ロールを持つ Azure Redis Premium キャッシュの Azure portal ページで、左側のナビゲーション メニューの [設定] の下にある [データの永続化] を選択します。
[認証方法] が [マネージド ID] に設定されていることを確認します。
重要
選択は、システム割り当て ID が有効になっている場合、デフォルトで設定されます。 それ以外の場合は、最初にリストされたユーザー割り当て ID が使用されます。
[ストレージ アカウント] で、マネージド ID を使用するように構成したストレージ アカウントを選択し (まだ選択していない場合)、必要に応じて [保存] を選択します。
マネージド ID 認証を使用して、データ永続化バックアップをストレージ アカウントに保存できるようになりました。
マネージド ID を使用してキャッシュ データをインポートおよびエクスポートする
Storage Blob Data Contributor ロールを持つ Azure Redis Premium キャッシュの Azure portal ページで、左側のナビゲーション メニューの [管理] の下にある [データのインポート] または [データのエクスポート] を選択します。
[データのインポート] または [データのエクスポート] 画面で、[認証方法] に [マネージド ID] を選択します。
データをインポートするには、[データのインポート] 画面で、[RDB ファイル] の横にある [BLOB の選択] を選択します。 Redis Database (RDB) ファイルまたは BLOB ストレージの場所からファイルを選択し、 [選択] を選択します。
データをエクスポートするには、 [データのエクスポート] 画面で BLOB 名のプレフィックスを入力し、 [出力のエクスポート] の横にある [ストレージ コンテナーの選択] を選択します。 エクスポートされたデータを保持するコンテナーを選択または作成し、 [選択] を選択します。
[ データのインポート ] または [ データのエクスポート ] 画面で、それぞれ [インポート ] または [エクスポート] を選択します。
注意
データのインポートまたはエクスポートには数分かかります。
重要
エクスポートまたはインポートに失敗した場合は、ストレージ アカウントが、キャッシュのシステム割り当てまたはユーザー割り当て ID で構成されていることを再度確認します。 使用される ID は、デフォルトでシステム割り当て ID に設定されます (有効になっている場合)。 それ以外の場合は、最初にリストされたユーザー割り当て ID が使用されます。
関連するコンテンツ
- Azure Cache for Redis の機能の詳細については、こちらを参照してください。
- マネージド ID とは何でしょうか。