2024年11月5日

Operating System

IT関連でかっこいい名前募集です。

[AWS]AWSソリューションアーキテクトアソシエイト出題試験範囲 第3回 〜Operation/S3〜 

1 min read

こんにちは!!
少し期間が空いてしまいましたが、S3について今回も学習していきたいと思います!
S3はAWSの中でも中心的なサービスで、かなり勉強することが多いのです!!

では、今回のお品書きです…

  1. バージョニング管理機能について
  2. S3のアクセス管理方式について
  3. バケットポリシーについて
  4. まとめ

1.バージョニング管理機能について

バージョニング機能はざっくりいうと、ユーザーの誤操作などでデータを削除してしまっても、バージョンから復元ができる機能です!
デフォルトで、この機能は無効となっているため、有効にすることで使用が可能となります。

バージョニング機能は、バケット内のオブジェクトに対して「バージョン」という概念を生み出します。「バージョン」とは、ゲームで言うセーブデータみたいなものです。

バイオハザードやギャルゲーなどの自分の意図したタイミングでセーブできるゲームでは、いくつもセーブデータが作成されますよね??それらが「バージョン」と呼ばれるものです!

↓バイオハザードのセーブデータです。

では、どのようなタイミングでバージョンが作成されるかと言いますと、同じキーを持つオブジェクトがアップロードされた場合に、新しくアップロードしたオブジェクトは現在のバージョンになり、前のオブジェクトは以前のバージョンになります。

もう少し噛み砕いていうと…

オブジェクトをアップロードした際に、それと同じキーを持つオブジェクトが以前のバージョンとしてセーブされます!ということになります。

因みにですが…

「オブジェクトのバージョンを消したら意味ないじゃん!!」という方に、MFA delete」という、オブジェクトバージョンを完全に削除したり、バケットのバージョニング状態を変更したりするにはMFA認証を必要とさせるオプションがあります。

2.S3のアクセス管理について

S3のアクセス権限と一口に言っても、「バケット」「オブジェクト」などによってアクセス方式が違うので、それらにも注目して紹介していきたいと思います。

IAMユーザーポリシー
 内部のIAMユーザーやリソースに対して、S3に
 対してのアクセス権限や操作権限を与えることが
 できる。

バケットポリシー
 外部のユーザーも含めてJSON形式でのバケット
 へのアクセス権限を付与することができる。


ACL
 オブジェクト(バケットも可)単位でのアクセス
 権限を付与することができる。

事前証明書付きURL
 AWS SDK(Pythonなどのプログラミング言語
 を使用する開発キッド)で生成した、URLで
 S3オブジェクトのURLにアクセスする権限を一
 定期間付与することができる。
 ⇨ユースケースとしては、主にインターネット上
  の第三者にURL(バケットの中身)を閲覧さ
  せるときに使用する。

3.バケットポリシーについて

バケットポリシーはS3のバケットに対して設定するポリシーです。
バケットを指定して、アクションを押すことで設定することができ、JSON(JAVA Script)で記載されます。

※※バケットポリシーの例※※
——————————-
{ “Version”:”2012-10-17″,
 ”Statement”:[ { “Sid”:”PublicRead”,  ”Effect”:”Allow”,
 ”Principal”: “*”,
 ”Action”  [“s3:GetObject”,”s3:GetObjectVersion”],  ”Resource”:
[“arn:aws:s3:::DOC-EXAMPLE-BUCKET/*”] } ] }
——————————-


バケットポリシーは以下の要素で
構成がされています。

Version
 ⇨ポリシーの言語のバージョン
Statement
 ⇨ここからポリシーを記載していく
Sid
 ⇨バケットポリシー名
Effect
 ⇨許可をするポリシーであれば、「Allow」
  許可をしないためのポリシーなら、「Dinai」
Principal
 ⇨ポリシー内容を適用するAWSアカウントや、
  IAMユーザーを指定する。
Action
 ⇨このポリシーで定義する内容。
  このバケットに対して、何をしていいのか?
  何をしたらいけない、何をさせたくないのか?
Resource
 ⇨ポリシーを適用するバケットを指定
Condition
 ⇨ポリシーを適用する場合の条件で、
  例えば、IPアドレスなどを絞ることができる。

これらをJSON形式で記載することによって、バケットポリシーを作成することができます。

バケットポリシーを覚える際に、IAMポリシーと記載方法は同じJSONだが、設定方法は違うということに注意をしてください!

4.まとめ

・バージョニング管理機能を使用することで
 誤って削除してしまったオブジェクトなどを
 復活させることが可能!

・S3のアクセス管理方式は、誰を対象にするのか
 で異なってくるが、外部に公開する際には、主に
 「事前証明書付きURL」を使う。

・バケットポリシーは、バケット単位で作成する事
 ができ、いくつもの要素で構成がされている。

    コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です

    Copyright © All rights reserved. | Newsphere by AF themes.