Management APIでカスタマーマネージドキーを構成する

Auth0は、エンベロープ暗号化キー階層の最上位にあるAuth0環境ルートキーを使用してテナントのシークレットとデータを保護します。 Auth0環境ルートキーと顧客提供ルートキーは、対応するAuth0クラウドサービスプロバイダー、AWS、またはAzureのハードウェアセキュリティモジュール(HSM)に保存されます。

BYOK(Bring Your Own Key)

Bring Your Own Keyを使用すると、キー管理エディターロールのあるユーザーは、Auth0 Management APIを使ってデフォルトのAuth0環境ルートキーを独自の顧客提供ルートキーに置き換えることができます。顧客は独自の暗号化マテリアルを含む独自のルートキーを安全にアップロードして以下を行うことができます。

  • 環境ルートキーのカスタムの鍵の生成および出所の要件を満たす

  • 環境ルートキーの特定の鍵のインストールまたは寿命の要件を満たす

  • 顧客提供ルートキーのコピーを顧客の施設内に保管する

顧客提供ルートキーは、以下の手順に従って、Management APIで作成および管理できます。

  1. 新しい暗号化キーの作成エンドポイントを呼び出して、Bring Your Own Keyのプロセスを開始し、暗号化マテリアルなしで事前にアクティブ化された顧客提供ルートキーのkid(キー識別子)を取得します。

  2. パブリックラッピングキーの作成エンドポイントを呼び出して、パブリックラッピングキーを作成して返します。

  3. 自分の環境で独自の暗号化キーマテリアルを生成し、それをパブリックラッピングキーでラップ(暗号化)して、ラップ暗号化キー(顧客提供ルートキー)を作成します。

  4. 暗号化キーのインポートエンドポイントを呼び出して、顧客提供ルートキーをAuth0にインポートします。

暗号化に必要な情報の要件

貴社のキー管理システムを使って暗号化に必要な独自の情報をパブリックラッピングキーでラッピングし、ラップされた暗号化キーを作成します。Auth0クラウドサービスプロバイダー(AWSまたはAzure)に応じて、CKM_RSA_AES_KEY_WRAPアルゴリズムパラメ―ターに以下の設定を使用します:

AWSクラウド上のAuth0

  • パブリックラッピングキーの長さ3072ビット

  • アルゴリズム:CKG_MGF1_SHA256

  • CKM_AES_KEY_WRAP_PADの一時的なAESキーの長さ:256ビット

  • カスタマーが提供するルートキーのタイプ:256ビット長のAES対称キー

AzureクラウドのAuth0

  • パブリックラッピングキーの長さ2048ビット

  • アルゴリズム:CKG_MGF1_SHA-1

  • CKM_AES_KEY_WRAP_PADの一時的なAESキーの長さ:256ビット

  • 顧客が提供するルートキーのタイプ:2048ビット長のRSA秘密鍵

  • 秘密鍵のエンコーディング:PKCS #8 - ASN.1 DER

権限

以下の権限を使用して、暗号化キーエンドポイントへのアクセス権を提供します。

権限 説明
read:encryption_keys ユーザーはAuth0テナント内で検索してキーを取得できます。これには、/api/v2/keys/encryptionエンドポイント、/api/v2/keys/encryption/{kid}エンドポイントからの読み出しが含まれます。
create:encryption_keys ユーザーは/api/v2/keys/encryptionエンドポイントと/api/v2/keys/encryption/{kid}/wrapping-keyエンドポイントを通して、独自の顧客提供ルートキーと公開ラッピングキーを作成することができます。
delete:encryption_keys ユーザーは /api/v2/keys/encryption/{kid}エンドポイントを通して、独自の顧客提供ルートキーを削除することができます。
update:encryption_keys ユーザーは /api/v2/keys/encryption/{kid}エンドポイントを通して、独自の顧客提供ルートキーをインポートすることができます。

エンドポイント

  • すべての暗号化キーの取得エンドポイントを使用して、既存の現在の環境ルートキーまたは顧客提供ルートキー、およびテナントマスターキーに関する情報を取得します。

  • キーIDによる暗号化キーの取得エンドポイントを使用して、指定したキーに関する情報を取得します。

  • 新しい暗号化キーの作成エンドポイントを使用して、事前にアクティブ化された顧客提供ルートキーのプレースホルダーを作成します。

  • パブリックラッピングキーの作成エンドポイントを使用して、暗号化マテリアルをラップするためのパブリックラッピングキーを取得します。

  • 暗号化キーのインポートエンドポイントを使用して、新しい顧客提供ルートキーのマテリアルをインポートします。

  • キーIDによる暗号化キーの削除エンドポイントを使用して、既存の顧客提供ルートキーを削除し、Bring Your Own Keyの使用をオプトアウトします。Auth0環境ルートキーは、キー階層を再暗号化するために使用されます。この操作が既存のデータや認証フローに悪影響を及ぼすことはありません。