Microsoft Entra ID を使用して Azure App Configuration にアクセスする
Azure App Configuration では、Microsoft Entra ID を使用した App Configuration ストアへの要求の認可がサポートされています。 Microsoft Entra ID を使用すると、Azure ロールベースのアクセス制御 (Azure RBAC) を利用して、ユーザー プリンシパル、マネージド ID、またはサービス プリンシパルになり得るセキュリティ プリンシパルにアクセス許可を付与することができます。
概要
Microsoft Entra ID を使用して App Configuration ストアにアクセスするには、次の 2 つの手順が必要です:
認証: App Configuration の Microsoft Entra ID からセキュリティ プリンシパルのトークンを取得します。 詳細については、「App Configuration」の「Microsoft Entra 認証」を参照してください。
認可: 要求の一部としてトークンを App Configuration ストアに渡します。 指定した App Configuration ストアへのアクセスを承認するには、セキュリティ プリンシパルに適切なロールを事前に割り当てる必要があります。 詳細については、「App Configuration」の「Microsoft Entra 認可」を参照してください。
Azure App Configuration 用の Azure 組み込みロール
Azure には、Microsoft Entra ID を使って App Configuration データへのアクセスを認可するために、次の Azure 組み込みロールが用意されています:
データ プレーン アクセス
データ プレーン操作の要求は、App Configuration ストアのエンドポイントに送信されます。 これらの要求は、App Configuration データに関連します。
- App Configuration データ所有者: このロールを使用して、App Configuration データへの読み取り、書き込み、削除のアクセス権を付与します。 このロールには、App Configuration リソースへのアクセスは許可されません。
- App Configuration データ閲覧者: このロールを使用して、App Configuration データへの読み取りアクセス権を付与します。 このロールには、App Configuration リソースへのアクセスは許可されません。
コントロール プレーン アクセス
コントロール プレーン操作に対するすべての要求は、Azure Resource Manager の URL に送信されます。 これらの要求は、App Configuration リソースに関連します。
- アプリ構成共同作成者: このロールを使用して、App Configuration リソースのみを管理します。 このロールでは、他の Azure リソースを管理するためのアクセス権は付与されません。 これは、リソースのアクセス キーへのアクセスを許可します。 App Configuration データにはアクセス キーを使ってアクセスできますが、このロールでは Microsoft Entra ID を使用したデータへの直接アクセスは許可されません。 削除された App Configuration リソースを復旧するためのアクセス権を付与しますが、消去することはできません。 削除された App Configuration リソースを消去するには、共同作成者ロールを使用します。
- アプリ構成閲覧者: このロールを使用して、App Configuration リソースのみを読み取ります。 このロールは、他の Azure リソースの読み取りアクセス権を付与しません。 これにより、リソースのアクセス キーへのアクセスと、App Configuration に格納されているデータへのアクセスは許可されません。
- 共同作成者または所有者: このロールを使用して App Configuration リソースを管理すると同時に、他の Azure リソースを管理することもできます。 このロールは特権管理者ロールです。 これは、リソースのアクセス キーへのアクセスを許可します。 App Configuration データにはアクセス キーを使ってアクセスできますが、このロールでは Microsoft Entra ID を使用したデータへの直接アクセスは許可されません。
- 閲覧者: このロールを使用して App Configuration リソースを読み取り、他の Azure リソースを読み取ることもできます。 このロールには、リソースのアクセス キーへのアクセスと、App Configuration に格納されているデータへのアクセスは許可されません。
Note
ロール割り当てが ID に対して行われた後、アクセス許可が反映され、この ID を使用して App Configuration に格納されているデータにアクセスできるまで最大 15 分をみてください。
トークン資格情報による認証
アプリケーションが Microsoft Entra ID で認証できるようにするには、Azure ID ライブラリで Microsoft Entra ID 認証のさまざまなトークン資格情報がサポートされています。 たとえば、Visual Studio でアプリケーションを開発する場合には Visual Studio を、アプリケーションが Kubernetes 上で実行されている場合にはワークロード ID 資格情報を、アプリケーションが Azure Functions のような Auzre サービスでデプロイされている場合にはマネージド ID 資格情報を選択する場合があるでしょう。
DefaultAzureCredential の使用
DefaultAzureCredential
は、最も一般的な認証方法の順序付けされたシーケンスを自動的に試行する事前構成済みのトークンのチェーンです。 DefaultAzureCredential
を使用すると、ローカル開発環境と Azure 環境の両方で同じコードを保持できます。 ただし、認可を機能させるために適切なロールを付与する必要があるため、各環境で使用されている資格情報を把握することが重要です。 たとえば、ローカル開発中に DefaultAzureCredential
がユーザー ID にフォールバックすることが予想される場合は、自分のアカウントを承認します。 同様に、Azure Functions でマネージド ID を有効にし、関数アプリが Azure で実行されるときに DefaultAzureCredential
が ManagedIdentityCredential
にフォールバックすることが予想される場合に必要なロールを割り当てます。
App Configuration データ ロールの割り当て
使用する資格情報に関係なく、App Configuration ストアにアクセスする前に適切なロールを割り当てる必要があります。 アプリケーションが App Configuration ストアからデータのみを読み取る必要がある場合は、App Configuration データ閲覧者ロールを割り当てます。 アプリケーションも App Configuration ストアにデータを書き込む必要がある場合は、App Configuration データ所有者ロールを割り当てます。
資格情報に App Configuration Data ロールを割り当てるには、次の手順に従います。
Azure portal で App Configuration ストアに移動し、Access control (IAM) を選択します。
[追加]>[ロールの割り当ての追加] の順に選択します。
ロールを割り当てるためのアクセス許可がない場合は、[ロール割り当ての追加] オプションは無効になります。 ロールを割り当てることができるのは、所有者またはユーザー アクセス管理者ロールを持つユーザーだけです。
[ロール] タブで、App Configuration データ閲覧者ロール (または必要に応じて別のアプリ構成ロール) を選択し、[次へ] を選択します。
[メンバー] タブで、ウィザードに従ってアクセス権を付与する資格情報を選択し、[次へ] を選択します。
最後に、[確認と割り当て] タブで、[確認と割り当て] を選択して、そのロールを割り当てます。