--- title: 02-IAM-實作 tags: hand-on lang: zh-tw --- # 01-經典雲應用架構總覽 更新時間: 2021-01-06 利用 EPCAR 的概念,先帶幾個常用且實用的情境,並以中心的S3做設定。 :::info s3 的 bucket 在建立時,預設都是先對外全關。也就是無法 READ or WRITE。 ![](https://i.imgur.com/6qo9FJP.png) ::: :::danger 但我記得中心的好像不一樣,但我還說不出來哪裡不一樣, 簡單來說,TWCC 的 s3 用任意的 s3 GUI Client + token 就可以對 s3 做操作,但是 AWS 的 s3 不行這樣操作,AWS 的 s3 ACL 好像一開始就封死了。 ::: --- ## 使用工具 使用的是 S3 browser 這個 S3 的工具。 > s3 browser 是 S3 的 Client User Interface(唉唷~就使用者介面啦!),缺點是指提供 windows 安裝。 > ~~windows大好!!~~ 不過等一下操作,會利用 AWS Policy Generator 進行示範。 | 環境 | s3 Client | 備註 | | ------- | ---------- | --- | | mac os | Cyberduck | 無法撰寫 policy,需用別的工具 | | windows | s3 browser | 可撰寫 policy | | AWS | - | | ~~沒有環境的人,哭著求我吧XDD! 工作壓力太大惹~~ --- ## 情境01 :::info - 開一個名稱為 demo-01 的 bucket。 - 只有 140.110.%.% 的人"可以" access ::: ```josn { "Id": "Policy1609755217023", "Version": "2012-10-17", "Statement": [ { "Sid": "IPAllow", "Action": "s3:*", "Effect": "Allow", "Resource": "arn:aws:s3:::demo-01/*", "Condition": { "IpAddress": { "aws:SourceIp": "140.110.93.137/16" } }, "Principal": "*" } ] } ``` --- ## 情境02 :::info - 開一個名稱為 demo-02 的 bucket。 - 任何IP都可連線 - 只有 140.110.%.% 的人"不可以" access ::: :::success 小技巧: 如果要 allow 全部 IP,其實可以 condition 直接不寫。 ::: ```josn { "Id": "Policy1609938798477", "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1609938767829", "Action": "s3:*", "Effect": "Allow", "Resource": "arn:aws:s3:::demo-02/*", "Condition": { "IpAddress": { "aws:SourceIp": "0.0.0.0/0" } }, "Principal": "*" }, { "Sid": "Stmt1609938796656", "Action": "s3:*", "Effect": "Deny", "Resource": "arn:aws:s3:::demo-02/*", "Condition": { "IpAddress": { "aws:SourceIp": "140.110.93.137/16" } }, "Principal": "*" } ] } ``` --- ## reference - [Amazon S3 Bucket Policies. How to configure Amazon S3 Bucket Policies. Examples of Bucket Policies. How to apply Amazon S3 Buckets Policies. View, Edit, Delete Amazon S3 Bucket Policies.](https://s3browser.com/working-with-amazon-s3-bucket-policies.aspx?v=8.9.7&fam=x64#amazon-s3-bucket-policies-examples): 把裡面的例子讀懂,其實我覺得很不錯!! --- ## END