[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-configuration Status=Enabled,MFADelete=Disabled --mfa "arn:aws:iam::356364758373:mfa/s3-delete-mfa 373998"

출력화면은 매우 불친절하게도 아무것도 없다.
                     
4. 마지막으로, Root 계정에 발급한 엑세스키와 추가한 MFA를 삭제해서 마무리한다.

댓글

이 블로그의 인기 게시물

AWS SA 자격증 시험 합격 후기

[AWS] Lightsail vs EC2 (서울리전 2018.5 기준)

[AWS] EC2 SMTP 트래픽 제한 해제 하기 - 대량 이메일 발송서버 구성을 위해