

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

# AWS Encryption SDK CLI 構文とパラメータリファレンス
<a name="crypto-cli-reference"></a>

このトピックでは、 AWS Encryption SDK コマンドラインインターフェイス (CLI) の使用に役立つ構文の例を示し、パラメータについて簡単に説明します。ラッピングキーおよびその他のパラメータのヘルプについては、「[Encryption AWS CLI の使用方法](crypto-cli-how-to.md)」を参照してください。例については「[Encryption AWS CLI の例](crypto-cli-examples.md)」を参照してください。完全なドキュメントについては、「[ドキュメントを読む](https://aws-encryption-sdk-cli.readthedocs.io/en/latest/)」を参照してください。

**Topics**
+ [AWS 暗号化 CLI 構文](#crypto-cli-syntax)
+ [AWS Encryption CLI コマンドラインパラメータ](#crypto-cli-parameters)
+ [高度なパラメータ](#cli-advanced-parameters)

## AWS 暗号化 CLI 構文
<a name="crypto-cli-syntax"></a>

これらの AWS Encryption CLI 構文図は、 AWS Encryption CLI で実行する各タスクの構文を示しています。Encryption CLI AWS バージョン 2.1.*x* 以降の推奨構文を表します。

新しいセキュリティ機能は、もともと AWS Encryption CLI バージョン 1.7.*x* および 2.0.*x* でリリースされました。ただし、 AWS Encryption CLI バージョン 1.8.*x* はバージョン 1.7.*x* AWS に置き換わり、Encryption CLI 2.1.*x* は 2.0.*x* に置き換わります。詳細については、GitHub の [aws-encryption-sdk-cli](https://github.com/aws/aws-encryption-sdk-cli/) リポジトリで関連する[セキュリティアドバイザリ](https://github.com/aws/aws-encryption-sdk-cli/security/advisories/GHSA-2xwp-m7mq-7q3r)を参照してください。

**注記**  
パラメータの説明に記載されている場合を除き、各パラメータまたは属性は、各コマンドで 1 回のみ使用できます。  
パラメータがサポートしていない属性を使用する場合、Encryption AWS CLI はそのサポートされていない属性を警告やエラーなしで無視します。

**ヘルプの表示**  
パラメータの説明を含む完全な AWS Encryption CLI 構文を取得するには、 `--help`または を使用します`-h`。  

```
aws-encryption-cli (--help | -h)
```

**バージョンの取得**  
Encryption CLI AWS インストールのバージョン番号を取得するには、 を使用します`--version`。Encryption CLI AWS の使用に関する質問、問題の報告、ヒントの共有を行う場合は、必ず バージョンを含めてください。  

```
aws-encryption-cli --version
```

**データを暗号化する**  
次の構文の例は、**encrypt** コマンドで使用するパラメータを示しています。  

```
aws-encryption-cli --encrypt
                   --input <input> [--recursive] [--decode]
                   --output <output> [--interactive] [--no-overwrite] [--suffix [<suffix>]] [--encode]
                   --wrapping-keys  [--wrapping-keys] ...
                       key=<keyID> [key=<keyID>] ...
                       [provider=<provider-name>] [region=<aws-region>] [profile=<aws-profile>]
                   --metadata-output <location> [--overwrite-metadata] | --suppress-metadata]
                   [--commitment-policy <commitment-policy>]
                   [--encryption-context <encryption_context> [<encryption_context> ...]]
                   [--max-encrypted-data-keys <integer>]
                   [--algorithm <algorithm_suite>]
                   [--caching <attributes>] 
                   [--frame-length <length>]
                   [-v | -vv | -vvv | -vvvv]
                   [--quiet]
```

**データを復号化する**  
次の構文の例は、**decrypt** コマンドで使用するパラメータを示しています。  
バージョン 1.8.*x* では、復号時の `--wrapping-keys` パラメータはオプションですが推奨されます。バージョン 2.1.*x* 以降は、`--wrapping-keys` パラメータが暗号化および復号化時に必要となります。 AWS KMS keysの場合、**key** 属性を使用してラッピングキーを指定するか (ベストプラクティス)、**discovery** 属性を `true` に設定して、 AWS Encryption CLI が使用できるラッピングキーを制限しません。  

```
aws-encryption-cli --decrypt (or [--decrypt-unsigned]) 
                   --input <input> [--recursive] [--decode]
                   --output <output> [--interactive] [--no-overwrite]  [--suffix [<suffix>]] [--encode]           
                   --wrapping-keys  [--wrapping-keys] ...
                       [key=<keyID>] [key=<keyID>] ...
                       [discovery={true|false}] [discovery-partition=<aws-partition-name> discovery-account=<aws-account-ID> [discovery-account=<aws-account-ID>] ...] 
                       [provider=<provider-name>] [region=<aws-region>] [profile=<aws-profile>]
                   --metadata-output <location> [--overwrite-metadata] | --suppress-metadata]
                   [--commitment-policy <commitment-policy>]
                   [--encryption-context <encryption_context> [<encryption_context> ...]]
                   [--buffer]
                   [--max-encrypted-data-keys <integer>]
                   [--caching <attributes>]
                   [--max-length <length>]
                   [-v | -vv | -vvv | -vvvv]
                   [--quiet]
```

**設定ファイルの使用**  
パラメータとその値が格納されている設定ファイルを参照できます。これは、コマンドでパラメータと値を入力するのに相当します。例については、[設定ファイルにパラメータを保存する方法](crypto-cli-how-to.md#crypto-cli-config-file)を参照してください。  

```
aws-encryption-cli @<configuration_file>

# In a PowerShell console, use a backtick to escape the @.
aws-encryption-cli `@<configuration_file>
```

## AWS Encryption CLI コマンドラインパラメータ
<a name="crypto-cli-parameters"></a>

このリストには、Encryption AWS CLI コマンドパラメータの基本的な説明が記載されています。詳細な説明については、[aws-encryption-sdk-cli のドキュメント](http://aws-encryption-sdk-cli.readthedocs.io/en/latest/)を参照してください。

**--encrypt (-e)**  
入力データを暗号化します。すべてのコマンドに、`--encrypt`、`--decrypt`、`--decrypt-unsigned` パラメータのいずれかが必要です。

**--decrypt (-d)**  
入力データを復号します。すべてのコマンドに、`--encrypt`、`--decrypt`、`--decrypt-unsigned` パラメータのいずれかが必要です。

**—decrypt-unsigned [バージョン 1.9.*x* および 2.2.*x* で導入]**  
`--decrypt-unsigned` パラメータでは、暗号化テキストを復号し、復号化前にメッセージが署名なしであることを確認します。このパラメータは、`--algorithm` パラメータを使用し、データを暗号化するためのデジタル署名なしのアルゴリズムスイートを選択した場合に使用します。暗号化テキストが署名されている場合、復号化は失敗します。  
`--decrypt` または `--decrypt-unsigned` を復号化に使用できますが、両方とも使用することはできません。

**—wrapping-keys (-w) [バージョン 1.8.*x* で導入]**  <a name="wrapping-keys"></a>
暗号化と復号のオペレーションで使用される[ラッピングキー](concepts.md#master-key) (*マスターキー*) を指定します。各コマンドで[複数の `--wrapping-keys` パラメータ](crypto-cli-how-to.md#cli-many-cmks)を使用できます。  
バージョン 2.1.x 以降は、`--wrapping-keys` パラメータが暗号化コマンドおよび復号化コマンド時に必要となります。バージョン 1.8.x では、暗号化コマンドには `--wrapping-keys` または `--master-keys` パラメーターが必要です。バージョン 1.8.*x* の復号化のコマンドでは、`--wrapping-keys` パラメータはオプションですが推奨されます。  
カスタムのマスターキープロバイダーを使用するとき、暗号化と復号のコマンドでは、**key** および **provider** 属性が必須です。を使用する場合 AWS KMS keys、暗号化コマンドには **key** 属性が必要です。復号コマンドでは、`true` 値の **key** 属性、または **discovery** 属性が必要です（両方ではない)。復号時に **key** 属性を使用することが、[AWS Encryption SDK のベストプラクティス](best-practices.md)です。Amazon S3 バケットや Amazon SQS キュー内のメッセージなど、なじみのないメッセージのバッチを復号化する場合は、これが特に重要です。  
 AWS KMS マルチリージョンキーをラッピングキーとして使用する方法の例については、「」を参照してください[マルチリージョンの使用 AWS KMS keys](configure.md#config-mrks)。  
**属性**: `--wrapping-keys` パラメータの値は、以下の属性で構成されます。形式は `attribute_name=value` です。    
**key**  
オペレーションで使用するラッピングキーを識別します。形式は、**key**=ID のペアです。各 `--wrapping-keys` パラメータ値に、複数の **key** 属性を指定できます。  
+ **暗号化コマンド**: すべての暗号化コマンドには **key** 属性が必要です。暗号化コマンド AWS KMS key で を使用する場合、**キー**属性の値は、キー ID、キー ARN、エイリアス名、またはエイリアス ARN です。 AWS KMS キー識別子の詳細については、「 *AWS Key Management Service デベロッパーガイド*」の[「キー識別子](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id)」を参照してください。
+ **復号コマンド**: AWS KMS keysで復号する場合、`--wrapping-keys` パラメータでは **key** 属性を[キー ARN](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN) にするか、**discovery** 属性を `true` にする必要があります (両方ではない)。**key** 属性を使用することが、[AWS Encryption SDK のベストプラクティス](best-practices.md)です。カスタムのマスターキープロバイダーで復号化する場合、**key** 属性は必須です。
**注記**  
復号コマンドで AWS KMS ラッピングキーを指定するには、**key** 属性の値がキー ARN である必要があります。キー ID、エイリアス名、またはエイリアス ARN を使用する場合、Encryption AWS CLI はラッピングキーを認識しません。
各 `--wrapping-keys` パラメータ値に、複数の **key** 属性を指定できます。ただし、`--wrapping-keys` パラメータの **provider**、**region**、**profile** 属性は、そのパラメータ値のすべてのラッピングキーに適用されます。異なる属性値を持つラッピングキーを指定するには、コマンドで複数の `--wrapping-keys` パラメータを使用します。  
**discovery**  
 AWS Encryption CLI が任意の AWS KMS key を使用してメッセージを復号できるようにします。**discovery** の値は、`true` または `false` にすることができます。デフォルト値は `false` です。**discovery** 属性は、復号コマンドで、マスターキープロバイダーが AWS KMSのときにのみ有効です。  
で復号する場合 AWS KMS keys、 `--wrapping-keys`パラメータには**キー**属性または の値を持つ**検出**属性が必要です `true` (両方ではありません）。**key** 属性を使用する場合は、**discovery** 属性を `false` にして、検出を明示的に拒否できます。  
+ `False` (デフォルト) — discovery **** 属性が指定されていないか、その値が の場合`false`、 AWS Encryption CLI は `--wrapping-keys`パラメータの **key** 属性で AWS KMS keys 指定された のみを使用してメッセージを復号します。discovery を `false` にして **key** 属性を指定しないと、復号コマンドは失敗します。この値は Encryption AWS CLI [のベストプラクティス](best-practices.md)をサポートしています。
+ `True` — discovery **** 属性の値が の場合`true`、Encryption AWS CLI は暗号化されたメッセージのメタデータ AWS KMS keys から AWS KMS keys を取得し、それらを使用してメッセージを復号します。の値を持つ**検出**属性`true`は、復号時にラッピングキーを指定できなかったバージョン 1.8.*x* より前のバージョンの AWS Encryption CLI のように動作します。ただし、 を使用する意図 AWS KMS key は明示的です。discovery を `true` にして **key** 属性を指定すると、復号コマンドは失敗します。

  この`true`値を指定する AWS アカウント と、Encryption AWS CLI がさまざまな および リージョン AWS KMS keys で を使用するか、ユーザーが使用する権限がない AWS KMS keys を使用しようとする可能性があります。
**discovery** が の場合`true`、**discovery-partition** 属性と **discovery-account** 属性を使用して、 AWS KMS keys 使用する を AWS アカウント 指定した 内のものに制限するのがベストプラクティスです。  
**discovery-account**  
復号 AWS KMS keys に使用する を、指定された 内のものに制限します AWS アカウント。この属性で有効な値は [AWS アカウント ID](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) のみです。  
この属性はオプションであり、**discovery** 属性 AWS KMS keys が に設定`true`され、**discovery-partition** 属性が指定されている 復号コマンドでのみ有効です。  
各 **discovery-account** 属性は 1 つの AWS アカウント ID のみを取りますが、同じ`--wrapping-keys`パラメータで複数の **discovery-account** 属性を指定できます。特定の `--wrapping-keys` パラメータで指定するすべてのアカウントは、指定した AWS パーティション内に存在する必要があります。  
**discovery-partition**  
**discovery-account** 属性のアカウントの AWS パーティションを指定します。その値は、、`aws`、 `aws-cn`などの AWS パーティションである必要があります`aws-gov-cloud`。詳細については、「AWS 全般のリファレンス」の「[Amazon リソースネーム](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arns-syntax)」を参照してください。  
この属性は、**discovery-account** 属性を使用するとき必須です。各 `--wrapping keys` パラメータに指定できる **discovery-partition** パーティションは 1 つだけです。複数のパーティション AWS アカウント で を指定するには、追加の `--wrapping-keys` パラメータを使用します。  
**provider**  
[マスターキープロバイダー](concepts.md#master-key-provider)を指定します。形式は、**provider**=ID のペアです。デフォルト値の **aws-kms** は を表します AWS KMS。この属性は、マスターキープロバイダーがそうでない場合にのみ必要です AWS KMS。  
**リージョン**  
 AWS リージョン の を識別します AWS KMS key。この属性は に対してのみ有効です AWS KMS keys。**key** の識別子が特定のリージョンを示していない場合にのみ使用され、それ以外の場合は無視されます。これを使用すると、 AWS CLI 名前付きプロファイルのデフォルトリージョンが上書きされます。  
**profile**  
 AWS CLI [名前付きプロファイル](https://docs.aws.amazon.com/cli/latest/userguide/cli-multiple-profiles.html)を識別します。この属性は に対してのみ有効です AWS KMS keys。プロファイルのリージョンは、key の識別子が特定のリージョンを示しておらず、コマンドに **region** 属性がない場合にのみ使用されます。

**--input (-i)**  
暗号化または復号するデータの場所を指定します。このパラメータは必須です。指定できる値は、ファイルかディレクトリへのパス、またはファイル名のパターンです。コマンド (stdin) にパイピング入力する場合は、`-` を使用します。  
入力が存在しない場合、エラーまたは警告なしでコマンドが正常に完了します。    
**--recursive (-r, -R)**  
入力ディレクトリとそのサブディレクトリにあるファイルでオペレーションを実行します。このパラメータは、`--input` の値がディレクトリの場合に必要です。  
**--decode**  
Base64-encoded 入力をデコードします。  
暗号化されエンコードされたメッセージを復号する場合は、復号する前にメッセージをデコードする必要があります。これはパラメータによって実行されます。  
たとえば、暗号化コマンドで `--encode` パラメータを使用した場合、対応する復号コマンドで `--decode` パラメータを使用します。また、このパラメータを使用して、Base64 でエンコードされた入力を暗号化する前にデコードすることもできます。

**--output (-o)**  
出力先を指定します。このパラメータは必須です。値には、既存のディレクトリ、ファイル名、またはコマンドライン (stdout) に出力を書き込む `-` を使用できます。  
指定した出力ディレクトリが存在しない場合、コマンドは失敗します。入力にサブディレクトリが含まれている場合、Encryption AWS CLI は指定した出力ディレクトリの下にサブディレクトリを再現します。  
デフォルトでは、Encryption AWS CLI は同じ名前のファイルを上書きします。この動作を変更するには、`--interactive` または `--no-overwrite` パラメータを使用します。上書きの警告を表示しないようにするには、`--quiet` パラメータを使用します。  
出力ファイルを上書きするコマンドが失敗した場合、出力ファイルは削除されます。  
**--インタラクティブ**  
ファイルを上書きする前にプロンプトが表示されます。  
**--no-overwrite**  
ファイルは上書きされません。代わりに、出力ファイルが存在する場合、Encryption AWS CLI は対応する入力をスキップします。  
**--サフィックス**  
Encryption AWS CLI が作成するファイルのカスタムファイル名のサフィックスを指定します。サフィックスがないことを示すには、値のないパラメータ (`--suffix`) を使用します。  
デフォルトでは、`--output` パラメータでファイル名が指定されない場合、出力ファイル名は同じ名前の入力ファイル名にサフィックスを加えたものになります。暗号化コマンドのサフィックスは `.encrypted` です。復号コマンドのサフィックスは `.decrypted` です。  
**--encode**  
Base64 (バイナリからテキスト) エンコーディングを出力に適用します。エンコーディングによりシェルホストプログラムが、出力テキストの非 ASCII 文字を誤って解釈するのを防ぎます。  
出力を別のコマンドにパイピング、または変数に保存する場合でも、暗号化された出力を stdout (`--output -`) 特に PowerShell コンソールに書き込むときはこのパラメータを使用します。

**--metadata-output**  
暗号化オペレーションに関するメタデータの場所を指定します。パスとファイル名を入力します。ディレクトリが存在しない場合、コマンドは失敗します。コマンドライン (stdout) にメタデータを書き込むには、`-` を使用します。  
同じコマンドでコマンド出力 (`--output`) とメタデータ出力 (`--metadata-output`) を stdout に記述することはできません また、`--input` や `--output` の値がディレクトリ (ファイル名なし) の場合は、メタデータ出力を同じディレクトリまたはそのディレクトリのサブディレクトリに書き込むことはできません。  
既存のファイルを指定すると、デフォルトで Encryption AWS CLI はファイル内のすべてのコンテンツに新しいメタデータレコードを追加します。この機能を使用すると、すべての暗号化オペレーションのメタデータが格納された 1 つのファイルを作成できます。既存のファイルのコンテンツを上書きするには、`--overwrite-metadata` パラメータを使用します。  
 AWS Encryption CLI は、コマンドが実行する暗号化または復号オペレーションごとに JSON 形式のメタデータレコードを返します。各メタデータレコードには、入力ファイルと出力ファイル、暗号化コンテキスト、アルゴリズムスイート、セキュリティ基準を満たしているかどうかを検証しオペレーションを確認するために使用できるその他の有益な情報への完全なパスが含まれます。    
**--overwrite-metadata**  
メタデータの出力ファイルでコンテンツが上書きされます。デフォルトでは、`--metadata-output` パラメータはファイル内の既存のコンテンツにメタデータを追加します。

**--suppress-metadata (-S)**  
暗号化または復号オペレーションに関するメタデータを抑制します。

**--commitment-policy**  <a name="syntax-commitment-policy"></a>
暗号化および復号コマンドの[コミットメントポリシー](concepts.md#commitment-policy)を指定します。コミットメントポリシーは、[キーコミットメント](concepts.md#key-commitment)セキュリティ機能を使用してメッセージを暗号化および復号化するかどうかを決定します。  
`--commitment-policy` パラメータはバージョン 1.8.*x* で導入されました。暗号化コマンドと復号コマンドで有効です。  
**バージョン 1.8.*x*** AWS では、Encryption CLI はすべての暗号化および復号オペレーションに`forbid-encrypt-allow-decrypt`コミットメントポリシーを使用します。`--wrapping-keys` パラメータを暗号化コマンドまたは復号コマンドで使用するときには、値 `forbid-encrypt-allow-decrypt` を指定した `--commitment-policy` パラメータが必要です。`--wrapping-keys` パラメータを使用しない場合、`--commitment-policy` パラメータは無効です。コミットメントポリシーを明示的に設定すると、バージョン 2.1.*x* へのアップグレード時にコミットメントポリシーが自動的に `require-encrypt-require-decrypt` に変更されなくなります。  
**バージョン 2.1.*x*** 以降は、すべてのコミットメントポリシーの値がサポートされます。`--commitment-policy` パラメータはオプションであり、デフォルト値は `require-encrypt-require-decrypt` です。  
このパラメータには次の値があります。  
+ `forbid-encrypt-allow-decrypt` — キーコミットメントで暗号化することはできません。キーコミットメントが使用されているかどうかにかかわらず、暗号化された暗号化テキストを復号化できます。

  バージョン 1.8.*x* では、これが唯一の有効な値です。 AWS Encryption CLI は、すべての暗号化および復号オペレーションに`forbid-encrypt-allow-decrypt`コミットメントポリシーを使用します。
+ `require-encrypt-allow-decrypt` — キーコミットメントで暗号化します。復号化はキーコミットメントの有無に関係なく行われます。この値はバージョン 2.1.*x* で導入されました。
+ `require-encrypt-require-decrypt` (デフォルト) — キーコミットメントでのみ暗号化および復号化が行われます。この値はバージョン 2.1.*x* で導入されました。バージョン 2.1.*x* 以降では、これがデフォルト値です。この値では、Encryption AWS CLI は以前のバージョンの で暗号化された暗号文を復号しません AWS Encryption SDK。
コミットメントポリシーの設定の詳細については、「[の移行 AWS Encryption SDK](migration.md)」を参照してください。

**--encryption-context (-c)**  
オペレーションの[暗号化コンテキスト](crypto-cli-how-to.md#crypto-cli-encryption-context)を指定します。このパラメータは必須ではありませんが、推奨されています。  
+ `--encrypt` コマンドでは、1 つまたは複数の `name=value` ペアを入力します。ペアを区切るには、スペースを使用します。
+ `--decrypt` コマンドでは、`name=value` ペア、値のない `name` 要素、またはその両方を入力します。
`name` ペアの `value` や `name=value` にスペースや特殊文字が含まれている場合、ペア全体を引用符で囲みます。例えば、`--encryption-context "department=software development"`。

**—buffer (-b) [バージョン 1.9.*x* および 2.2.*x* で導入]**  
デジタル署名が存在する場合の検証も含めて、すべての入力が処理された後にのみプレーンテキストが返されます。

**--max-encrypted-data-keys [バージョン 1.9.*x* および 2.2.*x* で導入]**  
暗号化されたメッセージ内の暗号化されたデータキーの最大数を指定します。このパラメータはオプションです。  
有効な値は 1～65,535 です。このパラメータを省略すると、Encryption AWS CLI は最大値を適用しません。暗号化されたメッセージには、最大 65,535 (2^16 - 1) の暗号化されたデータキーを使用できます。  
このパラメータを暗号化コマンドで使用して、不正な形式のメッセージを防ぐことができます。これを復号コマンドで使用して、悪意のあるメッセージを検出し、復号できない多数の暗号化されたデータキーを含むメッセージの復号化を回避できます。詳細と例については、「[暗号化されたデータキーの制限](configure.md#config-limit-keys)」を参照してください。

**--help (-h)**  
コマンドラインで使用量と構文を表示します。

**--version**  
Encryption AWS CLI のバージョンを取得します。

**-v \$1 -vv \$1 -vvv \$1 -vvvv**  
詳細な情報、警告、およびデバッグメッセージを表示します。出力の詳細は、パラメータ内の `v`s 数とともに増加します。最も詳細な設定 (`-vvvv`) は、Encryption AWS CLI とそれが使用するすべてのコンポーネントからデバッグレベルのデータを返します。

**--quiet (-q)**  
出力ファイルを上書きしたときに表示されるメッセージなど、警告メッセージを抑制します。

**--master-keys (-m) [非推奨]**  
—master-keys パラメータは 1.8.*x* で非推奨となり、バージョン 2.1.*x* で削除されました。代わりに、[--wrapping-keys](#wrapping-keys) パラメータを使用してください。
暗号化と復号のオペレーションで使用される[マスターキー](concepts.md#master-key)を指定します。複数のマスターキーパラメータを各コマンドで使用できます。  
この暗号化コマンドには、`--master-keys` パラメータが必要です。これはカスタム (AWS KMS以外の) マスターキープロバイダーを使用しているときにのみ、復号コマンドで必要です。  
**属性**: `--master-keys` パラメータの値は、以下の属性で構成されます。形式は `attribute_name=value` です。    
**key**  
オペレーションで使用する[ラッピングキー](concepts.md#master-key)を識別します。形式は、**key**=ID のペアです。すべての暗号化コマンドには、**key** 属性が必要です。  
暗号化コマンド AWS KMS key で を使用する場合、**キー**属性の値は、キー ID、キー ARN、エイリアス名、またはエイリアス ARN です。 AWS KMS キー識別子の詳細については、「 *AWS Key Management Service デベロッパーガイド*」の[「キー識別子](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id)」を参照してください。  
マスターキープロバイダーが AWS KMSでない場合、復号コマンドには **key** 属性が必須です。 AWS KMS keyで暗号化されたデータを復号するコマンドでは、**key** 属性は許可されていません。  
各 `--master-keys` パラメータ値に、複数の **key** 属性を指定できます。ただし、**provider**、**region**、および **profile** 属性は、パラメータ値のマスターキーすべてに適用されます。異なる属性値を持つマスターキーを指定するには、コマンドで複数の `--master-keys` パラメータを使用します。  
**provider**  
[マスターキープロバイダー](concepts.md#master-key-provider)を指定します。形式は、**provider**=ID のペアです。デフォルト値の **aws-kms** は を表します AWS KMS。この属性は、マスターキープロバイダーがそうでない場合にのみ必要です AWS KMS。  
**リージョン**  
 AWS リージョン の を識別します AWS KMS key。この属性は に対してのみ有効です AWS KMS keys。**key** の識別子が特定のリージョンを示していない場合にのみ使用され、それ以外の場合は無視されます。これを使用すると、 AWS CLI 名前付きプロファイルのデフォルトリージョンが上書きされます。  
**profile**  
 AWS CLI [名前付きプロファイル](https://docs.aws.amazon.com/cli/latest/userguide/cli-multiple-profiles.html)を識別します。この属性は に対してのみ有効です AWS KMS keys。プロファイルのリージョンは、key の識別子が特定のリージョンを示しておらず、コマンドに **region** 属性がない場合にのみ使用されます。

## 高度なパラメータ
<a name="cli-advanced-parameters"></a>

**--algorithm**  
[アルゴリズムスイート](concepts.md#crypto-algorithm)の代替を指定します。このパラメータはオプションであり、暗号化コマンドでのみ有効です。  
このパラメータを省略すると、Encryption AWS CLI はバージョン 1.8.*x* で AWS Encryption SDK 導入された のデフォルトのアルゴリズムスイートのいずれかを使用します。どちらのデフォルトアルゴリズムも、[HKDF](https://en.wikipedia.org/wiki/HKDF)、ECDSA 署名、および 256 ビットの暗号化キーを含む AES-GCM を使用します。キーコミットメントは、使用される場合と使用されない場合があります。デフォルトのアルゴリズムスイートは、コマンドの[コミットメントポリシー](concepts.md#commitment-policy)によって選択されます。  
デフォルトアルゴリズムスイートは、ほとんどの暗号化オペレーションで推奨されます。有効な値のリストについては、「[ドキュメントを読む](https://aws-encryption-sdk-cli.readthedocs.io/en/latest/index.html#execution)」の `algorithm` パラメータの値を参照してください。

**--frame-length**  
指定されたフレームの長さで出力を作成します。このパラメータはオプションであり、暗号化コマンドでのみ有効です。  
値をバイトで入力します。有効な値は、0 および 1 ～ 2^31 - 1 です。値 0 は、フレーム化されていないデータを示します。デフォルト値は 4096 (バイト) です。  
可能な限り、フレーム化されたデータを使用してください。は、レガシー使用のためにのみフレーム化されていないデータ AWS Encryption SDK をサポートします。の一部の言語実装では、フレーム化されていない暗号文を生成 AWS Encryption SDK できます。サポートされているすべての言語実装では、フレーム化された暗号化テキストとフレーム化されていない暗号化文書を復号化できます。

**--max-length**  
暗号化されたメッセージから読み取る最大フレームサイズ (またはフレーム化されていないメッセージの最大コンテンツ長) をバイト数で指定します。このパラメータはオプションであり、復号コマンドでのみ有効です。これは、悪意のある膨大な量の暗号化テキストを復号する際に保護できるように設計されています。  
値をバイトで入力します。このパラメータを省略しても、 AWS Encryption SDK は復号時にフレームサイズを制限しません。

**--caching**  
入力ファイルごとに新しいデータキーを生成する代わりに、データキーを再利用する[データキーキャッシュ](data-key-caching.md)機能を有効にします。このパラメータでは、高度なシナリオがサポートされています。この機能を使用する前に、[データキーキャッシュ](data-key-caching.md)のドキュメントを参照してください。  
`--caching` パラメータには以下のような属性があります。    
**capacity (必須)**  
キャッシュのエントリの最大数を決定します。  
最小値は 1 です。最大値は存在しません。  
**max\$1age (必須)**  
キャッシュエントリがキャッシュに追加された時点から、どのくらいの期間使用されるかを決定します (秒単位)。  
0 より大きい値を入力します。最大値は存在しません。  
**max\$1messages\$1encrypted (オプション)**  
キャッシュされたエントリが暗号化できるメッセージの最大数を決定します。  
有効な値は 1～2^32 です。デフォルト値は 2^32 (メッセージ) です。  
**max\$1bytes\$1encrypted (オプション)**  
キャッシュされたエントリが暗号化できるバイトの最大数を決定します。  
有効な値は、0 および 1 ～ 2^63 - 1 です。デフォルト値は 2^63 - 1 (メッセージ) です。値を 0 に指定することで、空のメッセージ文字列を暗号化している場合にのみデータキーキャッシュを使用できます。