---
title: 02-IAM-實作
tags: hand-on
lang: zh-tw
---
# 01-經典雲應用架構總覽
更新時間: 2021-01-06
利用 EPCAR 的概念,先帶幾個常用且實用的情境,並以中心的S3做設定。
:::info
s3 的 bucket 在建立時,預設都是先對外全關。也就是無法 READ or WRITE。

:::
:::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