S3 MFA-Delete

  • MFA 라고 λΆˆλ¦¬λŠ” λ‹€μš”μ†Œ 인증을 μ‚¬μš©ν•΄ μ‚¬μš©μžμ˜ μž₯μΉ˜μ—μ„œ μ½”λ“œλ₯Ό μƒμ„±ν•˜λ„λ‘ ν•œλ‹€.
    • μž₯μΉ˜λŠ” λͺ¨λ°”μΌν°μ΄λ‚˜, ν•˜λ“œμ›¨μ–΄ ν‚€ 등이 λœλ‹€.
    • S3 μ—μ„œ μ€‘μš”ν•œ μž‘μ—… μ „ μ΄λ£¨μ–΄μ§€λŠ” 과정이닀.
  • MFA μ‚­μ œ κΈ°λŠ₯을 μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” S3 λ²„ν‚·μ—μ„œ 버저닝을 ν™œμ„±ν™” ν•΄μ•Ό ν•œλ‹€.
  • MFA κ°€ ν•„μš”ν•œ 경우
    1. 영ꡬ적으둜 객체 버전을 μ‚­μ œν•  λ•Œ,
    2. λ²„ν‚·μ—μ„œ 버저닝을 μ€‘λ‹¨ν•˜λŠ” 경우
  • MFA κ°€ λΆˆν•„μš”ν•œ 경우
    1. 버저닝을 ν™œμ„±ν™” ν•˜κ±°λ‚˜,
    2. μ‚­μ œλœ 버전을 λͺ©λ‘ν™” ν•  λ•Œ
  • 였직 루트 계정인 버킷 μ†Œμœ μžλ§Œμ΄ MFAμ‚­μ œκΈ°λŠ₯을 ν™œμ„±ν™” 및 λΉ„ν™œμ„±ν™”λ₯Ό ν•  수 μžˆλ‹€.
    • 즉, κ΄€λ¦¬μž 계정이 μžˆμ–΄λ„ MFA μ‚­μ œλ₯Ό ν™œμ„±ν™” ν•˜μ§€ λͺ»ν•œλ‹€.
    • Root κ³„μ •λ§Œ κ°€λŠ₯ν•˜λ‹€
  • ν˜„μž¬λŠ” CLI λ₯Ό ν†΅ν•΄μ„œλ§Œ MFA-μ‚­μ œκΈ°λŠ₯을 μ‚¬μš©ν•œλ‹€.

  • MFA κΈ°λŠ₯을 ν˜„μž¬ μ‚¬μš©μ€‘μ΄μ–΄μ•Ό ν•œλ‹€.

1. μ‹€μŠ΅

# generate root access keys
$ aws configure --profile [μ›ν•˜λŠ” profile name]
AWS Access Key ID [None]: ???
AWS Secret Access Key [None]: ???
Default region name [None]: ap-northest-2
Default output format [None]: json

# enable mfa delete
$ aws s3api put-bucket-versioning --bucket [bucket_name] --versioning-configuration Status=Enable,MFADelete=Enabled --mfa "arn-of-mfa-device [mfa-code]" --profile [λ‚΄κ°€λ§Œλ“  profile name]

# disable mfa delete
$ aws s3api put-bucket-versioning --bucket [bucket_name] --versioning-configuration Status=Enable,MFADelete=Disabled --mfa "arn-of-mfa-device [mfa-code]" --profile [λ‚΄κ°€λ§Œλ“  profile name]

# delete the root credentials in the IAM console!!!
  • MFA μ‚­μ œ κΈ°λŠ₯이 ν™œμ„±ν™”λ˜μ–΄μžˆμœΌλ©΄ AWS Console 상에 UI μ—μ„œλŠ” 이제 λ²„ν‚·μ•ˆμ˜ 객체듀을 μ‚­μ œν• μˆ˜μ—†λ‹€.
    • UI μƒμ—μ„œ μ‚­μ œν•˜λ €λ©΄ MFAμ‚­μ œ κΈ°λŠ₯을 λ‹€μ‹œ λΉ„ν™œμ„±ν™” ν•΄μ•Ό ν•œλ‹€.

νƒœκ·Έ: , , ,

μΉ΄ν…Œκ³ λ¦¬:

μ—…λ°μ΄νŠΈ:

λŒ“κΈ€λ‚¨κΈ°κΈ°