OCI의 Object Storage를 삭제하려고 "Active Preauthenticated Requests still exist..."로 실패하면

ObjectStorage 삭제 실패 시



ObjectStorage를 삭제하려고 하면 "Active Preauthenticated Requests still exist for bucket '버킷 이름'. Delete them first. "로 표지되어 삭제가 실패할 수 있습니다.


그 URI조차 알고 있으면 ObjectStorage에 액세스할 수 있는 액세스 포인트가 공개되어 있어 삭제할 수 없다는 의미이므로 사전 승인된 요청을 삭제해야 합니다.

htps : // / cs. cぉd. 오 c. 코 m / 엔-u s / 아니오 s / 혼텐 t / 오 bji ct / 타 sks / 우신 gp 어울려 ㅇ 얽히고 d 레쿠 sts. htm
의 가이드에 따라 preauth-request가 어떻게 되었는지 cli로 조사합니다.

oci cli 명령으로 preauth-request 얻기



preauth-request의 list 취득 예
$namespace = "iddktd4oigof"
$bucketname = "bucket-nemotech2"
oci os preauth-request list -ns $namespace -bn $bucketname

에서 Preauthenticated request 를 조사합니다. bucket 이름은 ocid 대신 이름 자체를 사용합니다.
여기서는 --profile <자신이 설정한 profile> 옵션이 효과가 없으며 cli의 config 파일에서 [DEFAULT]가 사용됩니다.
FileNotFoundError: [Errno 2] No such file or directory: '.oci/key.pem'

같은 느낌의 오류가 발생할 수 있습니다.이 경우
.oci/config 파일을 수정하여 [DEFAULT] 계정에서 cli가 실행되도록 다시 작성하여 --profile 옵션을 사용하지 않도록 합니다.
이번에는 움직입니다.
json:出力例
{
  "data": [
    {
      "access-type": "AnyObjectWrite",
      "id": "2Ai9lUumHSwQxUch5LI0+1AHM8OHChynqF7ft9FH7JY=",
      "name": "standardbucket-20191229-1554",
      "object-name": null,
      "time-created": "2019-12-29T06:55:02.270000+00:00",
      "time-expires": "2020-01-05T06:54:52.271000+00:00"
    },
    {
      "access-type": "ObjectReadWrite",
      "id": "H0WJO/lNLipod6wLY139Epiq/bKt/ppsxTTxGmcUPzc=:pre-auth-bucket1",
      "name": "\u6a19\u30af\u30c8-20191229-1551",
      "object-name": "pre-auth-bucket1",
      "time-created": "2019-12-29T06:51:54.695000+00:00",
      "time-expires": "2020-01-31T06:51:00+00:00"
    }
  ]
}

여기서 두 개의 id를 볼 수 있으므로이 두 개의 preauthenticated_request_id를 제거합니다.
이 두 가지를 삭제합니다.

oci cli 명령으로 preauth-request 삭제



삭제 명령 샘플
$preauthenticated_request_id = "2Ai9lUumHSwQxUch4LI0+1AHM8OHChynqF7ft9FH7JY="
oci os preauth-request delete -ns $namespace -bn $bucketname --par-id $preauthenticated_request_id

$preauthenticated_request_id = "H0WJO/lNLipod6wLY1e9Epiq/bKt/ppsxTTxGmcUPzc=:pre-auth-bucket1"
oci os preauth-request delete -ns $namespace -bn $bucketname --par-id $preauthenticated_request_id

다시 콘솔에서 버킷을 삭제해 보면 이번에는 지울 수 있다고 생각합니다.

좋은 웹페이지 즐겨찾기