

# SQL Server のセキュリティプロトコルおよび暗号の設定
<a name="SQLServer.Ciphers"></a>

DB パラメータを使用して、特定のセキュリティプロトコルと暗号のオン/オフを切り替えることができます。設定できるセキュリティパラメータ (TLS バージョン 1.2 を除く) を次の表に示します。


****  

| DB パラメータ | 許可される値 (デフォルトは太字) | 説明 | 
| --- | --- | --- | 
| rds.tls10 | デフォルト、有効、無効 | TLS 1.0. | 
| rds.tls11 | デフォルト、有効、無効 | TLS 1.1. | 
| rds.tls12 | default | TLS 1.2. この値は変更できません。 | 
| rds.fips | 0、1 |  パラメータを 1 に設定すると、RDS は連邦情報処理規格 (FIPS) 140-2 標準に準拠したモジュールの使用を強制します。 詳細については、Microsoft のドキュメントの [Use SQL Server 2016 in FIPS 140-2-compliant mode](https://docs.microsoft.com/en-us/troubleshoot/sql/security/sql-2016-fips-140-2-compliant-mode) を参照してください。  | 
| rds.rc4 | デフォルト、有効、無効 | RC4 ストリーム暗号です。 | 
| rds.diffie-hellman | デフォルト、有効、無効 | Diffie-Hellman キー交換暗号化。 | 
| rds.diffie-hellman-min-key-bit-length | デフォルト、1024、2048、3072、4096 | Diffie-Hellman キーの最小ビット長。 | 
| rds.curve25519 | デフォルト、有効、無効 | Curve25519 elliptic-curve 暗号化暗号。このパラメータは、すべてのエンジンバージョンでサポートされているわけではありません。 | 
| rds.3des168 | デフォルト、有効、無効 | 168 ビットのキー長を持つトリプルデータ暗号化標準 (DES) 暗号化暗号。 | 

**注記**  
16.00.4120.1、15.00.4365.2、14.00.3465.1、13.00.6435.1、および 12.00.6449.1 以降のマイナーエンジンバージョンでは、DB パラメータ `rds.tls10`、`rds.tls11`、`rds.rc4`、`rds.curve25519`、`rds.3des168` のデフォルト設定は*無効*になっています。それ以外の場合、デフォルト設定は*有効*です。  
16.00.4120.1、15.00.4365.2、14.00.3465.1、13.00.6435.1、および 12.00.6449.1 以降のマイナーエンジンバージョンでは、`rds.diffie-hellman-min-key-bit-length` のデフォルト設定は 3072 です。それ以外の場合、デフォルト設定は 2048 です。

セキュリティプロトコルと暗号を設定するには、次のプロセスを使用します。

1. カスタム DB パラメータグループを作成します。

1. パラメータグループのパラメータを変更します。

1. DB パラメータグループを DB インスタンスに関連付けます。

DB パラメータグループの詳細については、「[Amazon RDS のパラメータグループ](USER_WorkingWithParamGroups.md)」を参照してください。

## セキュリティ関連のパラメータグループの作成
<a name="CreateParamGroup.Ciphers"></a>

DB インスタンスの SQL Server のエディションとバージョンに対応するセキュリティ関連パラメータのパラメータグループを作成します。

### コンソール
<a name="CreateParamGroup.Ciphers.Console"></a>

以下の例では、SQL Server Standard Edition 2016 のパラメータグループを作成します。

**パラメータグループを作成するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、**[パラメータグループ]** を選択します。

1. **[パラメータグループの作成]** を選択します。

1. [**パラメータグループの作成**] ペインで、次の操作を行います。

   1. [**パラメータグループファミリー**] で、[**sqlserver-se-13.0**] を選択します。

   1. [**グループ名**] に、パラメータグループの識別子 (**sqlserver-ciphers-se-13** など) を入力します。

   1. [**説明**] に「**Parameter group for security protocols and ciphers**」と入力します。

1. [**Create**] (作成) を選択します。

### CLI
<a name="CreateParamGroup.Ciphers.CLI"></a>

以下の例では、SQL Server Standard Edition 2016 のパラメータグループを作成します。

**パラメータグループを作成するには**
+ 以下のいずれかのコマンドを実行します。  
**Example**  

  Linux、macOS、Unix の場合:

  ```
  aws rds create-db-parameter-group \
      --db-parameter-group-name sqlserver-ciphers-se-13 \
      --db-parameter-group-family "sqlserver-se-13.0" \
      --description "Parameter group for security protocols and ciphers"
  ```

  Windows の場合:

  ```
  aws rds create-db-parameter-group ^
      --db-parameter-group-name sqlserver-ciphers-se-13 ^
      --db-parameter-group-family "sqlserver-se-13.0" ^
      --description "Parameter group for security protocols and ciphers"
  ```

## セキュリティ関連のパラメータの変更
<a name="ModifyParams.Ciphers"></a>

DB インスタンスの SQL Server のエディションとバージョンに対応するパラメータグループのセキュリティ関連のパラメータを変更します。

### コンソール
<a name="ModifyParams.Ciphers.Console"></a>

以下の手順では、SQL Server Standard Edition 2016 用に作成したパラメータグループを変更します。この例では、TLS バージョン 1.0 をオフにします。

**パラメータグループを変更するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、[**パラメータグループ**] を選択します。

1. [**sqlserver-ciphers-se-13**] などのパラメータグループを選択します。

1. [**パラメータ**] で、パラメータのリストを **rds** でフィルタ処理します。

1. [**Edit parameters**] を選択します。

1. [**rds.tls10**] を選択します。

1. [**値**] で、[**無効**] を選択します。

1. [**Save changes**] (変更の保存) をクリックします。

### CLI
<a name="ModifyParams.Ciphers.CLI"></a>

以下の手順では、SQL Server Standard Edition 2016 用に作成したパラメータグループを変更します。この例では、TLS バージョン 1.0 をオフにします。

**パラメータグループを変更するには**
+ 以下のいずれかのコマンドを実行します。  
**Example**  

  Linux、macOS、Unix の場合:

  ```
  aws rds modify-db-parameter-group \
      --db-parameter-group-name sqlserver-ciphers-se-13 \
      --parameters "ParameterName='rds.tls10',ParameterValue='disabled',ApplyMethod=pending-reboot"
  ```

  Windows の場合:

  ```
  aws rds modify-db-parameter-group ^
      --db-parameter-group-name sqlserver-ciphers-se-13 ^
      --parameters "ParameterName='rds.tls10',ParameterValue='disabled',ApplyMethod=pending-reboot"
  ```

## セキュリティ関連のパラメータグループと DB インスタンスの関連付け
<a name="AssocParamGroup.Ciphers"></a>

パラメータグループを DB インスタンスに関連付けるには、AWS マネジメントコンソール または AWS CLI を使用します。

### コンソール
<a name="AssocParamGroup.Ciphers.Console"></a>

パラメータグループを新規または既存の DB インスタンスに関連付けることができます。
+ 新しい DB インスタンスの場合は、インスタンスを起動するときにそれを関連付けます。詳細については、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」を参照してください。
+ 既存の DB インスタンスの場合は、インスタンスを変更することでそれを関連付けます。詳しくは、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。

### CLI
<a name="AssocParamGroup.Ciphers.CLI"></a>

パラメータグループを新規または既存の DB インスタンスに関連付けることができます。

**パラメータグループを使用して DB インスタンスを作成するには**
+ パラメータグループの作成時に使用したものと同じ DB エンジンのタイプとメジャーバージョンを指定します。  
**Example**  

  Linux、macOS、Unix の場合:

  ```
  aws rds create-db-instance \
      --db-instance-identifier mydbinstance \
      --db-instance-class db.m5.2xlarge \
      --engine sqlserver-se \
      --engine-version 13.00.5426.0.v1 \
      --allocated-storage 100 \
      --master-user-password secret123 \
      --master-username admin \
      --storage-type gp2 \
      --license-model li \
      --db-parameter-group-name sqlserver-ciphers-se-13
  ```

  Windows の場合:

  ```
  aws rds create-db-instance ^
      --db-instance-identifier mydbinstance ^
      --db-instance-class db.m5.2xlarge ^
      --engine sqlserver-se ^
      --engine-version 13.00.5426.0.v1 ^
      --allocated-storage 100 ^
      --master-user-password secret123 ^
      --master-username admin ^
      --storage-type gp2 ^
      --license-model li ^
      --db-parameter-group-name sqlserver-ciphers-se-13
  ```
**注記**  
セキュリティ上のベストプラクティスとして、ここに示されているプロンプト以外のパスワードを指定してください。

**DB インスタンスを変更し、パラメータグループを関連付けるには**
+ 以下のいずれかのコマンドを実行します。  
**Example**  

  Linux、macOS、Unix の場合:

  ```
  aws rds modify-db-instance \
      --db-instance-identifier mydbinstance \
      --db-parameter-group-name sqlserver-ciphers-se-13 \
      --apply-immediately
  ```

  Windows の場合:

  ```
  aws rds modify-db-instance ^
      --db-instance-identifier mydbinstance ^
      --db-parameter-group-name sqlserver-ciphers-se-13 ^
      --apply-immediately
  ```