RDS セキュリティ

  • AWS は、RDS のセキュリティを提供するために複数の機能を提供されています。
    • DB インスタンスは、最大のネットワークアクセス制御を可能にするために VPC 内でホストできます。
    • IAM ポリシーを使用して、RDS リソースの管理が許可されている人を決定するアクセス許可を割り当てることができます。
    • セキュリティグループでは、DB インスタンス上のデータベースに接続できる IP アドレスまたは EC2 インスタンスを制御できます。
    • DB インスタンスを使用したセキュアソケットレイヤ (SSL) 接続
    • RDS の暗号化は、残りの部分で RDS インスタンスとスナップショットをセキュリティで保護します。
    • Oracle DB インスタンスを使用したネットワーク暗号化と透過的データ暗号化 (TDE)

RDS の認証とアクセス制御

  • IAM を使用して、個々のユーザーが呼び出すアクセス許可を持つ RDS 操作を制御できます。

RDS リソースの暗号化

  • RDS の暗号化されたインスタンスは、業界標準の AES-256 暗号化アルゴリズムを使用して、RDS インスタンスをホストするサーバー上のデータを暗号化します。
  • RDS は、パフォーマンスへの影響を最小限に抑えて、このデータのアクセスと復号化の認証を処理し、データベースクライアントアプリケーションを変更する必要はありません。
  • 保管されている暗号化データ
    • 基になるストレージを暗号化するために RDS インスタンスで有効にすることができます。
    • 暗号化キーは KMS によって管理されます。
    • インスタンスの作成時にのみ有効にできます。
    • 有効にすると、暗号化キーは変更できません。
    • キーが失われた場合、DB はバックアップからのみ復元できます。
  • RDS インスタンスで暗号化が有効になると、
    • ログは暗号化されます。
    • スナップショットは暗号化されます。
    • 自動バックアップは暗号化されます。
    • リードレプリカは暗号化されます。
  • クロスリージョンのレプリカとスナップショットのコピーは、キーが単一のリージョンでのみ使用可能であるため、機能しません。
  • RDS DB スナップショットに関する考慮事項
    • KMS 暗号化キーを使用して暗号化された DB スナップショットをコピーできます。
    • 暗号化された DB スナップショットをコピーすると、その結果、DB スナップショットの暗号化コピーになります。
    • コピーする場合、DB スナップショットは、元の DB スナップショットと同じ KMS 暗号化キーで暗号化するか、別の KMS 暗号化キーを使用して DB スナップショットのコピーを暗号化することができます。
    • 暗号化されていない DB スナップショットは、以前に暗号化した DB インスタンスに暗号化を追加するための簡単な方法である、暗号スナップショットにコピーできます。
    • 暗号化されたスナップショットは、暗号化した DB インスタンスにのみ復元できます。
    • 暗号化されていない DB クラスターのスナップショットから復元するときに KMS 暗号キーが指定されている場合は、指定した KMS 暗号化キーを使用して、復元された DB クラスターを暗号化します。
    • 別の AWS アカウントから共有された暗号化スナップショットをコピーするには、DB スナップショットの暗号化に使用する KMS 暗号化キーへのアクセスが必要です。
    • KMS 暗号化キーは、作成された領域に固有のものであるため、暗号化されたスナップショットを別のリージョンにコピーすることはできません。
  • 透過的なデータ暗号化 (Transparent Data Encryption:TDE)
    • 基になるストレージ・デバイスに書き込まれる前にデータを自動的に暗号化し、ストレージ・デバイスから読み取られたときに復号化します。
    • Oracle および SQL Server でサポートされています
      • Oracle は、KMS の外のキーストレージを必要とし、このために CloudHSM と統合。
      • SQL Server にはキーが必要ですが、RDS によって管理されます。

DB インスタンスへの接続を暗号化するための SSL

  • アプリケーションと DB インスタンス間の転送中のデータに SSL を使用して接続を暗号化する。
  • Amazon RDS は、SSL 証明書を作成し、RDS がインスタンスをプロビジョニングするときに、DB インスタンスに証明書をインストールします。
  • SSL 証明書は、証明機関によって署名されます。SSL 証明書には、スプーフィング攻撃を防ぐために SSL 証明書の共通名 (CN) として DB インスタンスエンドポイントが含まれています
  • SSL ではセキュリティ上の利点がありますが、SSL 暗号化は計算負荷の高い操作であり、データベース接続の待ち時間が長くなります。

RDS セキュリティグループ

  • セキュリティグループは、トラフィックが DB インスタンスから出入りするアクセスを制御します。
  • VPC セキュリティグループは、DB インスタンスへのネットワークアクセスを制御するファイアウォールのように動作します。
  • VPC セキュリティグループは、IP アドレス範囲、ポート、または EC2 セキュリティグループからのアクセスを許可するように、DB インスタンスに構成および関連付けられます。
  • データベースセキュリティグループはデフォルトで “すべて拒否” アクセスモードになり、ユーザーはネットワークの進入を許可する必要があります。

マスターユーザーアカウントの特権

  • 新しい DB インスタンスを作成すると、その DB インスタンスに対して特定の権限を取得する既定のマスタユーザーが使用されます。
  • その後、アクセス許可を持つ他のユーザーを作成できます。

イベント通知

  • イベント通知は、DB インスタンスで発生する重要なイベントに対して構成できます。
  • インスタンスがシャットダウンされたかどうか、バックアップが開始された、フェイルオーバーが発生した、セキュリティグループが変更された、またはストレージ領域が低いなど、RDS インスタンスで発生する可能性のあるさまざまな重要なイベントを通知します。

AWS認定試験の練習問題

  • 質問はインターネットから収集され、答えは自分の知識と理解に基づいてマークされます(これはあなたと異なる場合があります)。
  • AWSサービスは毎日更新され、回答と質問はすぐに時代遅れになる可能性がありますので、それに応じて調査してください。
  • AWSのアップデートのペースを追うためにAWS試験の質問は更新されないため、基礎となる機能が変更されても質問が更新されないことがあります。
  • さらなるフィードバック、ディスカッション、修正を可能にします。
  1. SSL を使用して、アプリケーションと DB インスタンス間の接続を暗号化できますか。
    1. いいえ
    2. はい
    3. VPC でのみ
    4. 特定のリージョンでのみ
  2. これらの構成または展開方法のうち、RDS のセキュリティリスクはどれですか。
    1. SQL 関数コードをプレーンテキストで保存する
    2. 非マルチ AZ RDS インスタンス
    3. RDS と EC2 インスタンスが同じサブネットに存在する
    4. パブリックサブネット内の RDS (パブリックサブネット内のパブリックインターネットにアクセスできるようにするには、データベースを直接アドレス可能にすることでセキュリティリスクが発生します。VPC 内にデプロイされた DB インスタンスは、インターネットまたは VPC 外の EC2 インスタンスからアクセスできるように設定できます。VPC セキュリティグループが TCP ポート 22 などのポートアクセスを指定した場合、DB インスタンスのファイアウォールはインスタンスがメンバーである DB セキュリティグループによって指定された IP アドレスを介してのみアクセスを提供するため、DB インスタンスにアクセスできません および DB インスタンスの作成時に定義されたポート。リンク参照

リファレンス

Amazon RDS でのセキュリティ


Jayendra’s Blog

この記事は自己学習用に「AWS RDS Security – Certification(Jayendra’s Blogより)」を日本語に訳した記事です。