MySQL-เตฝ เดŽเตปเด•เตเดฐเดฟเดชเตเดทเตป: เด•เต€เดธเตเดฑเตเดฑเต‹เตผ

เด•เต‹เดดเตโ€Œเดธเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดชเตเดคเดฟเดฏ เดŽเตปเดฑเต‹เตพเดฎเต†เดจเตเดฑเดฟเดจเตเดฑเต† เด†เดฐเด‚เดญเด‚ เดชเตเดฐเดคเต€เด•เตเดทเดฟเดšเตเดšเต "เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต" เดจเดฟเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฏ เด’เดฐเต เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเตเดฑเต† เดตเดฟเดตเตผเดคเตเดคเดจเด‚ เดžเด™เตเด™เตพ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต.

MySQL-เตฝ เดŽเตปเด•เตเดฐเดฟเดชเตเดทเตป: เด•เต€เดธเตเดฑเตเดฑเต‹เตผ

เดธเตเดคเดพเดฐเตเดฏเดฎเดพเดฏ เดกเดพเดฑเตเดฑ เดŽเตปเด•เตเดฐเดฟเดชเตเดทเตป (TDE) เดชเตเดฐเดคเตเดฏเด•เตเดทเดชเตเดชเต†เดŸเตเดŸเต MySQL-เดจเตเดณเตเดณ เดชเต†เตผเด•เตเด•เต‹เดฃ เดธเต†เตผเดตเตผ เด•เตเดฑเดšเตเดšเต เดธเดฎเดฏเดคเตเดคเต‡เด•เตเด•เต MySQL เด‰เด‚. เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเตเด‚ เดŸเดฟเดกเดฟเด‡ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเต†เตผเดตเดฑเดฟเตฝ เดŽเดจเตเดคเต เดธเตเดตเดพเดงเต€เดจเด‚ เดšเต†เดฒเตเดคเตเดคเตเดฎเต†เดจเตเดจเตเด‚ เดจเดฟเด™เตเด™เตพ เดŽเดชเตเดชเต‹เดดเต†เด™เตเด•เดฟเดฒเตเด‚ เดšเดฟเดจเตเดคเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต‹? เดˆ เดฒเต‡เด–เดจ เดชเดฐเดฎเตเดชเดฐเดฏเดฟเตฝ, TDE เด†เดจเตเดคเดฐเดฟเด•เดฎเดพเดฏเดฟ เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดจเต‹เด•เตเด•เดพเด‚. เดเดคเต เดŽเตปเด•เตเดฐเดฟเดชเตเดทเดจเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด‡เดคเต เด†เดตเดถเตเดฏเดฎเดพเดฏเดคเดฟเดจเดพเตฝ เดจเดฎเตเด•เตเด•เต เด•เต€ เดธเด‚เดญเดฐเดฃเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเด‚. MySQL/MySQL-เดจเตเดณเตเดณ เดชเต†เตผเด•เตเด•เต‹เดฃ เดธเต†เตผเดตเดฑเดฟเตฝ เดŽเตปเด•เตเดฐเดฟเดชเตเดทเตป เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเตเด‚ MySQL-เดจเตเดณเตเดณ เดชเต†เตผเด•เตเด•เต‹เดฃ เดธเต†เตผเดตเดฑเดฟเดจเต เดŽเดจเตเดคเตŠเด•เตเด•เต† เด…เดงเดฟเด• เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เด‰เดฃเตเดŸเต†เดจเตเดจเตเด‚ เดžเด™เตเด™เตพ เดธเต‚เด•เตเดทเตเดฎเดฎเดพเดฏเดฟ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด‚.

MySQL เด•เต€เดฑเดฟเด‚เด—เต

เด’เดฐเต เดฒเต‹เด•เตเด•เตฝ เดซเดฏเดฒเดฟเตฝ (keyring_file) เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต เดฑเดฟเดฎเต‹เดŸเตเดŸเต เดธเต†เตผเดตเดฑเดฟเตฝ (HashiCorp Vault เดชเต‹เดฒเตเดณเตเดณเดต) เด•เต€เด•เตพ เด…เดจเตเดตเต‡เดทเดฟเด•เตเด•เดพเดจเตเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเดจเตเด‚ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดพเดจเตเด‚ เดธเต†เตผเดตเดฑเดฟเดจเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฒเด—เดฟเดจเตเดจเตเด•เดณเดพเดฃเต เด•เต€เดฑเดฟเด‚เด—เต. เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เตฝ เดตเต‡เด—เดคเตเดคเดฟเดฒเดพเด•เตเด•เดพเตป เด•เต€เด•เตพ เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เดชเตเดฐเดพเดฆเต‡เดถเดฟเด•เดฎเดพเดฏเดฟ เด•เดพเดทเต† เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดชเตเดฒเด—เดฟเดจเตเด•เดณเต† เดฐเดฃเตเดŸเต เดตเดฟเดญเดพเด—เด™เตเด™เดณเดพเดฏเดฟ เดคเดฟเดฐเดฟเด•เตเด•เดพเด‚:

  • เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดธเด‚เดญเดฐเดฃเด‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด’เดฐเต เดฒเต‹เด•เตเด•เตฝ เดซเดฏเตฝ (เด‡เดคเดฟเดจเต† เดžเด™เตเด™เตพ เดซเดฏเตฝ เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เด•เต€เดฑเดฟเด‚เด—เต เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต).
  • เดตเดฟเดฆเต‚เดฐ เดธเด‚เดญเดฐเดฃเด‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดตเต‹เตพเดŸเตเดŸเต เดธเต†เตผเดตเตผ (เดžเด™เตเด™เตพ เด‡เดคเดฟเดจเต† เดธเต†เตผเดตเตผ เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เด•เต€เดฑเดฟเด‚เด—เต เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต).

เดˆ เดตเต‡เตผเดคเดฟเดฐเดฟเดตเต เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต, เด•เดพเดฐเดฃเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดค เดคเดฐเด‚ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เด•เต€เด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดฎเตเดชเต‹เดดเตเด‚ เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เตเดฎเตเดชเต‹เดดเตเด‚ เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เด…เดต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดฎเตเดชเต‹เดดเตเด‚ เด…เดฒเตเดชเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต.

เด’เดฐเต เดซเดฏเตฝ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเดฟเดฒเต† เดฎเตเดดเตเดตเตป เด‰เดณเตเดณเดŸเด•เตเด•เด™เตเด™เดณเตเด‚ เด•เดพเดทเต†เดฏเดฟเดฒเต‡เด•เตเด•เต เดฒเต‹เดกเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเด‚: เด•เต€ เดเดกเดฟ, เด•เต€ เดฏเต‚เดธเตผ, เด•เต€ เดคเดฐเด‚, เด•เต€ เดคเดจเตเดจเต†.

เดธเต†เตผเดตเตผ เด…เดงเดฟเดทเตโ€Œเด เดฟเดค เดธเตโ€Œเดฑเตเดฑเต‹เดฑเดฟเดจเตเดฑเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ (เดตเต‹เตพเดŸเตเดŸเต เดธเต†เตผเดตเตผ เดชเต‹เดฒเตเดณเตเดณเดต), เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเดฟเตฝ เด•เต€ เดเดกเดฟเดฏเตเด‚ เด•เต€ เดฏเต‚เดธเดฑเตเด‚ เดฎเดพเดคเตเดฐเดฎเต‡ เดฒเต‹เดกเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเตเดณเตเดณเต‚, เด…เดคเดฟเดจเดพเตฝ เดŽเดฒเตเดฒเดพ เด•เต€เด•เดณเตเด‚ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเต เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเดฟเดจเต† เดฎเดจเตเดฆเด—เดคเดฟเดฏเดฟเดฒเดพเด•เตเด•เดฟเดฒเตเดฒ. เด•เต€เด•เตพ เด…เดฒเดธเดฎเดพเดฏเดฟ เดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด…เดคเดพเดฏเดคเต, เด•เต€ เดคเดจเตเดจเต† เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเดชเตเดชเต‹เตพ เดฎเดพเดคเตเดฐเดฎเต‡ เดตเต‹เตพเดŸเตเดŸเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เดกเตเดšเต†เดฏเตเดฏเตเด•เดฏเตเดณเตเดณเต‚. เด’เดฐเดฟเด•เตเด•เตฝ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตโ€Œเดคเดพเตฝ, เด•เต€ เดฎเต†เดฎเตเดฎเดฑเดฟเดฏเดฟเตฝ เด•เดพเดทเต† เดšเต†เดฏเตโ€Œเดคเดคเดฟเดจเดพเตฝ เดญเดพเดตเดฟเดฏเดฟเตฝ เดตเต‹เตพเดŸเตเดŸเต เดธเต†เตผเดตเดฑเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ TLS เด•เดฃเด•เตเดทเดจเตเด•เตพ เดตเดดเดฟ เด…เดคเต เด†เด•เตโ€Œเดธเดธเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ. เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เด•เต€ เดธเตเดฑเตเดฑเต‹เดฑเดฟเตฝ เดŽเดจเตเดคเต เดตเดฟเดตเดฐเด™เตเด™เดณเดพเดฃเต เด‰เดณเตเดณเดคเต†เดจเตเดจเต เดจเต‹เด•เตเด•เดพเด‚.

เดชเตเดฐเดงเดพเดจ เดตเดฟเดตเดฐเด™เตเด™เดณเดฟเตฝ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต:

  • เด•เต€ เดเดกเดฟ - เด•เต€ เดเดกเดจเตเดฑเดฟเดซเดฏเตผ, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต:
    INNODBKey-764d382a-7324-11e9-ad8f-9cb6d0d5dc99-1
  • เด•เต€ เดคเดฐเด‚ โ€” เด‰เดชเดฏเต‹เด—เดฟเดšเตเดš เดŽเตปเด•เตเดฐเดฟเดชเตเดทเตป เด…เตฝเด—เต‹เดฐเดฟเดคเด‚ เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เด•เต€ เดคเดฐเด‚, เดธเดพเดงเตเดฏเดฎเดพเดฏ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ: "AES", "RSA" เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ "DSA".
  • เด•เต€ เดฆเตˆเตผเด˜เตเดฏเด‚ โ€” เดฌเตˆเดฑเตเดฑเตเด•เดณเดฟเดฒเต† เด•เต€ เดฆเตˆเตผเด˜เตเดฏเด‚, AES: 16, 24 เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ 32, RSA 128, 256, 512, DSA 128, 256 เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ 384.
  • เด‰เดชเดฏเต‡เดพเด•เตเดคเดพเดตเต - เด•เต€เดฏเตเดŸเต† เด‰เดŸเดฎ. เด•เต€ เดธเดฟเดธเตเดฑเตเดฑเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดฎเดพเดธเตเดฑเตเดฑเตผ เด•เต€, เดˆ เดซเต€เตฝเดกเต เดถเต‚เดจเตเดฏเดฎเดพเดฃเต. keyring_udf เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เด’เดฐเต เด•เต€ เดธเตƒเดทเตเดŸเดฟเดšเตเดšเดคเต†เด™เตเด•เดฟเตฝ, เดˆ เดซเต€เตฝเดกเต เด•เต€เดฏเตเดŸเต† เด‰เดŸเดฎเดฏเต† เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเตเดจเตเดจเต.
  • เดคเดพเด•เตเด•เต‹เตฝ เดคเดจเตเดจเต†

เด•เต€เดฏเต† เดœเต‹เดŸเดฟ เด…เดฆเตเดตเดฟเดคเต€เดฏเดฎเดพเดฏเดฟ เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเตเดจเตเดจเต: key_id, เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเต.

เด•เต€เด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเตเด‚ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเตเด‚ เดตเตเดฏเดคเตเดฏเดพเดธเด™เตเด™เดณเตเดฃเตเดŸเต.

เดซเดฏเตฝ เดธเด‚เดญเดฐเดฃเด‚ เดตเต‡เด—เดคเดฏเตเดณเตเดณเดคเดพเดฃเต. เด’เดฐเต เด•เต€ เดธเตเดฑเตเดฑเต‹เตผ เด’เดฐเต เดซเดฏเดฒเดฟเดจเตเดฑเต† เดคเดพเด•เตเด•เต‹เตฝ เด’เดฐเดฟเด•เตเด•เตฝ เดŽเดดเตเดคเตเด•เดฏเดพเดฃเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เดšเดฟเดจเตเดคเดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚, เดชเด•เตเดทเต‡ เด‡เดฒเตเดฒ, เด‡เดตเดฟเดŸเต† เด•เต‚เดŸเตเดคเตฝ เด•เดพเดฐเตเดฏเด™เตเด™เตพ เดจเดŸเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต. เด’เดฐเต เดซเดฏเตฝ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดชเดฐเดฟเดทเตโ€Œเด•เตเด•เดฐเดฃเด‚ เดจเดŸเดคเตเดคเตเดฎเตเดชเต‹เดดเต†เดฒเตเดฒเดพเด‚, เดŽเดฒเตเดฒเดพ เด‰เดณเตเดณเดŸเด•เตเด•เดคเตเดคเดฟเดจเตเดฑเต†เดฏเตเด‚ เดฌเดพเด•เตเด•เดชเตเดชเต เดชเด•เตผเดชเตเดชเต เด†เดฆเตเดฏเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด‚. เดซเดฏเดฒเดฟเดจเต† my_biggest_secrets เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เดพเด‚, เด…เดชเตเดชเต‹เตพ เดฌเดพเด•เตเด•เดชเตเดชเต เด•เต‹เดชเตเดชเดฟ my_biggest_secrets.backup เด†เดฏเดฟเดฐเดฟเด•เตเด•เตเด‚. เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เด•เดพเดทเต† เดฎเดพเดฑเตเดฑเดฟ (เด•เต€เด•เตพ เดšเต‡เตผเด•เตเด•เตเด•เดฏเต‹ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด•เดฏเต‹ เดšเต†เดฏเตเดฏเตเดจเตเดจเต), เดŽเดฒเตเดฒเดพเด‚ เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด•เดพเดทเต† เด’เดฐเต เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เต เดชเตเดจเดƒเดธเดœเตเดœเดฎเดพเด•เตเด•เตเด‚. เดธเต†เตผเดตเตผ เดชเดฐเดพเดœเดฏเด‚ เดชเต‹เดฒเตเดณเตเดณ เด…เดชเต‚เตผเดต เดธเดจเตเดฆเตผเดญเด™เตเด™เดณเดฟเตฝ, เดจเดฟเด™เตเด™เตพ เดˆ เดฌเดพเด•เตเด•เดชเตเดชเต เดซเดฏเตฝ เด•เดฃเตเดŸเต‡เด•เตเด•เดพเด‚. เด…เดŸเตเดคเตเดค เดคเดตเดฃ เด•เต€เด•เตพ เดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดฌเดพเด•เตเด•เดชเตเดชเต เดซเดฏเตฝ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดชเตเดชเต†เดŸเตเด‚ (เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดธเต†เตผเดตเตผ เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเด‚).

เด’เดฐเต เดธเต†เตผเดตเตผ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเดฟเตฝ เด’เดฐเต เด•เต€ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเด•เดฏเต‹ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด•เดฏเต‹ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต โ€œเด•เต€ เด…เดฏเดฏเตโ€Œเด•เตเด•เตเด•โ€ / โ€œเด•เต€ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดพเตป เด…เดญเตเดฏเตผเดคเตเดฅเดฟเด•เตเด•เตเด•โ€ เดŽเดจเตเดจ เด•เดฎเดพเตปเดกเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต MySQL เดธเต†เตผเดตเดฑเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดฃเด‚.

เดจเดฎเตเด•เตเด•เต เดธเต†เตผเดตเตผ เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเต เดตเต‡เด—เดคเดฏเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เดพเด‚. เดตเดฟเด•เตเดทเต‡เดชเดฃ เดตเต‡เด—เดคเดฏเต† เดจเดฟเดฒเดตเดฑ เดคเดจเตเดจเต† เดฌเดพเดงเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเดฟเดจเต เดชเตเดฑเดฎเต‡, เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเดฟเตฝ เดจเดฟเดฒเดตเดฑเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดŽเดคเตเดฐ เด•เต€เด•เตพ เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต เดŽเดจเตเดจ เดชเตเดฐเดถเตเดจเดตเตเดฎเตเดฃเตเดŸเต. เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดธเต†เตผเดตเตผ เดธเด‚เดญเดฐเดฃเดคเตเดคเดฟเดจเต เด‡เดคเต เดตเดณเดฐเต† เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต. เด†เดฐเด‚เดญเดคเตเดคเดฟเตฝ, เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดค เดŸเต‡เดฌเดฟเดณเตเด•เตพ/เดŸเต‡เดฌเดฟเตพเดธเตเดชเต‡เดธเตเด•เตพเด•เตเด•เต เดเดคเต เด•เต€เดฏเดพเดฃเต เดตเต‡เดฃเตเดŸเดคเต†เดจเตเดจเต เดธเต†เตผเดตเตผ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเดฟเตฝ เดจเดฟเดจเตเดจเต เด•เต€ เด…เดญเตเดฏเตผเดคเตเดฅเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดฎเดพเดธเตเดฑเตเดฑเตผ เด•เต€ เดŽเตปเด•เตเดฐเดฟเดชเตเดทเดจเตเดณเตเดณ เด’เดฐเต "เด•เตเดฒเต€เตป" เดธเต†เตผเดตเดฑเดฟเตฝ, เด’เดฐเต เดฎเดพเดธเตเดฑเตเดฑเตผ เด•เต€ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚, เด…เดคเต เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เต‡เดฃเตเดŸเดคเดพเดฃเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด’เดฐเต เดตเดฒเดฟเดฏ เดธเด‚เด–เตเดฏ เด•เต€เด•เตพ เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดจเตเดจเต‡เด•เตเด•เดพเด‚, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดฌเดพเด•เตเด•เดชเตเดชเต เดธเต†เตผเดตเตผ เดชเตเดฐเดพเดฅเดฎเดฟเด• เดธเต†เตผเดตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดฌเดพเด•เตเด•เดชเตเดชเต เดชเตเดจเดƒเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ. เด…เดคเตเดคเดฐเด‚ เดธเดจเตเดฆเตผเดญเด™เตเด™เดณเดฟเตฝ, เดฎเดพเดธเตเดฑเตเดฑเตผ เด•เต€เดฏเตเดŸเต† เดฑเตŠเดŸเตเดŸเต‡เดทเตป เดจเตฝเด•เดฃเด‚. เด‡เดคเต เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เดญเดพเดตเดฟเดฏเดฟเดฒเต† เดฒเต‡เด–เดจเด™เตเด™เดณเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเตเด‚, เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚ เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดฎเดพเดธเตเดฑเตเดฑเตผ เด•เต€เด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดธเต†เตผเดตเตผ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด•เตเดฑเดšเตเดšเต เดธเดฎเดฏเดฎเต†เดŸเตเดคเตเดคเต‡เด•เตเด•เดพเด‚, เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเตเด‚ เดธเต†เตผเดตเตผ เดธเตˆเดกเต เด•เต€ เดธเตเดฑเตเดฑเต‹เตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ.

เด‡เดจเดฟ เดจเดฎเตเด•เตเด•เต keyring_file-เดจเต† เด•เตเดฑเดฟเดšเตเดšเต เด•เตเดฑเดšเตเดšเตเด•เต‚เดŸเดฟ เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เดพเด‚. เดžเดพเตป keyring_file เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเต†เดŸเตเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดธเต†เตผเดตเตผ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ keyring_file เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดŽเด™เตเด™เดจเต† เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเด‚ เดŽเดจเตเดจเดคเดฟเดจเต† เด•เตเดฑเดฟเดšเตเดšเตเด‚ เดžเดพเตป เด†เดถเด™เตเด•เดพเด•เตเดฒเดจเดพเดฏเดฟเดฐเตเดจเตเดจเต. 5.7-เตฝ, เดซเดฏเตฝ เดธเตเดฅเดฟเดคเดฟเดตเดฟเดตเดฐเด•เตเด•เดฃเด•เตเด•เตเด•เตพ เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเดพเดฃเต เดชเดฐเดฟเดถเต‹เดงเดจ เดจเดŸเดคเตเดคเดฟเดฏเดคเต, เด…เดคเต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเดฟเดฒเตเดฒ, 8.0-เตฝ เด…เดคเต SHA256 เดšเต†เด•เตเด•เตเดธเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดšเตเดšเต.

เดจเดฟเด™เตเด™เตพ เด†เดฆเตเดฏเดฎเดพเดฏเดฟ keyring_file เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดซเดฏเตฝ เดธเตเดฅเดฟเดคเดฟเดตเดฟเดตเดฐเด•เตเด•เดฃเด•เตเด•เตเด•เดณเตเด‚ เด’เดฐเต เดšเต†เด•เตเด•เตโ€Œเดธเดตเตเด‚ เด•เดฃเด•เตเด•เตเด•เต‚เดŸเตเดŸเตเด‚, เด…เดต เดธเต†เตผเดตเตผ เด“เตผเดฎเตเดฎเดฟเด•เตเด•เตเด‚, เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต†เด™เตเด•เดฟเตฝ เดฎเดพเดคเตเดฐเดฎเต‡ เดฌเดพเดงเด•เดฎเดพเด•เต‚. เดซเดฏเตฝ เดฎเดพเดฑเตเดฎเตเดชเต‹เตพ, เดšเต†เด•เตเด•เตเดธเด‚ เด…เดชเตเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเด‚.

เดชเตเดฐเดงเดพเดจ เดจเดฟเดฒเดตเดฑเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดจเดฟเดฐเดตเดงเดฟ เดšเต‹เดฆเตเดฏเด™เตเด™เตพ เดžเด™เตเด™เตพ เด‡เดคเดฟเดจเด•เด‚ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดชเดฒเดชเตเดชเต‹เดดเตเด‚ เดฎเดฑเดจเตเดจเตเดชเต‹เด•เตเด•เดฏเต‹ เดคเต†เดฑเตเดฑเดฟเดฆเตเดงเดฐเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด•เดฏเต‹ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดฎเดฑเตเดฑเตŠเดฐเต เดชเตเดฐเดงเดพเดจ เดตเดฟเดทเดฏเดฎเตเดฃเตเดŸเต: เดธเต†เตผเดตเดฑเตเด•เดณเดฟเดฒเตเดŸเดจเต€เดณเด‚ เด•เต€เด•เตพ เดชเด™เตเด•เดฟเดŸเตฝ.

เดžเดพเตป เด‰เดฆเตเดฆเต‡เดถเดฟเดšเตเดšเดคเต? เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดฒเต† เด“เดฐเต‹ เดธเต†เตผเดตเดฑเดฟเดจเตเด‚ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดชเต†เตผเด•เตเด•เต‹เดฃ เดธเต†เตผเดตเตผ) เดตเต‹เตพเดŸเตเดŸเต เดธเต†เตผเดตเดฑเดฟเตฝ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดธเตเดฅเดพเดจเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚, เด…เดคเดฟเตฝ เดชเต†เตผเด•เตเด•เต‹เดฃ เดธเต†เตผเดตเตผ เด…เดคเดฟเดจเตเดฑเต† เด•เต€เด•เตพ เดธเต‚เด•เตเดทเดฟเด•เตเด•เดฃเด‚. เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเดฟเตฝ เดธเด‚เดฐเด•เตเดทเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด“เดฐเต‹ เดฎเดพเดธเตเดฑเตเดฑเตผ เด•เต€เดฏเดฟเดฒเตเด‚ เด…เดคเดฟเดจเตเดฑเต† เดเดกเดจเตเดฑเดฟเดซเดฏเดฑเดฟเตฝ เดชเต†เตผเด•เต‹เดฃ เดธเต†เตผเดตเดฑเดฟเดจเตเดฑเต† GUID เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต เด…เดคเต เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต? เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดตเต‹เตพเดŸเตเดŸเต เดธเต†เตผเดตเตผ เดฎเดพเดคเตเดฐเดฎเต‡เดฏเตเดณเตเดณเต‚เดตเต†เดจเตเดจเตเด‚ เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เดชเต†เตผเด•เตเด•เต‹เดฃ เดธเต†เตผเดตเดฑเตเด•เดณเตเด‚ เด† เด’เดฑเตเดฑ เดตเต‹เตพเดŸเตเดŸเต เดธเต†เตผเดตเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต†เดจเตเดจเตเด‚ เดธเด™เตเด•เตฝเดชเตเดชเดฟเด•เตเด•เตเด•. เดชเตเดฐเดถเตเดจเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเดฃเต†เดจเตเดจเต เดคเต‹เดจเตเดจเตเดจเตเดจเต. เดŽเดฒเตเดฒเดพ Percona เดธเต†เตผเดตเดฑเตเด•เดณเตเด‚ id = 1, id = 2, เดŽเดจเตเดจเดฟเด™เตเด™เดจเต†เดฏเตเดณเตเดณ เด…เดฆเตเดตเดฟเดคเต€เดฏ เดเดกเดจเตเดฑเดฟเดซเดฏเดฑเตเด•เตพ เด‡เดฒเตเดฒเดพเดคเต† เด’เดฐเต เดฎเดพเดธเตเดฑเตเดฑเตผ เด•เต€ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเตฝ, เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เดธเต†เตผเดตเดฑเตเด•เดณเตเด‚ เด’เดฐเต‡ เดฎเดพเดธเตเดฑเตเดฑเตผ เด•เต€ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚. GUID เดจเตฝเด•เตเดจเตเดจเดคเต เดธเต†เตผเดตเดฑเตเด•เตพ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดตเตเดฏเดคเตเดฏเดพเดธเดฎเดพเดฃเต. เด’เดฐเต เด…เดฆเตเดตเดฟเดคเต€เดฏ GUID เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ เดธเต†เตผเดตเดฑเตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ เด•เต€เด•เตพ เดชเด™เตเด•เดฟเดŸเตเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดŽเดจเตเดคเดฟเดจเดพเดฃเต เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต? เดฎเดฑเตเดฑเตŠเดฐเต เดชเตเดฒเด—เดฟเตป เด‰เดฃเตเดŸเต - keyring_udf. เดˆ เดชเตเดฒเด—เดฟเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเต†เตผเดตเตผ เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต เด…เดตเดฐเตเดŸเต† เด•เต€เด•เตพ เดตเต‹เตพเดŸเตเดŸเต เดธเต†เตผเดตเดฑเดฟเตฝ เดธเด‚เดญเดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เด’เดฐเต เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเต เดธเต†เตผเดตเตผ 1-เตฝ เด’เดฐเต เด•เต€ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดชเตเดฐเดถเตเดจเด‚ เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดธเต†เตผเดตเตผ 2-เตฝ เด…เดคเต‡ เดเดกเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เด•เต€ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต:

--server1:
select keyring_key_store('ROB_1','AES',"123456789012345");
1
--1 ะทะฝะฐั‡ะธั‚ ัƒัะฟะตัˆะฝะพะต ะทะฐะฒะตั€ัˆะตะฝะธะต
--server2:
select keyring_key_store('ROB_1','AES',"543210987654321");
1

เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เต‚. เดฐเดฃเตเดŸเต เดธเต†เตผเดตเดฑเตเด•เดณเตเด‚ เด’เดฐเต‡ เดตเต‹เตพเดŸเตเดŸเต เดธเต†เตผเดตเตผ เด†เดฃเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต, เดธเต†เตผเดตเตผ2-เตฝ keyring_key_store เดซเด‚เด—เตโ€Œเดทเตป เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเต‡เดฃเตเดŸเดคเดฒเตเดฒเต‡? เดฐเดธเด•เดฐเดฎเต†เดจเตเดจเต เดชเดฑเดฏเดŸเตเดŸเต†, เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดธเต†เตผเดตเดฑเดฟเตฝ เด‡เดคเต เดšเต†เดฏเตเดฏเดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดชเดฟเดถเด•เต เดฒเดญเดฟเด•เตเด•เตเด‚:

--server1:
select keyring_key_store('ROB_1','AES',"123456789012345");
1
select keyring_key_store('ROB_1','AES',"543210987654321");
0

เด…เดคเต เดถเดฐเดฟเดฏเดพเดฃเต, ROB_1 เด‡เดคเดฟเดจเด•เด‚ เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดŸเต.

เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เด‰เดฆเดพเดนเดฐเดฃเด‚ เด†เดฆเตเดฏเด‚ เดšเตผเดšเตเดš เดšเต†เดฏเตเดฏเดพเด‚. เดžเด™เตเด™เตพ เดจเต‡เดฐเดคเตเดคเต† เดชเดฑเดžเตเดžเดคเตเดชเต‹เดฒเต†, keyring_vault เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเดฑเตเดฑเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด•เต€เดฑเดฟเด‚เด—เต เดชเตเดฒเด—เดฟเตป เดฎเต†เดฎเตเดฎเดฑเดฟเดฏเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เด•เต€ เดเดกเดฟเด•เดณเตเด‚ เด•เดพเดทเต† เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด…เดคเดฟเดจเดพเตฝ, เด’เดฐเต เดชเตเดคเดฟเดฏ เด•เต€ เดธเตƒเดทเตเดŸเดฟเดšเตเดš เดถเต‡เดทเด‚, ROB_1 เดธเต†เตผเดตเตผ 1-เดฒเต‡เด•เตเด•เต เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เดˆ เด•เต€ เดตเต‹เตพเดŸเตเดŸเดฟเดฒเต‡เด•เตเด•เต เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดชเตเดฑเดฎเต‡, เด•เต€เดฏเตเด‚ เด•เดพเดทเต†เดฏเดฟเดฒเต‡เด•เตเด•เต เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต. เด‡เดชเตเดชเต‹เตพ, เดจเดฎเตเดฎเตพ เด…เดคเต‡ เด•เต€ เดฐเดฃเตเดŸเดพเดฎเดคเตเด‚ เดšเต‡เตผเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, keyring_vault เด•เต€ เด•เดพเดทเต†เดฏเดฟเตฝ เด‰เดฃเตเดŸเต‹ เดŽเดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด’เดฐเต เดชเดฟเดถเด•เต เดคเดณเตเดณเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เด†เดฆเตเดฏ เด•เต‡เดธเดฟเตฝ เดธเตเดฅเดฟเดคเดฟ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฃเต. เดธเต†เตผเดตเตผ1, เดธเต†เตผเดตเตผ2 เดŽเดจเตเดจเดฟเดตเดฏเตเด•เตเด•เต เดชเตเดฐเดคเตเดฏเต‡เด• เด•เดพเดทเต†เด•เดณเตเดฃเตเดŸเต. เดธเต†เตผเดตเตผ1, เดตเต‹เตพเดŸเตเดŸเต เดธเต†เตผเดตเตผ เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต† เด•เต€ เด•เดพเดทเต†เดฏเดฟเดฒเต‡เด•เตเด•เต ROB_1 เดšเต‡เตผเดคเตเดคเดคเดฟเดจเต เดถเต‡เดทเด‚, เดธเต†เตผเดตเตผ2-เดฒเต† เด•เต€ เด•เดพเดทเต† เดธเดฎเดจเตเดตเดฏเดคเตเดคเดฟเดจเต เดชเตเดฑเดคเตเดคเดพเดฃเต. เดธเต†เตผเดตเตผ2-เดฒเต† เด•เดพเดทเต†เดฏเดฟเตฝ ROB_1 เด•เต€ เด‡เดฒเตเดฒ. เด…เด™เตเด™เดจเต†, ROB_1 เด•เต€ เด•เต€เดฑเดฟเด‚เด—เต_เด•เต€_เดธเตเดฑเตเดฑเต‹เดฑเดฟเดฒเต‡เด•เตเด•เตเด‚ เดตเต‹เตพเดŸเตเดŸเต เดธเต†เตผเดตเดฑเดฟเดฒเต‡เด•เตเด•เตเด‚ เดŽเดดเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต, เด…เดคเต เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดฎเตเดฎเตเดชเดคเตเดคเต† เดฎเต‚เดฒเตเดฏเดคเตเดคเต† เดคเดฟเดฐเตเดคเตเดคเดฟเดฏเต†เดดเตเดคเตเดจเตเดจเต (!). เด‡เดชเตเดชเต‹เตพ เดตเต‹เตพเดŸเตเดŸเต เดธเต†เตผเดตเดฑเดฟเดฒเต† ROB_1 เด•เต€ 543210987654321 เด†เดฃเต. เดฐเดธเด•เดฐเดฎเต†เดจเตเดจเต เดชเดฑเดฏเดŸเตเดŸเต†, เดตเต‹เตพเดŸเตเดŸเต เดธเต†เตผเดตเตผ เด…เดคเตเดคเดฐเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเต† เดคเดŸเดฏเดฟเดฒเตเดฒ, เดชเดดเดฏ เดฎเต‚เดฒเตเดฏเด‚ เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดชเตเดจเดฐเดพเดฒเต‡เด–เดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดจเดฟเด™เตเด™เตพ keyring_udf เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดตเต‹เตพเดŸเตเดŸเดฟเตฝ เด•เต€เด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ Vault-เดฒเต† เดธเต†เตผเดตเตผ เดชเดพเตผเดŸเตเดŸเต€เดทเตป เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต†เดจเตเดจเต เด‡เดชเตเดชเต‹เตพ เดจเดฎเตเด•เตเด•เต เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚. เด’เดฐเต เดตเต‹เตพเดŸเตเดŸเต เดธเต†เตผเดตเดฑเดฟเตฝ เดˆ เดตเต‡เตผเดคเดฟเดฐเดฟเดตเต เดŽเด™เตเด™เดจเต† เดจเต‡เดŸเดพเด‚?

เดตเต‹เตพเดŸเตเดŸเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดญเดœเดฟเด•เตเด•เดพเตป เดฐเดฃเตเดŸเต เดตเดดเดฟเด•เดณเตเดฃเตเดŸเต. เด“เดฐเต‹ เดธเต†เตผเดตเดฑเดฟเดจเตเดฎเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเตเดฏเดคเตเดฏเดธเตเดค เดฎเตŒเดฃเตเดŸเต เดชเต‹เดฏเดฟเดจเตเดฑเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเด‚, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต‡ เดฎเต—เดฃเตเดŸเต เดชเต‹เดฏเดฟเดจเตเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ เดตเตเดฏเดคเตเดฏเดธเตเดค เดชเดพเดคเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•. เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‡เดคเต เดจเดจเตเดจเดพเดฏเดฟ เดšเดฟเดคเตเดฐเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดคเดฟเดจเดพเตฝ เดจเดฎเตเด•เตเด•เต เด†เดฆเตเดฏเด‚ เดตเตเดฏเด•เตเดคเดฟเด—เดค เดฎเต—เดฃเตเดŸเต เดชเต‹เดฏเดฟเดจเตเดฑเตเด•เตพ เดจเต‹เด•เตเด•เดพเด‚:

--server1:
vault_url = http://127.0.0.1:8200
secret_mount_point = server1_mount
token = (...)
vault_ca = (...)

--server2:
vault_url = http://127.0.0.1:8200
secret_mount_point = sever2_mount
token = (...)
vault_ca = (...)

เดธเต†เตผเดตเตผ1, เดธเต†เตผเดตเตผ2 เดŽเดจเตเดจเดฟเดต เดตเตเดฏเดคเตเดฏเดธเตเดค เดฎเต—เดฃเตเดŸเต เดชเต‹เดฏเดฟเดจเตเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เด‡เดตเดฟเดŸเต† เด•เดพเดฃเดพเด‚. เดชเดพเดคเด•เตพ เดตเดฟเดญเดœเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเด‚:

--server1:
vault_url = http://127.0.0.1:8200
secret_mount_point = mount_point/server1
token = (...)
vault_ca = (...)
--server2:
vault_url = http://127.0.0.1:8200
secret_mount_point = mount_point/sever2
token = (...)
vault_ca = (...)

เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดฐเดฃเตเดŸเต เดธเต†เตผเดตเดฑเตเด•เดณเตเด‚ เด’เดฐเต‡ เดฎเต—เดฃเตเดŸเต เดชเต‹เดฏเดฟเดจเตเดฑเต "เดฎเตŒเดฃเตเดŸเต_เดชเต‹เดฏเดฟเดจเตเดฑเต" เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เดตเตเดฏเดคเตเดฏเดธเตเดค เดชเดพเดคเด•เตพ. เดˆ เดชเดพเดคเตเดคเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเต†เตผเดตเตผ1-เตฝ เดจเดฟเด™เตเด™เตพ เด†เดฆเตเดฏ เดฐเดนเดธเตเดฏเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดตเต‹เตพเดŸเตเดŸเต เดธเต†เตผเดตเตผ เดธเตเดตเดฏเดฎเต‡เดต เด’เดฐเต "เดธเต†เตผเดตเตผ1" เดกเดฏเดฑเด•เตเดŸเดฑเดฟ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต. เดธเต†เตผเดตเตผ 2 เดจเต เดŽเดฒเตเดฒเดพเด‚ เดธเดฎเดพเดจเดฎเดพเดฃเต. mount_point/server1 เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ mount_point/server2 เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต† เด…เดตเดธเดพเดจ เดฐเดนเดธเตเดฏเด‚ เดจเดฟเด™เตเด™เตพ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ, Vault เดธเต†เตผเดตเดฑเตเด‚ เด† เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเด•เตพ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพ เดชเดพเดคเตเดคเต เดธเต†เดชเตเดชเดฑเต‡เดทเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดฎเต—เดฃเตเดŸเต เดชเต‹เดฏเดฟเดจเตเดฑเต เดฎเดพเดคเตเดฐเด‚ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเตเด•เตพ เดฎเดพเดฑเตเดฑเตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚, เด…เด™เตเด™เดจเต† เดธเต†เตผเดตเดฑเตเด•เตพ เดชเตเดฐเดคเตเดฏเต‡เด• เดชเดพเดคเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด’เดฐเต HTTP เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เดฎเต—เดฃเตเดŸเต เดชเต‹เดฏเดฟเดจเตเดฑเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. CURL เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‡เดคเต เด‡เดคเตเดชเต‹เดฒเต† เดšเต†เดฏเตเดฏเดพเด‚:

curl -L -H "X-Vault-Token: TOKEN" โ€“cacert VAULT_CA
--data '{"type":"generic"}' --request POST VAULT_URL/v1/sys/mounts/SECRET_MOUNT_POINT

เดŽเดฒเตเดฒเดพ เดซเต€เตฝเดกเตเด•เดณเตเด‚ (TOKEN, VAULT_CA, VAULT_URL, SECRET_MOUNT_POINT) เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เดณเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต. เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต เดšเต†เดฏเตเดฏเดพเตป เดตเต‹เตพเดŸเตเดŸเต เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚. เดŽเดจเตเดจเดพเตฝ เด’เดฐเต เดฎเต—เดฃเตเดŸเต เดชเต‹เดฏเดฟเดจเตเดฑเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเต เด“เดŸเตเดŸเต‹เดฎเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดŽเดณเตเดชเตเดชเดฎเดพเดฃเต. เดˆ เดตเดฟเดตเดฐเด™เตเด™เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต†เดจเตเดจเต เดžเดพเตป เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต, เดˆ เดชเดฐเดฎเตเดชเดฐเดฏเดฟเดฒเต† เด…เดŸเตเดคเตเดค เดฒเต‡เด–เดจเด™เตเด™เดณเดฟเตฝ เดžเด™เตเด™เตพ เดจเดฟเด™เตเด™เดณเต† เด•เดพเดฃเตเด‚.

MySQL-เตฝ เดŽเตปเด•เตเดฐเดฟเดชเตเดทเตป: เด•เต€เดธเตเดฑเตเดฑเต‹เตผ

เด•เต‚เดŸเตเดคเตฝ เดตเดพเดฏเดฟเด•เตเด•เตเด•:

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•