---
# System prepended metadata

title: 02-IAM-實作
tags: [hand-on]

---

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