[AWS] S3 Bucket Version 관리에 적용하였던 MFA 삭제가 MFA 분실로 인해 비활성화가 되지 않아 객체를 삭제할 수 없을 때
Amazon S3 버킷에서 S3 버전 관리 작업을 할 때 선택적으로 MFA(다단계 인증) 삭제를 활성화하도록 버킷을 구성하여 또 다른 보안 계층을 추가할 수 있습니다 . 버킷 버전 관리 활성화됨 Multi-Factor Authentication(MFA)* 삭제 버킷 버전 관리 설정을 변경하고 객체 버전을 영구적으로 삭제하기 위해 Multi-Factor Authentication(MFA)이 필요한 추가 보안 계층입니다. MFA 삭제 설정을 수정하려면 AWS CLI, AWS SDK 또는 Amazon S3 REST API를 사용하십시오. 자세히 알아보기 비활성됨 그런데, MFA 삭제를 활성화해 놓고 MFA를 분실하였다면? -> MFA 삭제 비활성화는 API나 CLI로만 가능하다. 이 때도 역시 비활성화를 위해 MFA 토큰이 필요한데,, MFA를 분실하였다면 대략 난감하다. aws에 문의한 결과 어렵게 답변을 받을 수 있었으며 그 방법은,, 역시 Root 계정으로 뭔가를 해야 했다. 다음은 그 절차이다. 1. Root 계정에 access key 발급 - 보통 보안을 위해 루트 계정에는 엑세스키를 두지 않도록 aws에서 조차 권고하고 있는데, 이 작업을 위해서는 어쩔 수 없이 임시로 엑세스키를 발급해야 한다. 2. Root 계정에 MFA를 하나 더 추가한다. 원래 있다면 그걸로 되는지는 확인 안해 봤다. 어쨌든 하라는대로 하나 더 추가한다. 3. 이제 아래 커맨드로 "MFA 삭제"를 비활성화 한다. aws s3api put-bucket-versioning --bucket BUCKET-NAME --versioning-configuration Status=Enabled,MFADelete= Disabled --mfa "NEW-DEVICE-SERIAL MFA-TOKEN" 삭제 예) aws s3api put-bucket-versioning --bucket "mybucket" --versioning-config