技術ブログ株式会社エーピーコミュニケーションズの技術ブログです。エーピーコミュニケーションズの技術ブログです。>はじめにこんにちは、クラウド事業部のおほりです。中で最も歴史あるサービスで、3月14日に17周年を迎えます。なんて名前がついたお誕生日会が開催されたりもします。pages.awscloud.comそんなS3ですが長い歴史のせいでアクセス制御周りが複雑化していて、アクセスコントロールリスト、バケットポリシー、ブロックパブリックアクセス、ニンニクマシマシアブラカラメ、、、、、一体何をどうしたら良いのだ!と混乱しがちです。ここらで簡単にまとめてセキュリティの不安を払拭しましょう。Service(ACLは古い方式のアクセス制御なので、今後の利用は非推奨となっています。)ACLは簡単に言うと「アクセスしてOKな人リスト」で、バケットとオブジェクトひとつひとつに対して紐づいています。難しく言うと「被付与者(grantee)に対するアクセス許可(grant)を羅列したもの」です。コンソールのACL設定画面が一番分かりやすいのでお見せしましょう。バケットのACLS3バケットのACL設定画面バケットのACL設定画面です。バケットのACLを変更できる※一覧するだけです。オブジェクトのデータを読み込むには、オブジェクトのACLで許可されていないといけません。ホワイトアウトしているチェックボックスがありますが、これは事故防止のためコンソールから設定できないようになっているだけで、CLIから操作できます。("全員"に対する"オブジェクトの書き込み"など)オブジェクトのACLオブジェクトのACL設定画面こちらはあるオブジェクトに紐づいているACLの設定画面です。オブジェクトのACLを変更できるバケットのACLで「オブジェクトのリスト」を許可していなくても、オブジェクトのACLで「オブジェクトの読み込み」を許可しているとデータを読み取れてしまうので注意しなければなりません。ホワイトアウトしているチェックボックスはバケットのACL同様事故防止の意味合いのものと、バケットにブロックパブリックアクセスが設定されていることに起因するものがあります。(後述)バケットポリシーバケットポリシーはバケット単位で設定できるポリシーです。個々のオブジェクトに紐づくものではありませんが、オブジェクト単位のアクセス制御もひとつのバケットポリシー内に記述できます。統合されている点で、S3のバケットポリシーはIAMで言うところのリソースベースポリシーにあたります。IDベースのポリシー(IAMポリシー)とバケットポリシー両方で許可されていなければS3へ操作を行うことはできません。IAMの評価フローについては以下をご参照ください。ServiceブロックパブリックアクセスブロックパブリックアクセスはS3が外部公開状態になるのを防ぐガードレール的な機能です。Users」グループに対する許可すべてバケットポリシーにおいては、ソースを一切絞らないような記述※を指します。「不特定多数」とも言い換えられるでしょう。指定するか、Conditionで具体的なVPCに絞れば不特定多数ではなくなりますので、「パブリック」と見なされません。既存のバケットポリシーにおける「パブリック」な設定を無視・無効化することで、バケットを全世界に公開してしまうことを防ぎます。特段理由なき場合はブロックパブリックアクセスをすべて有効化しておくことをお勧めします。デフォルト設定(2023-03-15現在の情報です)何も設定を変えずにS3バケットを作成したとき、ACLが無効ブロックパブリックアクセスが全て有効となります。デフォルトではバケットポリシーのみでアクセスが制御され、不特定多数への公開は常に防止される状態です。初期設定ではバケットポリシーは空なので、そのバケットを作ったアカウントのプリンシパルだけがアクセスできるようになっています。S3のセキュリティ強化に役立つサービスS3のアクセス制御について述べましたが、複数のバケットを管理している場合、それらひとつひとつの設定を確認するのは現実的ではありません。IAMアクセスアナライザーを用いれば、S3バケットへの外部アクセスをまとめて分析できます。誰に対してどのような操作を許可しているのかをコンソールから簡単に確認できますので、定期的に確認を行うことをおすすめします。GuardDutyで不審なアクセスを発見できます。docs.aws.amazon.comdocs.aws.amazon.comこれらのサービスを使って、楽に、継続的にセキュリティガバナンスを向上させていきましょう。おわりに私達クラウド事業部はAWSなどのクラウド技術を活用したSI/SESのご支援をしております。https://www.ap-com.co.jp/service/utilize-aws/また、一緒に働いていただける仲間も募集中です!今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。おほりAWSをメインにインフラ系のご支援を担当しています。Engineeringの導入支援、データ&AI基盤に関連するサービスを提供しています。わたしたちは「エンジニアとお客様を笑顔にする」というVisionを掲げ、インフラエンジニアの未来を創るNeoSIerとして工夫と挑戦を行い続けます。読者になるこのブログについて引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。