

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# CSE-CUSTOM の設定
<a name="emr-s3a-cse-custom"></a>

CSE-CUSTOM を使用するには、「[Keyring](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/choose-keyring.html)」インターフェイスを実装してカスタムキープロバイダーを作成する必要があります。次に示すのは実装のサンプルです:

```
public class CustomKeyring implements Keyring {
  public CustomKeyring()  {
    // custom code
  }

  @Override
  public EncryptionMaterials onEncrypt(EncryptionMaterials encryptionMaterials) {
    // custom code
  }

  @Override
  public DecryptionMaterials onDecrypt(DecryptionMaterials decryptionMaterials,
      ListEncryptedDataKey list) {
    // custom code
  }
```

クライアント側の暗号化カスタムキー (CSE-CUSTOM) は、以下の 2 つのプライマリスコープで有効にできます。
+ 最初のスコープはクラスター全体の設定です。

  ```
  [
    {
      "Classification":"core-site",
      "Properties": {
         "fs.s3a.encryption.algorithm": "CSE-CUSTOM",
         "fs.s3a.cse.customKeyringProvider.uri":"S3 path of custom jar",
         "fs.s3a.encryption.cse.custom.keyring.class.name":"fully qualified class name"
      }
    }
  ]
  ```
+ 2 つ目は、ジョブまたはアプリケーション固有の設定です。CSE-CUSTOM は、特定の Spark アプリケーション用に以下のように設定できます。

  ```
  spark-submit --conf spark.hadoop.fs.s3a.encryption.algorithm=CSE-CUSTOM --conf spark.hadoop.fs.s3a.encryption.cse.custom.keyring.class.name=fully qualified class name
  ```
**注記**  
暗号化/復号キーの生成に必要なカスタム jar がクラスパスに存在することを確認します。