Upgrade to Pro — share decks privately, control downloads, hide ads and more …

よく考えずにRDSを暗号化したら辛かった話

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 よく考えずにRDSを暗号化したら辛かった話

Avatar for Manami Nakamura

Manami Nakamura

October 12, 2022
Tweet

More Decks by Manami Nakamura

Other Decks in Programming

Transcript

  1. いざ、ステージングでリストア • 本番のスナップショット関連の権限をステージングで AssumeRoleする準備もできた...と思いきや • KMS周りのポリシーが足りなかった An error occurred (KMSKeyNotAccessibleFault)

    when calling the RestoreDBClusterFromSnapshot operation: The specified KMS key [arn:aws:kms:ap-northeast-1:1122334455:key/11111-22222-3333-44444-55555] does not exist, is not enabled or you do not have permissions to access it. Error: Process completed with exit code 254.
  2. いざ、新しいキーでDB再作成も... • RDSのterraform destroy ができない • 削除するとは思ってなかったので、 skip_final_snapshot = falseなのに

    final_snapshot_identifierを指定してなかった • skip_final_snapshotと final_snapshot_identifierはニコイチ
  3. その後、KMSキーの作成でハマる • ドキュメント通りに作ったかと思いきや... • “The new key policy will not

    allow you to update the key policy in the future” というエラー が出てキーが作れない Error: error creating KMS Key: MalformedPolicyDocumentException: The new key policy will not allow you to update the key policy in the future.
  4. KMSキーの作成でハマる • プリンシパルに指定したIAMがCreateKeyとPutKey 両方できる必要があるらしい キーポリシーが作成されると、AWS KMS はセーフティチェックを実行します。セーフティ チェックの 1 つが、キーポリシーのプリンシパルに

    CreateKey API と PutKeyPolicy API を実行するために必要な許可があることを確認します。このチェックは、KMS キーが管理 不能になる可能性を排除します。つまり、キーポリシーを変更したりキーを削除したりすること ができないという意味です。