ストレージのマネージド ID

マネージド ID は、開発者がシークレットとサインイン情報を管理する負担を最小限に抑えるのに役立つ、Azure で使用される一般的なツールです。 マネージド ID は、Azure サービスが相互に接続されている場合に便利です。 各サービス内で認可を管理する代わりに、Microsoft Entra ID を使用して、認証プロセスをより合理的で安全なものにするマネージド ID を提供できます。

ストレージ アカウントでマネージド ID を使用する

現在、Azure Cache for Redis ではマネージド ID を使用して、ストレージ アカウントに接続できます。これは次の 2 つのシナリオで役立ちます。

  • データの永続化 -- RDB または AOF ファイルを使用したキャッシュ内のデータのスケジュールされたバックアップ。

  • インポートまたはエクスポート -- キャッシュ データのスナップショットを保存するか、保存したファイルからデータをインポートします。

マネージド ID を使用すると、これらのタスクのために選択したストレージ アカウントに安全に接続するプロセスを簡略化できます。

Azure Cache for Redis では、両方の種類のマネージド ID がサポートされます。

  • システム割り当て ID はリソースに固有です。 この場合、キャッシュがリソースとなります。 キャッシュが削除された場合、ID は削除されます。

  • ユーザー割り当て ID は、リソースではなくユーザーに固有です。 マネージド ID をサポートし、キャッシュを削除しても残るリソースに割り当てることができます。

マネージド ID の種類ごとに利点がありますが、Azure Cache for Redis では、機能は同じです。

マネージド ID の有効化

マネージド ID は、キャッシュ インスタンスの作成時またはキャッシュの作成後に有効にできます。 キャッシュの作成時には、システム割り当て ID のみを割り当てることができます。 いずれかの ID の種類を既存のキャッシュに追加できます。

可用性のスコープ

レベル Basic、Standard Premium Enterprise、Enterprise Flash
使用可能 いいえ 有効 いいえ

前提条件と制限事項

ストレージのマネージド ID は、現時点ではインポート/エクスポート機能と永続化機能でのみ使用され、Azure Cache for Redis の Premium レベルでの使用に限定されています。

ストレージのマネージド ID は、Cloud Services (クラシック) に依存するキャッシュではサポートされていません。 キャッシュに Cloud Services (クラシック) が使用されているかどうかを確認する方法の詳細については、「キャッシュが影響を受けるかどうかを知るにはどうすればよいですか?」を参照してください。

ポータルを使用してマネージド ID で新しいキャッシュを作成する

  1. Azure portal にサインインします。

  2. Premium レベルのいずれかのキャッシュの種類で、新しい Azure Cache for Redis リソースを作成します。 [基本] タブで必要な情報をすべて入力します。

    Premium キャッシュを作成する方法を示すスクリーンショット。

  3. [詳細設定] タブを選択します。その後、[システム割り当てマネージド ID] まで下にスクロールし、[オン] を選択します。

    フォームの [詳細設定] ページを示すスクリーンショット。

  4. 作成プロセスを完了します。 キャッシュが作成およびデプロイされたら、それを開き、左側の [設定] セクションの下にある [ID] タブを選択します。 システム割り当てオブジェクト ID がキャッシュ ID に割り当てられているのがわかります。

    [リソース] メニューの [ID] を示すスクリーンショット。

既存のキャッシュにシステム割り当て ID を追加する

  1. Azure portal から Azure Cache for Redis リソースに移動します。 左側の [リソース] メニューから [ID] を選択します。

  2. システム割り当て ID を有効にするには、[システム割り当て] タブを選択し、[状態][オン] を選択します。 [保存] を選択して確定します。

    [システム割り当て] が選択され、[状態] が [オン] になっている画面のスクリーンショット。

  3. キャッシュが Microsoft Entra ID で登録されることと、キャッシュに対して Microsoft Entra ID によって保護されているリソースにアクセスするためのアクセス許可を付与できることを示すダイアログがポップアップ表示されます。 [はい] を選択します。 マネージド ID を有効にするかどうか確認する画面のスクリーンショット。

  4. [オブジェクト (プリンシパル) ID] が表示され、ID が割り当てられていることが示されます。

    [オブジェクト (プリンシパル) ID] を示すスクリーンショット。

ユーザー割り当て ID を既存のキャッシュに追加する

  1. Azure portal から Azure Cache for Redis リソースに移動します。 左側の [リソース] メニューから [ID] を選択します。

  2. ユーザー割り当て ID を有効にするには、[ユーザー割り当て] タブを選択し、[追加] を選択します。

    ユーザー割り当て ID の状態がオン。

  3. サイドバーがポップアップ表示され、サブスクリプションに対して使用可能なユーザー割り当て ID を選択できます。 ID を選び、[追加] を選択します。 ユーザー割り当てマネージド ID の詳細については、「ユーザー割り当て ID の管理」を参照してください。

    注意

    この手順の前に、ユーザー割り当て ID を作成する必要があります。

    [ユーザー割り当てマネージド ID] を示すスクリーンショット。

  4. [ユーザー割り当て] ペインにユーザー割り当て ID が一覧表示されます。

    名前、リソース グループ、サブスクリプションの一覧を示すスクリーンショット。

Azure CLI を使用してマネージド ID を有効にする

マネージド ID で新しいキャッシュを作成したり、マネージド ID を使用するために既存のキャッシュを更新する場合は、Azure CLI を使います。 詳細については、「az redis create」または「az redis identity」を参照してください。

たとえば、システム マネージド ID を使用するためにキャッシュを更新するには、次の CLI コマンドを使用します。


az redis identity assign \--mi-system-assigned \--name MyCacheName \--resource-group MyResource Group

Azure PowerShell を使用してマネージド ID を有効にする

マネージド ID で新しいキャッシュを作成したり、マネージド ID を使用するために既存のキャッシュを更新する場合は、Azure PowerShell を使います。 詳細については、「New-AzRedisCache」または「Set-AzRedisCache」を参照してください。

たとえば、システム マネージド ID を使用するためにキャッシュを更新するには、次の PowerShell コマンドを使用します。

Set-AzRedisCache -ResourceGroupName \"MyGroup\" -Name \"MyCache\" -IdentityType "SystemAssigned"

マネージド ID を使用するようにストレージ アカウントを構成する

重要

マネージド ID は、Azure Cache for Redis から永続化またはインポートとエクスポート機能のアカウントにアクセスする前に、ストレージ アカウントで構成する必要があります。 この手順が正しく行われない場合、エラーが表示されるか、データが書き込まれません。

  1. 新しいストレージ アカウントを作成するか、キャッシュ インスタンスに接続する既存のストレージ アカウントを開きます。

  2. [リソース] メニューから [アクセス制御 (IAM)] を開きます。 その後、[追加][ロールの割り当ての追加] の順に選択します。

    [アクセス制御 (IAM)] の設定を示すスクリーンショット。

  3. [ロール] ペインで、ストレージ BLOB データ共同作成者を検索します。 それを選び、[次へ] を選択します。

    [ロールの割り当てを追加] フォームとロールの一覧を示すスクリーンショット。

  4. [メンバー] タブを選択します。[アクセス権の割り当て先][マネージド ID] を選択し、[メンバーの選択] を選びます。 作業ペインの横にサイドバーが表示されます。

    [ロールの割り当てを追加] フォームと [メンバー] ペインを示すスクリーンショット。

  5. [マネージド ID] のドロップダウンを使用して、[ユーザー割り当てマネージド ID] または [システム割り当てマネージド ID] を選択します。 多くのマネージド ID がある場合は、名前で検索できます。 目的のマネージド ID を選んでから、[選択] を選択します。 その後、[レビューと割り当て] をクリックして確定します。

    [マネージド ID] フォームを示すスクリーンショット。[ユーザー割り当てマネージド ID] が指定されています。

  6. [ストレージ BLOB データ共同作成者] の下のストレージ アカウントのロールの割り当てを確認することで、ID が正常に割り当てられているかどうかを確認できます。

    [ストレージ BLOB データ共同作成者] の一覧のスクリーンショット。

Note

"エクスポート" をファイアウォール例外のあるストレージ アカウントで使用するには、次の操作を行う必要があります。

マネージド ID を使用せず、代わりにキーを使用してストレージ アカウントを承認している場合、ストレージ アカウントにファイアウォール例外があると、永続化プロセスとインポート/エクスポート プロセスが中断されます。

マネージド ID を使用してストレージ アカウントにアクセスする

データの永続化でマネージド ID を使用する

  1. ストレージ BLOB データ共同作成者ロールが割り当てられている Azure Cache for Redis インスタンスを開き、[リソース] メニューの [データの永続化] に移動します。

  2. [認証方法][マネージド ID] に変更し、この記事で先ほど構成したストレージ アカウントを選択します。 [保存] を選択します。

    [データ永続化] ペインを示すスクリーンショット。[認証方法] が選択されています。

    重要

    システム割り当て ID が有効になっている場合、ID は既定でそれに設定されます。 それ以外の場合は、最初に一覧表示されるユーザー割り当て ID が使用されます。

  3. マネージド ID 認証を使用して、データの永続化バックアップをストレージ アカウントに保存できるようになりました。

    [リソース] メニューの [データのエクスポート] を示すスクリーンショット。

マネージド ID を使用してキャッシュ データをインポートおよびエクスポートする

  1. ストレージ BLOB データ共同作成者ロールが割り当てられている Azure Cache for Redis インスタンスを開き、[管理] の下の [インポート] または [エクスポート] タブに移動します。

  2. データをインポートする場合は、選択した RDB ファイルを保持する BLOB ストレージの場所を選びます。 データをエクスポートする場合は、目的の BLOB 名プレフィックスとストレージ コンテナーを入力します。 どちらの場合も、マネージド ID アクセス用に構成したストレージ アカウントを使用する必要があります。

    [マネージド ID] が選択された画面のスクリーンショット。

  3. [認証方法] で、[マネージド ID] を選択し、[インポート] または [エクスポート] をそれぞれ選択します。

注意

データのインポートまたはエクスポートには数分かかります。

重要

エクスポートまたはインポートに失敗した場合は、ストレージ アカウントが、キャッシュのシステム割り当てまたはユーザー割り当て ID で構成されていることを再度確認します。 システム割り当て ID が有効になっている場合、使用される ID は既定でそれに設定されます。 それ以外の場合は、最初に一覧表示されるユーザー割り当て ID が使用されます。