AWSは初心者には何がどこで課金されているのかわかりずらいという話を書きましたが、AWSがわかりずらのはそれだけではありません。
- AWS Consoleの説明、ヘルプの説明が、ほとんど英語の機械翻訳のそのまま。なので、日本語的におかしいし、(英語の原文を見ると、あーなるほどなと思うフシもある)どう見ても、不自然な文章。
- AWS ConsoleのGUIの変更が激しい。1年〜2年前のちょっと古い記事、blogでも、もうその画面は変わっている。記事、blogで書かれている箇所が今のAWS Consoleのどこに相当するのか、考えないといけない。
- 色々と機能が豊富すぎる。^^; もっと最低限に絞ってもいいと思う。後から、後から機能追加された新機能があっても、それでも今まで使っていた古い機能も使っているひとがいるので、無くすことはできない。そうやって、膨らんでいっている。
例えばAWS S3のアクセス制御。S3も単なるGoogleDriveやBox、OneDriveみたいなストレージかと思っていたら、いやいや、機能満載で、奥深い。
Bugetを作る時にまず、ACL無効か有効化で分かれ道がある。どうやら、ACL無効にできる機能が追加になったのが2021年らしい。なのでこの画面は2021から。AWSはACL無効を推奨している。(って、ことはそれまでは全部ACL有効だったってこと?)ま、だからここはACL無効でいいんじゃないか。全般的にACL無効の流れらしい。
で、次。
ここで面食らってしまう。この説明読んですぐわかる人いるんだろうか・・・?
AWS S3にはアクセスコントロールの種類が3つあって、
- ACL(アクセスコントロールリスト)
- バケットポリシー
- IAMポリシー
IAMはIAMなんでAWS内部からのアクセス制御なんだろうな。
それに対し外からのアクセス制御がACLとバケットポリシーのふたつがあるのか。
上の図で言う1番目と2番めはACLのことを言っているのだと思う。
3番目と4番目はバケットポリシーのことを言っているのだと思う。
S3としては極力外部からアクセスを許さないように倒す(情報漏えい対策)ので、ACLやバゲットポリーで誤って外部からのアクセスを許可しても、それをブロックするのがここの機能らしい。
で、
- 新しいACL
- 任意のACL
- 新しいバゲットポリシー
- 任意のバゲットポリシー
で、新しい/任意、ACL/バゲットポリシーで、2×2になっているが、この新しい/任意って、何なの?この説明じゃ、さっぱりわからない。どうやら、この辺の解説を読むと・・・
非凡な才能をください。 都心でサラリーマンやってます。書きます。
「新しい」は新規にバゲット、オブジェクトが作られるときに付くACL、バゲットポリシーのことを言っているらしい。この時にパブリック・アクセスが有りでもブロックすると言っているのだと思う。
それに対し「任意の」は既にあるバゲット、オブジェクトで変更が加えられないものを指しているのか?それが、パブリック・アクセスが有りでもブロックすると言っているのだと思う。
うーん・・・「新しい/任意の」てか、「新規の/既存の」方が意味が合っているのでは?AWS Consoleのこういうところがわかりずらい。
そもそも、分ける必要あるのか?「任意の」が両方カバーすりゃいいんじゃないのか?と思うが、そこがAWS。違うらしい。
「新しい」はACLやバゲットポリシーの編集の際に、パブリック・アクセスを誤って付けてしまうのを防ごうという意図らしい。なので、今、オブジェクトが0個ならば、「新しい」だけ付けておけば、ACLやバゲットポリシーでパブリックアクセスを許可することができない。(許可したバゲット、オブジェクトが作れない)
それに対し、「任意の」はもう既にパブリックアクセスを許可してしまっているものをブロックする意図らしい。
うーむ・・・AWSのプロフェッショナルになってくれば、AWS Consoleに書いてある説明や、ヘルプは「あー、ここは、こういうことを言っているのね・・・」って雰囲気で分かるんだろうが、そこまで行くにはかなりの修行を積む必要がありそうだ。
AWSエキスパートの方々には突っ込みどころ満載であるかもしれませんが、あくまでも初心者目線で、別な初心者がハマるであろうところに着目した記事であるということでご容赦いただきたい。