Azure Container Apps でクライアント証明書の認証を構成する

Azure Container Apps は、双方向認証を利用したコンテナー アプリへのアクセスを可能にするクライアント証明書の認証 (相互 TLS または mTLS とも呼ばれます) をサポートしています。 この記事では、Azure Container Apps でクライアント証明書の承認を構成する方法について説明します。

クライアント証明書を使う場合は、TLS 証明書がクライアントとコンテナー アプリの間で交換され、ID の認証とトラフィックの暗号化が行われます。 多くの場合、クライアント証明書は、組織内のクライアント アクセスを承認するための "ゼロ トラスト" セキュリティ モデルで使います。

たとえば、機密データを管理するコンテナー アプリのクライアント証明書を要求できます。

Container Apps は、信頼された証明機関 (CA) によって発行された、または自己署名された PKCS12 形式のクライアント証明書を受け入れます。

クライアント証明書の承認を構成する

コンテナー アプリ テンプレートで clientCertificateMode プロパティを設定して、クライアント証明書のサポートを構成します。

プロパティは以下のいずれかの値に設定することができます:

  • require: コンテナー アプリへのすべての要求でクライアント証明書が必要です。
  • accept: クライアント証明書は省略可能です。 クライアント証明書が指定されていない場合でも、要求は受け入れられます。
  • ignore: クライアント証明書は無視されます。

イングレスを使うと、require または accept が設定されている場合に、クライアント証明書がコンテナー アプリに渡されます。

次の ARM テンプレートの例では、コンテナー アプリへのすべての要求に対してクライアント証明書を要求するようにイングレスを構成します。

{ 
  "properties": {
    "configuration": {
      "ingress": {
        "clientCertificateMode": "require"
      }
    }
  }
}

次のステップ