次の方法で共有


Azure Spring Apps のアプリケーションで TLS/SSL 証明書を使用する

Note

BasicStandardEnterprise プランは、2025 年 3 月中旬以降非推奨になり、廃止期間は 3 年間です。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の廃止のお知らせ」を参照してください。

Standard 従量課金と専用プランは、2024 年 9 月 30 日以降に非推奨になり、6 か月後に完全にシャットダウンされます。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の Standard 従量課金および専用プランを Azure Container Apps に移行する」を参照してください。

この記事の適用対象:✅ Basic/Standard ✅ Enterprise

この記事では、Azure Spring Apps で公開証明書をアプリケーションに使用する方法について説明します。 アプリはクライアントとして、証明書認証を必要とする外部サービスにアクセスすることがあるほか、暗号タスクを実行しなければならない場合もあります。

Azure Spring Apps の TLS/SSL 証明書の管理機能を使用すれば、証明書とアプリケーション コードを分離して管理し、機密データを保護できます。 アプリ コードは、Azure Spring Apps インスタンスに追加した公開証明書にアクセスできます。

前提条件

証明書のインポート

Azure Spring Apps インスタンスに証明書をインポートするには、Key Vault から行うか、ローカルの証明書ファイルを使用するかを選ぶことができます。

Key Vault から証明書をインポートする

証明書をインポートする前に、次のようにして Azure Spring Apps にキー コンテナーへのアクセス権を付与する必要があります。

Azure Key Vault には 2 つの認可システムが用意されています。Azure の管理およびデータ プレーンで動作する Azure ロールベースのアクセス制御 (Azure RBAC) と、データ プレーンでのみ動作するアクセス ポリシー モデルです。

アクセスを付与するには、次の手順を使用します:

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

  2. [キー コンテナー] を選択してから、証明書のインポート元となるキー コンテナーを選択します。

  3. ナビゲーション ウィンドウで [アクセス ポリシー] を選択し、[作成] を選択します。

  4. [証明書のアクセス許可] を選択し、次に [取得][一覧表示] を選択します。

    アクセス許可ペインが表示され、[アクセス許可の取得とリスト] が強調表示されている Azure portal の [アクセス ポリシーの作成] ページが示されたスクリーンショット。

  5. [プリンシパル] で、[Azure Spring Cloud リソース プロバイダー] を選択します。

    [アクセス ポリシーの作成] ページの [プリンシパル] タブが表示され、Azure Spring Cloud リソース プロバイダーが強調表示されている Azure portal のスクリーンショット。

  6. [確認および作成] を選択し、 [作成] を選択します。

キー コンテナーへのアクセス権を付与したら、次の手順を使用して証明書をインポートできます:

  1. サービス インスタンスに移動します。

  2. インスタンスの左側のナビゲーション ウィンドウで、[TLS/SSL の設定] を選択します。

  3. [公開キー証明書][Key Vault 証明書のインポート] を選択します。

  4. [キー コンテナー] セクションでキー コンテナー を選択し、[証明書] セクションで証明書を選択し、その後 [選択] を選択します。

  5. [証明書名] の値を 指定し、必要に応じて [自動同期を有効にする] を選択し、その後 [適用] を選択します。 詳細については、「既存のカスタム ドメインを Azure Spring Apps にマップする」の「自動同期証明書」セクションを参照してください。

証明書が正常にインポートされた後、公開キー証明書の一覧に表示されます。

Note

Azure Key Vault インスタンスと Azure Spring Apps インスタンスは、同じテナント内に存在する必要があります。

ローカルの証明書ファイルをインポートする

次の手順を使用して、ローカルに格納されている証明書ファイルをインポートできます。

  1. サービス インスタンスに移動します。
  2. インスタンスの左側のナビゲーション ウィンドウで、[TLS/SSL の設定] を選択します。
  3. [公開キー証明書] セクションで [公開証明書のアップロード] を選択します。

証明書が正常にインポートされた後、公開キー証明書の一覧に表示されます。

証明書を読み込む

証明書を Azure Spring Apps のアプリケーションに読み込むには、以下の手順から始めます。

  1. アプリケーション インスタンスに移動します。
  2. アプリの左側のナビゲーション ウィンドウで、[証明書管理] を選択します。
  3. [証明書の追加] を選択して、アプリでアクセス可能な証明書を選択します。

[証明書の追加] ボタンが強調表示された [証明書の管理] ページを示す Azure portal のスクリーンショット。

コードから証明書を読み込む

読み込まれた証明書は、/etc/azure-spring-cloud/certs/public にあります。 次の Java コードを使用して、Azure Spring Apps のアプリケーションに公開証明書を読み込みます。

CertificateFactory factory = CertificateFactory.getInstance("X509");
FileInputStream is = new FileInputStream("/etc/azure-spring-cloud/certs/public/<certificate name>");
X509Certificate cert = (X509Certificate) factory.generateCertificate(is);

// use the loaded certificate

証明書を信頼ストアに読み込む

Java アプリケーションの場合は、選択した証明書の [Load into trust store]\(信頼ストアに読み込む\) を選択することができます。 証明書は、TLS/SSL 認証でサーバーを認証するために、Java の既定の TrustStores に自動的に追加されます。

以下のアプリのログは、証明書が正常に読み込まれたことを示しています。

Load certificate from specific path. alias = <certificate alias>, thumbprint = <certificate thumbprint>, file = <certificate name>

次のステップ