ストレージのマネージド ID (プレビュー)

マネージド ID は、開発者がシークレットとログイン情報を管理する負担を最小限に抑えるのに役立つ、Azure で使用される一般的なツールです。 マネージド ID は、Azure サービスが相互に接続されている場合に便利です。 各サービス間で承認を管理する代わりに、Azure Active Directory (Azure AD) を使用して、認証プロセスをより合理的で安全なものにするマネージド 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 の種類を既存のキャッシュに追加できます。

前提条件と制限事項

マネージド ID を使用するには、Premium レベルのキャッシュが必要です。

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

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

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

    注意

    マネージド ID 機能は、Premium レベルでのみ使用できます。

    create a premium azure cache

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

    Advanced page of the form

  4. 作成プロセスを完了します。 キャッシュが作成およびデプロイされたら、それを開き、左側の [設定] セクションの下にある [(プレビュー) ID] タブを選択します。

    (Preview) Identity in the Resource menu

  5. システム割り当てオブジェクト ID がキャッシュ ID に割り当てられているのがわかります。

    System assigned resource settings for identity

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

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

    注意

    マネージド ID 機能は、Premium レベルでのみ使用できます。

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

    System assigned identity status is on

  3. キャッシュが Azure Active Directory に登録されることと、Azure AD によって保護されているリソースにアクセスするためのアクセス許可を付与できることを示すダイアログがポップアップ表示されます。 [はい] を選択します。

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

    new Object principal ID shown for system assigned identity

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

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

    注意

    マネージド ID 機能は、Premium レベルでのみ使用できます。

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

    User assigned identity status is on

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

    注意

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

    new Object principal ID shown for user assigned identity

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

    list of identity names

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)] を開きます。 その後、[追加][ロールの割り当ての追加] の順に選択します。

    access control (iam) settings

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

    add role assignment form with list of roles

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

    add role assignment form with members pane

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

    select managed identities form pop up

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

    storag blob data contributor list

注意

システム割り当て ID を使用してストレージ BLOB データ共同作成者として Azure Cache for Redis インスタンスを追加すると、便宜上、キャッシュ インスタンスが信頼されたサービスの一覧に追加され、ファイアウォール例外の実装がより簡単になります。

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

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

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

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

    data persistence pane with authentication method selected

    重要

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

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

    export data in resource menu

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

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

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

    export data from the resource menu

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

注意

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

重要

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

次の手順