> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Management API を使用して、お客様提供のルートキーをインポートして有効化し、Auth0 テナントの Customer Managed Keys (BYOK) を有効化して設定します。

# Management API を使用して Customer Managed Keys を設定する

Auth0 は、エンベロープ暗号化のキー階層の最上位にある Auth0 Environment Root Key を使用して、テナントのシークレットとデータを保護します。 Auth0 Environment Root Key と お客様提供のルートキー は、対応する Auth0 Cloud Service Provider (AWS または Azure) のハードウェアセキュリティモジュール (HSM) に保存されます。

<div id="bring-your-own-key">
  ## Bring Your Own Key
</div>

Bring Your Own Key を使用すると、[Key Management Editor role](/docs/ja-jp/get-started/manage-dashboard-access/add-dashboard-users) を持つユーザーは、[Auth0 Management API](https://auth0.com/docs/api/management/v2) を使って、デフォルトの Auth0 Environment Root Key を独自の お客様提供のルートキー に置き換えることができます。お客様は、自身の暗号化マテリアルを含む独自の Root Key を安全にアップロードすることで、次のことを実現できます。

* Environment Root Key に関する独自のキー生成要件および来歴要件を満たす
* Environment Root Key に関する特定のキー導入要件または有効期間要件を満たす
* お客様提供のルートキー のコピーを自社施設内に保管する。

<Warning>
  Bring Your Own Key で独自の お客様提供のルートキー をインポートすると、その削除を除き、お客様提供のルートキー のライフサイクル管理を Auth0 に委ねないことを暗黙的に意味します。
</Warning>

次の手順に従って、<Tooltip tip="Management API: お客様が管理タスクを実行できるようにする製品。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=Management+API">Management API</Tooltip> を使用して お客様提供のルートキー を作成および管理できます。

1. [Create the new encryption key](https://auth0.com/docs/api/management/v2/keys/post-encryption) エンドポイントを呼び出して Bring Your Own Key のプロセスを開始し、暗号化マテリアルを持たない、事前に有効化された お客様提供のルートキー の `kid` (キー識別子) を取得します。

   <Callout icon="file-lines" color="#0EA5E9" iconType="regular">
     このエンドポイントは、キーの一意の識別子である kid 値を返します。
   </Callout>
2. [Create the public wrapping key](https://auth0.com/docs/api/management/v2/keys/post-encryption-wrapping-key) エンドポイントを呼び出して、公開ラッピングキーを作成し、返します。
3. お使いの環境で独自の暗号化キー マテリアルを生成し、それを公開ラッピングキーでラップ (暗号化) して、Wrapped Encryption Key (お客様提供のルートキー) を作成します。
4. [Import the encryption key](https://auth0.com/docs/api/management/v2/keys/post-encryption-key) エンドポイントを呼び出して、お客様提供のルートキー を Auth0 にインポートします。

<div id="cryptographic-material-requirements">
  ## 暗号化マテリアルの要件
</div>

キー管理システムを使用して、公開ラッピングキーで独自の暗号化マテリアルをラップし、Wrapped Encryption Key を作成します。Auth0 Cloud Service Provider (AWS または Azure) に応じて、[CKM\_RSA\_AES\_KEY\_WRAP](https://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226894) アルゴリズムのパラメーターには次の設定を使用してください。

<div id="auth0-on-aws-cloud">
  ### AWS クラウド上の Auth0
</div>

* 公開ラッピングキーの長さ: 3072 ビット
* アルゴリズム: CKG\_MGF1\_SHA256
* CKM\_AES\_KEY\_WRAP\_PAD 用の一時 AES キーの長さ: 256 ビット
* お客様提供のルートキーの種類: 256 ビット長の AES 対称キー

<div id="auth0-on-azure-cloud">
  ### Azure クラウド上の Auth0
</div>

* 公開ラッピングキーの長さ: 2048 ビット
* アルゴリズム: CKG\_MGF1\_SHA-1
* CKM\_AES\_KEY\_WRAP\_PAD 用の一時 AES キーの長さ: 256 ビット
* お客様提供のルートキー の種類: 2048 ビット長の RSA 秘密キー
* 秘密キーのエンコーディング: PKCS #8 - ASN.1 DER

<div id="permissions">
  ## Permissions
</div>

暗号化キーのエンドポイントへのアクセスを許可するには、以下の権限を使用します。

| Permissions              | 説明                                                                                                                              |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
| `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}` エンドポイントを通じて、独自の お客様提供のルートキー をインポートできます。                                                   |

<div id="endpoints">
  ## エンドポイント
</div>

* 既存の Environment Root Key または お客様提供のルートキー、ならびに Tenant Master Key に関する情報を取得するには、[Get all encryption keys](https://auth0.com/docs/api/management/v2/keys/get-encryption-keys) エンドポイントを使用します。
* 指定したキーに関する情報を取得するには、[Get the encryption key by its key id](https://auth0.com/docs/api/management/v2/keys/get-encryption-key) エンドポイントを使用します。
* 事前に有効化された お客様提供のルートキー のプレースホルダーを作成するには、[Create the new encryption key](https://auth0.com/docs/api/management/v2/keys/post-encryption) エンドポイントを使用します。
* 暗号化マテリアルをラップするための公開ラッピングキーを取得するには、[Create the public wrapping key](https://auth0.com/docs/api/management/v2/keys/post-encryption-wrapping-key) エンドポイントを使用します。
* 新しい お客様提供のルートキー のキーマテリアルをインポートするには、[Import the encryption key](https://auth0.com/docs/api/management/v2/keys/post-encryption-key) エンドポイントを使用します。
* 既存の お客様提供のルートキー を削除し、Bring Your Own Key の使用を停止するには、[Delete the encryption key by its key id](https://auth0.com/docs/api/management/v2/keys/delete-encryption-key) エンドポイントを使用します。キー階層の再暗号化には Auth0 Environment Root Key が使用されます。この操作によって既存のデータや認証フローに悪影響が及ぶことはありません。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  テナントで Customer Managed Keys 機能が有効になっていない場合、API エンドポイントを呼び出すと、次のエラーが返されます: `This feature is not enabled for this tenant`.
</Callout>
