次の方法で共有


Azure 上の Python アプリの ID とアクセス管理

Azure では、Python アプリケーションの ID とアクセス管理 (IAM) には、次の 2 つの重要な概念が含まれます。

  • 認証: ユーザー、グループ、サービス、またはアプリケーションの ID の確認
  • 承認: Id が Azure リソースに対して実行できるアクションを決定する

Azure には、アプリケーションのセキュリティ要件に合わせて複数の IAM オプションが用意されています。 この記事には、作業の開始に役立つ重要なリソースへのリンクが含まれています。

詳細については、「 ID とアクセスの管理に関する推奨事項」を参照してください。

パスワードレス接続

可能な限り、マネージド ID を使用して ID 管理を簡素化し、セキュリティを強化することをお勧めします。 マネージド ID ではパスワードレス認証がサポートされるため、コードや環境変数に機密性の高い資格情報 (パスワードやクライアント シークレットなど) を埋め込む必要がなくなります。 マネージド ID は、App Service、Azure Functions、Azure Container Apps などの Azure サービスで使用できます。 これにより、アプリケーションは資格情報を管理しなくても Azure サービスに対して認証できます。

次のリソースは、 DefaultAzureCredential を使用したパスワードレス認証で Azure SDK for Python を使用する方法を示しています。 DefaultAzureCredential は、複数の資格情報の種類を安全でインテリジェントな順序で連結することで、ローカルの開発環境と運用環境の両方をシームレスにサポートするため、Azure で実行されているほとんどのアプリケーションに最適です。

サービスコネクタ

Python アプリケーションでよく使用される Azure リソースの多くは、 Service Connector をサポートしています。 Service Connector は、Azure サービス間のセキュリティで保護された接続を構成するプロセスを効率化します。 これにより、コンピューティング サービス (App Service や Container Apps など) と依存サービス (Azure Storage、Azure SQL、Cosmos DB など) の間の認証、ネットワーク アクセス、接続文字列の設定が自動化されます。 これにより、手動の手順が減り、ベスト プラクティス (マネージド ID やプライベート エンドポイントの使用など) が適用され、デプロイの一貫性とセキュリティが向上します。

Key Vault (キー・ボールト)

Azure Key Vault などのキー管理ソリューションを使用すると、管理の複雑さが増しますが、シークレットと資格情報をより高度に制御できます。

アプリでユーザーをサインインするための認証と ID

ユーザーが Microsoft ID (Azure AD アカウントなど) または外部ソーシャル アカウント (Google や Facebook など) でサインインできるようにする Python アプリケーションを開発できます。 認証されると、アプリは、ユーザー プロファイル、予定表、電子メールなどのリソースを操作するために、ユーザーが独自の API または Microsoft Graph などの Microsoft API にアクセスすることを承認できます。