

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 適用於 IAM 的商業使用案例
<a name="business-use-cases"></a>

IAM 的簡單商業使用案例可協助您了解實作服務的基本方式，以控制使用者擁有的 AWS 存取。使用案例是在一般條款中說明，並不包含您如何使用 IAM API 來達到您想要的結果的機制。

此使用案例示範稱為 Example Corp 的虛構公司可以兩種典型的方式使用 IAM。第一個案例會考慮 Amazon Elastic Compute Cloud (Amazon EC2)。第二個則考慮 Amazon Simple Storage Service (Amazon S3)。

如需將 IAM 與來自 的其他 服務搭配使用的詳細資訊 AWS，請參閱 [AWS 使用 IAM 的 服務](reference_aws-services-that-work-with-iam.md)。

**Topics**
+ [範例企業的初始設定](#InitSetupExampleCorp_IAM)
+ [搭配 Amazon EC2 的 IAM 使用案例](#UseCase_EC2)
+ [搭配 Amazon S3 的 IAM 使用案例](#UseCase_S3)

## 範例企業的初始設定
<a name="InitSetupExampleCorp_IAM"></a>

Nikki Wolf 和 Mateo Jackson 是 Example Corp. 的創辦人。 啟動公司時，他們會建立 AWS 帳戶 並設定 AWS IAM Identity Center (IAM Identity Center) 來建立管理帳戶，以搭配其 AWS 資源使用。當您為管理使用者設定帳戶存取權時，IAM Identity Center 會建立對應的 IAM 角色。此角色由 IAM Identity Center 控制，在相關 中建立 AWS 帳戶，而 **AdministratorAccess** 許可集中指定的政策會連接到角色。

因為他們現在有管理員帳戶，Nikki 和 Mateo 不再需要使用其根使用者來存取他們的 AWS 帳戶。他們計劃僅將根使用者用於完成只能由根使用者執行的任務。在檢閱安全最佳實務之後，他們要為根使用者憑證設定多重要素驗證 (MFA)，並決定如何保護其根使用者憑證的安全。

隨著公司的發展，他們聘請員工擔任開發人員、管理員、測試人員、經理和系統管理員。Nikki 負責營運，而 Mateo 管理工程團隊。他們要設定 Active Directory Domain Server 來管理員工帳戶並管理對內部公司資源的存取權。

為了提供員工 AWS 資源的存取權，他們使用 IAM Identity Center 將公司的 Active Directory 連接到他們的 AWS 帳戶。

因為他們將 Active Directory 連接到 IAM Identity Center，使用者、群組和群組成員資格將會被同步並且得到定義。他們必須將許可集和角色指派給不同的群組，讓使用者能夠正確存取 AWS 資源。他們在 [AWS 任務函數的 受管政策](access_policies_job-functions.md)中使用 AWS 管理主控台 來建立這些許可集：
+ *管理員*
+ *帳單*
+ *開發人員*
+ *網路管理員*
+ *資料庫管理員*
+ *系統管理員*
+ *支援使用者*

然後，他們要指派這些許可集合到被指派給其 Active Directory 群組的角色。

如需了解描述 IAM Identity Center 初始組態的逐步指南，請參閱《AWS IAM Identity Center 使用者指南》**中的[入門](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-assign-account-access-admin-user.html)。如需有關佈建 IAM Identity Center 使用者存取權的詳細資訊，請參閱《AWS IAM Identity Center 使用者指南》**中的[單一登入存取 AWS 帳戶](https://docs.aws.amazon.com/singlesignon/latest/userguide/useracces.html)。

## 搭配 Amazon EC2 的 IAM 使用案例
<a name="UseCase_EC2"></a>

與 Example Corp 類似的公司通常會使用 IAM 與像是 Amazon EC2 的服務互動。若要了解此部分的使用案例，您需要對 Amazon EC2 有基本的理解。如需有關 Amazon EC2 的詳細資訊，請前往《Amazon EC2 使用者指南》[https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/)。

### 使用者群組的 Amazon EC2 權限
<a name="EC2_PermissionsGroups"></a>

為了提供「周邊」控制，Nikki 將政策連接到 AllUsers 使用者群組。如果來源 IP 地址位於 Example Corp 的公司網路之外，此政策會拒絕來自使用者的任何 AWS 請求。

在 Example Corp，不同 IAM 群組需要不同的許可：
+ **System administrators** (系統管理員) – 需要許可才能建立及管理受管 AMI、執行個體、快照、磁碟區、安全群組等。Nikki 會將 `AmazonEC2FullAccess` AWS 受管政策連接至 SysAdmins 使用者群組，讓群組成員有權使用所有 Amazon EC2 動作。
+ **Developers** (開發人員) – 僅需要使用執行個體的能力。Nikki 因此建立政策並將其連接到 Developers 使用者群組，讓開發人員能夠呼叫 `DescribeInstances`、`RunInstances`、`StopInstances`、`StartInstances` 和 `TerminateInstances`。
**注意**  
Amazon EC2 使用 SSH 金鑰、Windows 密碼及安全群組控制擁有特定 Amazon EC2 執行個體作業系統存取權限的對象。IAM 系統中沒有方法，可允許或拒絕存取特定執行個體的作業系統。
+ **Support 使用者** – 除了列出目前可用的 Amazon EC2 資源之外，不應擁有執行任何 Amazon EC2 動作的許可。因此，Nikki 建立政策並將其連接到 Support 使用者群組，只讓他們呼叫 Amazon EC2「描述」API 操作。

如需這些政策的外觀範例，請參閱《*Amazon EC2 使用者指南*》中的 [以身分為基礎的 IAM 政策範例](access_policies_examples.md) 和[使用 AWS Identity and Access Management](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/index.html?UsingIAM.html)。

### 使用者的任務職能變更
<a name="EC2_UserRoleChange"></a>

在某個時間點，其中一名開發人員 Paulo Santos 變更了工作職能成為經理。身為經理，Paulo 成為 Support 使用者群組的一員，因此他可以為其開發人員開啟支援案例。Mateo 將 Paulo 從 Developers 使用者群組移到 Support 使用者群組。其結果是，他與 Amazon EC2 執行個體互動的能力受到限制。他無法啟動或開始執行個體。他也無法停止或終止現有的執行個體，即使他是啟動或開始執行個體的使用者。他只能列出 Example Corp 使用者啟動的執行個體。

## 搭配 Amazon S3 的 IAM 使用案例
<a name="UseCase_S3"></a>

與 Example Corp 相似的公司通常也會搭配 Amazon S3 使用 IAM。John has created an Amazon S3 bucket for the company called *amzn-s3-demo-bucket*.

### 建立其他使用者和使用者群組
<a name="S3_CreationOtherUsersGroups"></a>

員工 Zhang Wei 和 Mary Major 每個都需要能夠在公司的儲存貯體中建立自己的資料。他們也需要讀取和寫入所有開發人員共用的資料。為啟用此功能，Mateo 依據邏輯使用 Amazon S3 金鑰字首 (key prefix) 機制在 amzn-s3-demo-bucket 中安排資料，如下圖所示。

```
/amzn-s3-demo-bucket
    /home
        /zhang
        /major
    /share
        /developers
        /managers
```

Mateo 為每個員工將 `/amzn-s3-demo-bucket` 區分為一組主目錄，以及為開發人員和管理員的群組一個共用的區域。

現在 Mateo 建立一組政策以指派許可給使用者和使用者群組：
+ **Zhang 的主目錄存取權** – Mateo 將政策連接到 Wei，讓他可以讀取、寫入及列出具有 Amazon S3 金鑰字首 (key prefix) `/amzn-s3-demo-bucket/home/zhang/` 的任何物件 
+ **Major 的主目錄存取權** – Mateo 將政策連接到 Mary，讓她可以讀取、寫入及列出具有 Amazon S3 金鑰字首 (key prefix) `/amzn-s3-demo-bucket/home/major/` 的任何物件
+ **開發人員使用者群組的共享目錄存取權** – Mateo 將政策連接到使用者群組，讓開發人員可以讀取、寫入及列出 `/amzn-s3-demo-bucket/share/developers/` 中的任何物件
+ **管理員群組的共享目錄存取權** – Mateo 將政策連接到使用者群組，可讓管理員讀取、寫入及列出 `/amzn-s3-demo-bucket/share/managers/` 中的物件

**注意**  
Amazon S3 不會自動授予建立儲存貯體或物件的使用者，在該儲存貯體或物件上執行其他動作的許可。因此，在您的 IAM 政策中，您必須明確地提供使用者許可，以使用他們建立的 Amazon S3 資源。

如需這些政策的範例，請參閱 *Amazon Simple Storage Service 使用者指南*中的[存取控制](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingAuthAccess.html)。如需執行時間期間評估政策方式的資訊，請參閱[政策評估邏輯](reference_policies_evaluation-logic.md)。

### 使用者的任務職能變更
<a name="S3_UserRoleChange"></a>

在某個時間點，其中一名開發人員 Zhang Wei 變更了工作職能成為經理。我們假設他不再需要存取 `share/developers` 目錄中的文件。Mateo 身為管理員，將 Wei 移到 `Managers` 使用者群組並移出 `Developers` 使用者群組。只需簡單的重新指派，Wei 就會自動取得授予到 `Managers` 使用者群組的所有許可，但不再存取 `share/developers` 目錄中的資料。

### 與第三方企業整合
<a name="S3_3rdPartyBusiness"></a>

組織通常會與合作夥伴公司、顧問和承包商合作。Example Corp 有合作夥伴稱為 Widget Company 的公司，而 Widget Company 雇用名為 Shirley Rodriguez 的員工，其需要將資料放入儲存貯體中供 Example Corp 使用。Nikki 建立一個名為 *WidgetCo* 的使用者群組和名為 `Shirley` 的使用者，然後將 Shirley 新增到 WidgetCo 使用者群組。Nikki 也建立名為 *amzn-s3-demo-bucket1* 的特殊儲存貯體，供 Shirley 使用。

Nikki 更新現有政策或新增新的政策，以包含合作夥伴公司 Widget Company。例如，Nikki 可以建立新的政策，拒絕 WidgetCo 使用者群組的成員能夠使用寫入以外的任何動作。此政策只在有廣泛的政策可讓所有使用者存取多種 Amazon S3 動作時才必要。