Oracle Cloud Object StorageをS3として使う
- 2019/10/10 初版
- 2022/05/02 この手順で問題ないことを確認しました。あと少々追記
前提
- 2019/10/10 現在の方法です。
- Object Storage は Free Tier が 20GB あります。
参照 Qiita
https://qiita.com/kaohas/items/898efe9e5aa35f2a1402
ですが、現時点では少々手順が変わっているのでメモ
バケットの作成

バケットの作成自体は特におもしろい事はないので省略しますが、参考記事には「バケットをルートコンパートメントに作成すること」 と書かれているのでその通りにしました。
バケット一覧の画面で(ルート)と書かれていれば問題ないでしょう。
2022/05/02 追記 ルートコンパートメントである必要はありません。少なくともコンパートメントを移動しても問題ありませんでした。

アクセスキーの作成
ここが参照 Qiita と異なっているので、メモしたかった所です。
2022/05/02 追記。テストであればこの手順でも良いと思いますが、本番等であれば次の項目の手順を行ったほうがよいと思います。
テスト用手順(管理者ユーザーの権限でアクセス)
- アイデンティティ → ユーザー から自分のユーザーを選ぶ。 メールアドレスが ID になっているものを選択しました。
- 左下の
リソース欄にある顧客秘密キーをクリックします。 - 秘密キーを生成 ボタンをクリック
- 名前は何でも良いので自由に付ける。

真ん中に表示されたキーは、再表示できないのでコピーして保存しておく。

アクセス・キー と書いてある部分(上記の図だと ..ec99be と書いてある部分) にマウスカーソルを乗せると、アクセスキーが表示される(コピーボタンもある)ので、コピーしておく。
62714b857ab1aef1df653bae5002a6bacdec99be のような感じの文字列である。
AWS_ACCESS_KEY_ID=62714b857ab1aef1df653bae5002a6bacdec99be (例)
AWS_SECRET_ACCESS_KEY=最後が = で終わる生成時にしか表示されない文字列
IAMユーザーを作成して権限を割り当てる
(書きかけ)
ユーザーとグループにはコンパートメントはありませんが、Policyはコンパートメントに属します。
アイデンティティ → ユーザー から
Create Userボタンを押し、IAM Userを選択して任意のID等を入力してユーザーを作成する。アイデンティティ → グループ から
Create Groupボタンを押して、適当な名前のグループを作る(よくわからないけれども、次のPolicyがグループにしか付与できないためグループに先程作成したIAMユーザーを追加する
Policy で、任意の名前のpolicyを作成する。
そのまま、Policy Builderを使って、
Let users write objects to Object Storage BucketsとLet users download objects from Object Storage Bucketsを追加このままだとバケット内のobjectの削除ができないので、必要であれば、作成したpolicyを選択して
Edit Policy Statementsを押して、Statement 2 の末尾にrequest.permission='OBJECT_DELETE'を追記する。
あとは、ユーザーを作った場合と同様に IAMユーザーの 顧客秘密キー を作成してアクセスキーとシークレットキーとして使用すれば良い。
オブジェクトストレージネームスペースの取得
- コンソールの右上の、ユーザーのアイコンが表示されている部分をクリックし、
テナンシ: <テナント名>というリンクをクリック - 表示された画面の中央に表示されている、
オブジェクト・ストレージ・ネームスペースという ID が必要になるのでコピーする。

S3 互換 URL の取得
今まで取得した情報を組み合わせて、アクセス用 URL を組み立てる
https://ネームスペース.compat.objectstorage.リージョン.oraclecloud.com
- ネームスペースは、上記で取得した
オブジェクト・ストレージ・ネームスペース - リージョンは、コンソールの URL を見てください。 console.ap-tokyo-1.oraclecloud.com なら ap-tokyo-1 がリージョンです
- アクセスキー、アクセスシークレットは上記で取得したものを使ってください
蛇足
この内容が判明するまで
検索しまくったり色々として 2 時間くらいをツブしました。。がっくり。
Classic な話とか、旧バージョンとかで操作が大分違うようで、大混乱しました。
オブジェクトストレージネームスペース
オブジェクトストレージネームスペースは、とりあえず テナント名 を入れて接続して、(繋がるには繋がります)
適当にフォルダを作る操作などをすると、エラーメッセージの中に入っている・・・が、普通に拾っても面倒ではないので本当に蛇足。