

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

# 安全與許可
<a name="workingsecurity"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

您的每個使用者都必須有適當的 AWS 登入資料，才能存取您帳戶 AWS 的資源。向使用者提供登入資料的建議方法是使用 [AWS Identity and Access Management](https://docs.aws.amazon.com/iam/)(IAM)。 OpsWorks Stacks 與 IAM 整合，可讓您控制下列項目：
+ 個別使用者如何與 Stacks OpsWorks 互動。

  例如，您可以允許某些使用者在任何堆疊部署應用程式，但不能修改堆疊本身，同時授予其他使用者特定堆疊的完整存取權等等。
+ Stacks OpsWorks 如何代表您存取堆疊資源，例如 Amazon EC2 執行個體和 Amazon S3 儲存貯體。

  OpsWorks Stacks 提供的服務角色會授予這些任務的許可。
+ 在 Stacks 控制之 Amazon EC2 OpsWorks 執行個體上執行的應用程式如何存取其他 AWS 資源，例如存放在 Amazon S3 儲存貯體上的資料。

  您可以將執行個體描述檔指派給 layer 的執行個體，以授予在這些執行個體上執行的應用程式存取其他 AWS 資源的許可。
+ 如何管理以使用者為基礎的 SSH 金鑰，以及使用 SSH 或 RDP 連線到執行個體。

  針對每個堆疊，管理使用者都可以指派每個 使用者個人的 SSH 金鑰，或授權使用者指定自己的金鑰。您也可以在每個使用者的堆疊執行個體上授權 SSH 或 RDP 存取權以及 sudo 或管理員權限。

其他安全方面包括下列項目：
+ 如何使用最新的安全性修補程式管理更新您的執行個體作業系統。

  如需詳細資訊，請參閱[管理安全性更新](workingsecurity-updates.md)。
+ 如何設定 [Amazon EC2 安全群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)來控制往返執行個體的網路流量。

  如何指定自訂安全群組，而不是 OpsWorks Stacks 預設安全群組。如需詳細資訊，請參閱[使用安全群組](workingsecurity-groups.md)。

**Topics**
+ [管理 OpsWorks Stacks 使用者許可](opsworks-security-users.md)
+ [允許 OpsWorks Stacks 代表您採取行動](opsworks-security-servicerole.md)
+ [Stacks OpsWorks 中的跨服務混淆代理人預防](cross-service-confused-deputy-prevention-stacks.md)
+ [指定在 EC2 執行個體上執行之應用程式的許可](opsworks-security-appsrole.md)
+ [管理 SSH 存取](security-ssh-access.md)
+ [管理 Linux 安全性更新](workingsecurity-updates.md)
+ [使用安全群組](workingsecurity-groups.md)

# 管理 OpsWorks Stacks 使用者許可
<a name="opsworks-security-users"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

最佳實務是將 OpsWorks Stacks 使用者限制為一組指定的動作或一組堆疊資源。您可以透過兩種方式控制 OpsWorks Stacks 使用者許可：使用 OpsWorks Stacks **許可**頁面，以及套用適當的 IAM 政策。

OpsWorks **許可**頁面 - 或同等的 CLI 或 API 動作 - 可讓您透過為每個使用者指派多個許可*層級中的一個來控制多使用者環境中的使用者許可*。每個層級都會授予特定堆疊資源之標準動作組的許可。使用 **Permissions (許可)** 頁面，您可以控制下列項目：
+ 誰可以存取每個堆疊。
+ 每個使用者在每個堆疊上允許執行的動作有哪些。

  例如，您可以允許一部分的使用者僅能檢視堆疊，其他使用者則能部署應用程式、新增執行個體等。
+ 誰可以管理每個堆疊。

  您可以將每個堆疊的管理委派給一或多個指定的使用者。
+ 在每個堆疊的 Amazon EC2 執行個體上具有使用者層級 SSH 存取和 sudo 權限 (Linux) 或 RDP 存取和管理員權限 (Windows) 的人員。

  您可以隨時為每個使用者分別授予或移除這些許可。

**重要**  
拒絕 SSH/RDP 存取不一定能防止使用者登入執行個體。如果您為執行個體指定 Amazon EC2 金鑰對，則任何具有對應私有金鑰的使用者都可以登入或使用金鑰來擷取 Windows 管理員密碼。如需詳細資訊，請參閱[管理 SSH 存取](security-ssh-access.md)。

您可以使用 [IAM 主控台](https://console.aws.amazon.com/iam)、CLI 或 API 將政策新增至您的使用者，以授予各種 OpsWorks Stacks 資源和動作的明確許可。
+ 使用 IAM 政策來指定許可比使用許可層級更靈活。
+ 您可以設定 [IAM 身分 （使用者、使用者群組和角色）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)，將許可授予 IAM 身分，例如使用者和使用者群組，或定義可與聯合身分使用者相關聯的[角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。
+ IAM 政策是授予特定金鑰 Stacks OpsWorks 動作許可的唯一方法。

  例如，您必須使用 IAM 授予 `opsworks:CreateStack`和 的許可`opsworks:CloneStack`，這些許可分別用於建立和複製堆疊。

雖然無法在主控台中明確匯入聯合身分使用者，但聯合身分使用者可以透過選擇 Stacks OpsWorks 主控台右上角的**我的設定**，然後選擇右上角的使用者，隱含地建立**使用者**設定檔。在**使用者**頁面上，聯合身分使用者 - 透過使用 API 或 CLI 建立帳戶，或隱含地透過主控台 - 可以像非聯合身分使用者一樣管理其帳戶。

兩種方式並非互斥關係，有時候合併使用兩者也會非常有用。 OpsWorks Stacks 接著便會評估這兩組許可。例如，假設您希望允許使用者新增或刪除執行個體，但不希望其新增或刪除 layer。沒有任何 OpsWorks Stacks 許可層級會授予該特定許可集。不過，您可以使用**許可**頁面授予使用者**管理**許可層級，以允許他們執行大多數堆疊操作，然後套用拒絕新增或移除層許可的 IAM 政策。如需詳細資訊，請參閱[使用 政策控制對 資源的 AWS 存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html)。

以下是管理使用者許可的典型模型。在每個案例中，皆預設讀者 (即您) 具備管理員身分。

1. 使用 [IAM 主控台](https://console.aws.amazon.com/iam)將 AWSOpsWorks\$1FullAccess 政策套用至一或多個管理使用者。

1. 使用不授予 OpsWorks Stacks 許可的政策為每個非管理使用者建立使用者。

   如果使用者只需要存取 OpsWorks Stacks，您可能完全不需要套用政策。您可以改為使用 OpsWorks Stacks Permissions 頁面來管理其**許可**。

1. 使用 OpsWorks Stacks **使用者**頁面將非管理使用者匯入 OpsWorks Stacks。

1. 針對每個堆疊，使用堆疊的 **Permissions (許可)** 頁面，將許可層級指派給每個使用者。

1. 視需要套用適當設定的 IAM 政策，以自訂使用者的許可層級。

如需管理使用者的詳細建議，請參閱 [最佳實務：管理許可](best-practices-permissions.md)。

如需 IAM 最佳實務的詳細資訊，請參閱《[IAM 使用者指南》中的 IAM 中的安全最佳實務](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。 **

**Topics**
+ [管理 OpsWorks Stacks 使用者](opsworks-security-users-manage.md)
+ [授予每個 OpsWorks 堆疊的 Stacks 使用者許可](opsworks-security-users-console.md)
+ [連接 OpsWorks IAM 政策來管理 Stacks 許可](opsworks-security-users-policy.md)
+ [範例政策](opsworks-security-users-examples.md)
+ [OpsWorks Stacks 許可層級](opsworks-security-users-standard.md)

# 管理 OpsWorks Stacks 使用者
<a name="opsworks-security-users-manage"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

您必須先為每個人建立使用者，才能將使用者匯入 OpsWorks Stacks 並授予許可。若要建立 IAM 使用者，請先以已授予 IAMFullAccess 政策中定義許可的使用者 AWS 身分登入 。然後，您可以使用 IAM 主控台為需要存取 Stacks 的每個人[建立 IAM 使用者](opsworks-security-users-create-user.md)。 OpsWorks 然後，您可以將這些使用者匯入 Stacks OpsWorks ，並授予使用者許可，如下所示：

**一般 OpsWorks Stacks 使用者**  
一般使用者不需要連接政策。如果他們確實有，則通常不包含任何 OpsWorks Stacks 許可。反之，請使用 OpsWorks Stacks **許可**頁面，以stack-by-stack方式將下列其中一個許可層級指派給一般使用者。  
+ **Show (顯示)** 許可允許使用者檢視堆疊，但不允許其執行任何操作。
+ **Deploy (部署)** 許可包含 **Show (顯示)** 許可，並且也會允許使用者部署及更新應用程式。
+ **Manage (管理)** 許可包含 **Deploy (部署)** 許可，但也會允許使用者執行堆疊管理操作 (例如新增 layer 或執行個體、使用 **Permissions (許可)** 頁面設定使用者許可，以及啟用其自身的 SSH/RDP 和 sudo/admin 權限)。
+ **Deny (拒絕)** 許可會拒絕存取堆疊。
如果這些許可層級不如您想要的特定使用者，您可以透過套用 IAM 政策來自訂使用者的許可。例如，您可能想要使用 OpsWorks Stacks **許可**頁面將**管理**許可層級指派給使用者，這會授予他們執行所有堆疊管理操作的許可，但不會建立或複製堆疊。然後，您可以透過拒絕這些許可來套用限制這些許可的政策，以新增或刪除層，或透過允許它們建立或複製堆疊來增強這些許可。如需詳細資訊，請參閱[連接 OpsWorks IAM 政策來管理 Stacks 許可連接 IAM 政策](opsworks-security-users-policy.md)。

**OpsWorks Stacks 管理使用者**  
管理使用者是帳戶擁有者或具有 [AWSOpsWorks\$1FullAccess 政策](opsworks-security-users-examples.md#opsworks-security-users-examples-admin)所定義許可的 IAM 使用者。除了授予給 **Manage (管理)** 使用者的許可之外，此政策還包含無法透過 **Permissions (許可)** 頁面授予的動作許可，例如以下項目：  
+ 將使用者匯入 OpsWorks Stacks
+ 建立和複製堆疊
如需取得完整的政策，請參閱[範例政策](opsworks-security-users-examples.md)。如需只能透過套用 IAM 政策授予使用者之許可的詳細清單，請參閱 [OpsWorks Stacks 許可層級許可層級](opsworks-security-users-standard.md)。

**Topics**
+ [使用者和區域](#UsersandRegions)
+ [建立 OpsWorks Stacks 管理使用者](opsworks-security-users-manage-admin.md)
+ [為 Stacks 建立 IAM OpsWorks 使用者](opsworks-security-users-create-user.md)
+ [將使用者匯入 OpsWorks Stacks](opsworks-security-users-manage-import.md)
+ [編輯 OpsWorks Stacks 使用者設定](opsworks-security-users-manage-edit.md)

## 使用者和區域
<a name="UsersandRegions"></a>

OpsWorks Stacks 使用者可在其建立所在的區域端點中使用。您可以在下列任何區域中建立使用者。
+ 美國東部 (俄亥俄) 區域
+ 美國東部 (維吉尼亞北部) 區域
+ 美國西部 (奧勒岡) 區域
+ 美國西部 (加利佛尼亞北部) 區域
+ 加拿大 （中部） 區域 （僅限 API；不適用於 AWS 管理主控台
+ 亞太地區 (孟買) 區域
+ 亞太區域 (新加坡) 區域
+ 亞太 (雪梨) 區域
+ 亞太 (東京) 區域
+ 亞太區域 (首爾) 區域
+ 歐洲 (法蘭克福) 區域
+ 歐洲 (愛爾蘭) 區域
+ 歐洲 (倫敦) 區域
+ 歐洲 (巴黎) 區域
+ 南美洲 (聖保羅) 區域

當您將使用者匯入 Stacks OpsWorks 時，您可以將其匯入其中一個區域端點；如果您希望使用者可在多個區域中使用，則必須將使用者匯入該區域。您也可以將 OpsWorks Stacks 使用者從一個區域匯入另一個區域；如果您將使用者匯入已有相同名稱使用者的區域，則匯入的使用者會取代現有的使用者。如需匯入使用者的詳細資訊，請參閱[匯入使用者](opsworks-security-users-manage-import.md)。

# 建立 OpsWorks Stacks 管理使用者
<a name="opsworks-security-users-manage-admin"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

您可以透過將 `AWSOpsWorks_FullAccess`政策新增至使用者來建立 OpsWorks Stacks 管理使用者，以授予該使用者 OpsWorks Stacks 完整存取許可。如需建立管理使用者的詳細資訊，請參閱[建立管理使用者](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-set-up.html#create-an-admin)。

**注意**  
AWSOpsWorks\$1FullAccess 政策允許使用者建立和管理 OpsWorks Stacks 堆疊，但使用者無法為堆疊建立 IAM 服務角色；他們必須使用現有的角色。建立堆疊的第一個使用者必須具有額外的 IAM 許可，如中所述[管理許可](opsworks-security-users-examples.md#opsworks-security-users-examples-admin)。當此使用者建立第一個堆疊時， OpsWorks Stacks 會建立具有所需許可的 IAM 服務角色。之後，任何具有 `opsworks:CreateStack` 許可的使用者皆能使用該角色建立額外的堆疊。如需詳細資訊，請參閱[允許 OpsWorks Stacks 代表您採取行動](opsworks-security-servicerole.md)。

當您建立使用者時，您可以視需要新增額外的客戶受管政策來微調使用者的許可。例如，您可能希望管理使用者能夠建立或刪除堆疊，但無法匯入新的使用者。如需詳細資訊，請參閱[連接 OpsWorks IAM 政策來管理 Stacks 許可連接 IAM 政策](opsworks-security-users-policy.md)。

如果您有多個管理使用者，而不是為每個使用者分別設定許可，您可以將 AWSOpsWorks\$1FullAccess 政策新增至 IAM 群組，並將使用者新增至該群組。

如需建立群組的資訊，請參閱[建立 IAM 使用者群組](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups_create.html)。當您建立群組時，請新增 **AWSOpsWorks\$1FullAccess** 政策。您也可以新增 **AdministratorAccess** 政策，其中包含 **AWSOpsWorks\$1FullAccess** 許可。

如需將許可新增至現有群組的詳細資訊，請參閱[將政策連接至 IAM 使用者群組](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups_manage_attach-policy.html)。

# 為 Stacks 建立 IAM OpsWorks 使用者
<a name="opsworks-security-users-create-user"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

您需要先建立 IAM 使用者，才能將他們匯入 OpsWorks Stacks。您可以使用 [IAM 主控台](https://console.aws.amazon.com/iam/)、命令列或 API 來執行此操作。如需完整說明，請參閱[在 AWS 帳戶中建立 IAM 使用者](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html)。

請注意，與[管理使用者](opsworks-security-users-manage-admin.md)不同，您不需要連接政策以定義許可。您可以在[將使用者匯入 OpsWorks Stacks](opsworks-security-users-manage-import.md) 之後設定許可，如[管理使用者許可](opsworks-security-users.md)中所解釋。

如需建立 IAM 使用者和群組的詳細資訊，請參閱 [IAM 入門](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html)。

# 將使用者匯入 OpsWorks Stacks
<a name="opsworks-security-users-manage-import"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

管理使用者可以將使用者匯入 OpsWorks Stacks；也可以將 OpsWorks Stacks 使用者從一個區域端點匯入另一個區域端點。當您將使用者匯入 Stacks OpsWorks 時，您可以將他們匯入其中一個 OpsWorks Stacks 區域端點。如果您希望使用者可在多個區域中使用，您必須將使用者匯入該區域。

雖然無法明確地在主控台中匯入聯合身分使用者，但聯合身分使用者可以透過選擇 Stacks OpsWorks 主控台右上角的**我的設定**，然後選擇使用者，也可以在右上角隱含地建立**使用者**設定檔。在**使用者**頁面上，聯合身分使用者 - 透過使用 API 或 CLI 建立帳戶，或隱含地透過主控台 - 可以像非聯合身分使用者一樣管理其帳戶。

**將使用者匯入 OpsWorks Stacks**

1. 以管理使用者或帳戶擁有者身分登入 OpsWorks Stacks。

1. 選擇位於右上方的 **Users (使用者)** 以開啟 **Users (使用者)** 頁面。  
![\[顯示 us-east-1 使用者的 Users (使用者) 頁面\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/permissions_users_page.png)

1. 選擇**將 IAM 使用者匯入 <*region name*>**，以顯示可用但尚未匯入的使用者。  
![\[Users (使用者) 頁面上的 Import (匯入) 命令\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/permissions_import.png)

1. 填滿 **Select all (選取全部)** 核取方塊，或是選取一或多個個別使用者。當您完成時，請選擇 **Import to OpsWorks (匯入 OpsWorks)**。
**注意**  
將使用者匯入 OpsWorks Stacks 之後，如果您使用 IAM 主控台或 API 從您的帳戶中刪除使用者，使用者不會自動失去您透過 OpsWorks Stacks 授予的 SSH 存取權。您也必須從 OpsWorks Stacks 刪除使用者，方法是開啟**使用者**頁面，然後在使用者**的動作**欄中選擇**刪除**。

**將 OpsWorks Stacks 使用者從一個區域匯入到另一個區域**

OpsWorks Stacks 使用者可在其建立所在的區域端點中使用。您可以在 中顯示的區域中建立使用者[使用者和區域](opsworks-security-users-manage.md#UsersandRegions)。

您可以將 OpsWorks Stacks 使用者從一個區域匯入目前篩選**使用者**清單的區域。如果您將使用者匯入已有相同名稱使用者的 區域，則匯入的使用者會取代現有的使用者。

1. 以管理使用者或帳戶擁有者身分登入 OpsWorks Stacks。

1. 選擇位於右上方的 **Users (使用者)** 以開啟 **Users (使用者)** 頁面。如果您在多個區域中有 OpsWorks Stacks 使用者，請使用**篩選條件**控制項來篩選您要匯入使用者的 區域。  
![\[顯示 us-east-1 使用者的 Users (使用者) 頁面\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/permissions_users_page.png)

1. 選擇將 **Stacks OpsWorks 使用者從另一個區域匯入至 <*目前區域*>**。  
![\[顯示 us-west-2 使用者的 Users (使用者) 頁面\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/permissions_import_otherregion.png)

1. 選取您要從中匯入 Stacks OpsWorks 使用者的 區域。

1. 選取要匯入的一或多個使用者，或是選取所有使用者，然後選擇 **Import to this region (匯入此區域)**。等待 OpsWorks Stacks 在使用者清單中顯示匯入**的使用者**。

## Unix 外部堆疊建立IDs OpsWorks 和使用者
<a name="w2ab1c14c67c15c35c17c17"></a>

OpsWorks 會在 OpsWorks 2000 到 4000 之間指派 Stacks 執行個體上的使用者 Unix ID (UID) 值。由於 OpsWorks 會保留 2000-4000 範圍的 UIDs，因此您在 之外建立的使用者 OpsWorks （例如使用技術指南配方，或從 IAM OpsWorks 將使用者匯入 ) 可以擁有由 OpsWorks Stacks 為其他使用者覆寫的 UIDs。這可能會導致您在 OpsWorks Stacks 外部建立的使用者未出現在資料包搜尋結果中，或被排除在 OpsWorks Stacks 內建`sync_remote_users`操作之外。

外部程序也可以使用 Stacks 可以覆寫UIDs OpsWorks 建立使用者。舉例來說，有些作業系統套件可能會建立使用者，做為後安裝程序的一部分。當您或軟體程序在 Linux 作業系統上建立使用者時，而不明確指定 UID，這是預設值，Stacks OpsWorks 指派的 UID 是 *<最高現有 OpsWorks UID>* \$1 1。

最佳實務是在 OpsWorks Stacks 主控台中 AWS CLI或使用 AWS SDK 建立 OpsWorks Stacks 使用者並管理其存取權。如果您在外部的 OpsWorks Stacks 執行個體上建立使用者 OpsWorks，請使用大於 4000 的 *UnixID* 值。

# 編輯 OpsWorks Stacks 使用者設定
<a name="opsworks-security-users-manage-edit"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

在您匯入使用者之後，您可以編輯其設定，如下所示：

**編輯使用者設定**

1. 在 **Users (使用者)** 頁面上，在使用者的 **Actions (動作)** 資料行中選擇 **edit (編輯)**。

1. 您可以指定下列設定。  
**自我管理**  
選取 **Yes (是)** 以允許使用者使用 MySettings 頁面指定自身的 SSH 金鑰。  
您也可以將 IAM 政策新增至授予 [DescribeMyUserProfile](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeMyUserProfile.html) 和 [UpdateMyUserProfile](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_UpdateMyUserProfile.html) 動作許可的 IAM 身分，以啟用自我管理。  
**公有 SSH 金鑰**  
(選用) 輸入使用者的公有 SSH 金鑰。此金鑰會顯示在使用者的 **My Settings (我的設定)** 頁面上。若您啟用自我管理，使用者可編輯 **My Settings (我的設定)** 並指定其自身的金鑰。如需詳細資訊，請參閱[註冊使用者的公有 SSH 金鑰](security-settingsshkey.md)。  
OpsWorks Stacks 會在所有 Linux 執行個體上安裝此金鑰；使用者可以使用相關聯的私有金鑰來登入。如需詳細資訊，請參閱[使用 SSH 登入](workinginstances-ssh.md)。您無法搭配 Windows 堆疊使用此金鑰。  
**許可**  
(選擇性) 在同一處設定使用者每個堆疊的許可層級，而非透過使用每個堆疊的 **Permissions (許可)** 頁面分別設定他們。如需許可層級的詳細資訊，請參閱[授予每個堆疊的許可](opsworks-security-users-console.md)。  
![\[User details page showing name, ARN, SSH settings, and permission levels for various stacks.\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/permissions_edit_user.png)

# 授予每個 OpsWorks 堆疊的 Stacks 使用者許可
<a name="opsworks-security-users-console"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

管理 OpsWorks Stacks 使用者許可的最簡單方法是使用堆疊的**許可**頁面。每個堆疊都有自己的頁面，可授予該堆疊的許可。

您必須以管理使用者身分或 **Manage (管理)** 使用者登入，才能修改任何許可設定。此清單只會顯示已匯入 Stacks OpsWorks 的使用者。如需如何建立和匯入使用者的資訊，請參閱[管理使用者](opsworks-security-users-manage.md)。

預設許可層級是僅限 IAM 政策，只會授予使用者在其 IAM 政策中的那些許可。
+ 當您從 IAM 或其他區域匯入使用者時，系統會將使用者新增至具有 **IAM 僅政策**許可層級之所有現有堆疊的清單。
+ 根據預設，您剛從另一個區域匯入的使用者無法存取目的地區域中的堆疊。如果您從另一個區域匯入使用者，若要讓他們管理目的地區域中的堆疊，則必須在匯入使用者之後將許可指派給這些堆疊。
+ 當您建立新的堆疊時，所有目前的使用者都會新增至清單，並帶有 **IAM Policies Only (僅限 IAM 政策)** 許可層級。

**Topics**
+ [設定使用者的許可](#opsworks-security-users-console-set)
+ [檢視您的許可](#opsworks-security-users-console-viewing)
+ [使用 IAM 條件金鑰驗證暫時登入資料](#w2ab1c14c67c15c37c21)

## 設定使用者的許可
<a name="opsworks-security-users-console-set"></a>

**設定使用者的許可**

1. 在導覽窗格中，選擇 **Permissions (許可)**。

1. 在 **Permissions (許可)** 頁面上，選擇 **Edit (編輯)**。

1. 變更 **Permission level (許可層級)** 和 **Instance access (執行個體存取)** 設定。
   + 使用 **Permissions level (許可層級)** 設定指派其中一個標準許可層級給每個使用者。該許可層級會判斷使用者是否可以存取堆疊，以及使用者可執行的動作為何。如果使用者具有 IAM 政策， OpsWorks Stacks 會評估兩組許可。如需範例，請參閱[範例政策](opsworks-security-users-examples.md)。
   + **Instance access (執行個體存取)** **SSH/RDP** 設定會指定使用者是否具有堆疊執行個體的 SSH (Linux) 或 RDP (Windows) 存取。

     若您授權 **SSH/RDP** 存取，您可以選擇性的選取 **sudo/admin**，授予使用者堆疊執行個體上的 sudo (Linux) 或管理 (Windows) 權限。  
![\[使用許可頁面管理使用者。\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/permissions-edit.png)

您可以將每個使用者指派給下列其中一個許可層級。如需每個層級允許動作的清單，請參閱[OpsWorks Stacks 許可層級許可層級](opsworks-security-users-standard.md)。

**拒絕**  
使用者無法在堆疊上執行任何 OpsWorks Stacks 動作，即使他們具有授予 Stacks 完整存取許可的 IAM OpsWorks 政策。舉例來說，您可能會使用此層級來拒絕某些使用者存取未發行產品的堆疊。

**僅限 IAM 政策**  
預設層級，這是指派給所有新匯入使用者，以及新建立堆疊中所有使用者的層級。使用者的許可取決於其 IAM 政策。如果使用者沒有 IAM 政策，或其政策沒有明確的 OpsWorks Stacks 許可，則無法存取堆疊。管理使用者通常會獲指派此層級，因為其 IAM 政策已授予完整存取許可。

**Show (顯示)**  
使用者可檢視堆疊，但無法執行任何操作。例如，管理人員可能希望監控帳戶的堆疊，但不需要部署應用程式或以任何方式修改堆疊。

**部署**  
包含 **Show (顯示)** 許可，同時也會允許使用者部署應用程式。例如，應用程式開發人員可能需要將更新部署到堆疊的執行個體，但不需要將 layer 或執行個體新增至堆疊。

**Manage (管理)**  
包含 **Deploy (部署)** 許可，但同時也會允許使用者執行各種堆疊管理操作，包含：  
+ 新增或刪除 layer 和執行個體。
+ 使用堆疊的 **Permissions (許可)** 頁面將許可層級指派給使用者。
+ 註冊或取消註冊資源。
例如，每個堆疊可以有一名指定管理人員，負責確認堆疊具有適當數目及類型的執行個體、處理套件和作業系統更新等。  
管理層級無法讓使用者建立或複製堆疊。這些許可必須由 IAM 政策授予。如需範例，請參閱 [管理許可](opsworks-security-users-examples.md#opsworks-security-users-examples-manage)。

如果使用者也有 IAM 政策， OpsWorks Stacks 會評估兩組許可。這可讓您將許可層級指派給使用者，然後套用政策來限制或增強層級的允許動作。例如，您可以套用允許**管理**使用者建立或複製堆疊的政策，或拒絕該使用者註冊或取消註冊資源的能力。如需這類政策的一些範例，請參閱[範例政策](opsworks-security-users-examples.md)。

**注意**  
若使用者的政策允許額外的動作，其結果可能會覆寫 **Permissions (許可)** 頁面設定。例如，如果使用者的政策允許 [CreateLayer](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateLayer.html) 動作，但您使用**許可**頁面指定**部署**許可，則使用者仍然可以建立層。此規則的例外是**拒絕**選項，即使具有 AWSOpsWorks\$1FullAccess 政策的使用者也拒絕堆疊存取。如需詳細資訊，請參閱[使用 政策控制對 AWS 資源的存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html)。

## 檢視您的許可
<a name="opsworks-security-users-console-viewing"></a>

若已啟用 [self-management](opsworks-security-users-manage-edit.md)，使用者可透過選擇位於右上角的 **My Settings (我的設定)**，來檢視其在每個堆疊上的許可層級。**** 如果使用者的政策授予 [DescribeMyUserProfile](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeMyUserProfile.html) 和 [UpdateMyUserProfile](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_UpdateMyUserProfile.html) 動作的許可，使用者也可以存取 My Settings。

## 使用 IAM 條件金鑰驗證暫時登入資料
<a name="w2ab1c14c67c15c37c21"></a>

OpsWorks Stacks 具有內建的授權層，可支援其他授權案例 （例如簡化管理個別使用者的唯讀或讀寫堆疊存取）。此授權 layer 依存於使用暫時登入資料。因此，您無法使用 `aws:TokenIssueTime`條件來驗證使用者是否使用長期登入資料，或封鎖使用臨時登入資料之使用者的動作，如 [IAM 文件中的 IAM JSON 政策元素參考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Conditions_Null)所述。

# 連接 OpsWorks IAM 政策來管理 Stacks 許可
<a name="opsworks-security-users-policy"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

您可以連接 IAM OpsWorks 政策來指定使用者的 Stacks 許可。連接的政策為某些許可的必要項目：
+ 管理使用者許可 (例如匯入使用者)。
+ 某些動作的許可 (例如建立或複製堆疊)。

如需需要已連接政策的完整動作清單，請參閱[OpsWorks Stacks 許可層級許可層級](opsworks-security-users-standard.md)。

您也可以使用政策來自訂透過許可頁面授予**的許可**層級。本節提供如何將 IAM 政策套用至使用者以指定 Stacks OpsWorks 許可的簡短摘要。如需詳細資訊，請參閱 [AWS 資源的存取管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)。

IAM 政策是包含一或多個*陳述*式的 JSON 物件。每個陳述式元素皆有一個許可清單，其具備自身三個基本元素：

**Action**  
許可影響的動作。您可以將 OpsWorks Stacks 動作指定為 `opsworks:action`。`Action` 可設為特定動作，例如 `opsworks:CreateStack`，這會指定是否允許使用者呼叫 [https://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateStack.html](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateStack.html)。您也可以使用萬用字元指定動作群組。例如，`opsworks:Create*` 會指定所有建立動作。如需 Stacks OpsWorks 動作的完整清單，請參閱 [OpsWorks Stacks API 參考](https://docs.aws.amazon.com/opsworks/latest/APIReference/Welcome.html)。

**效果**  
允許或拒絕指定動作。

**Resource**  
許可影響 AWS 的資源。 OpsWorks 堆疊有一個資源類型，即堆疊。若要指定特定堆疊資源的許可，請將 `Resource` 設為堆疊的 ARN，其格式如下：`arn:aws:opsworks:region:account_id:stack/stack_id/`。  
您也可以使用萬用字元。例如，將 `Resource` 設為 `*` 會授予每個資源的許可。

例如，下列政策會拒絕使用者停止 ID 為 `2860-2f18b4cb-4de5-4429-a149-ff7da9f0d8ee` 之堆疊上的執行個體。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": "opsworks:StopInstance",
      "Effect": "Deny",
      "Resource": "arn:aws:opsworks:*:*:stack/2f18b4cb-4de5-4429-a149-ff7da9f0d8ee/"
    }
  ]
}
```

------

如需將許可新增至 IAM 使用者的詳細資訊，請參閱 [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)。

如需如何建立或修改 IAM 政策的詳細資訊，請參閱 [IAM 中的政策和許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)。如需 Stacks OpsWorks 政策的一些範例，請參閱 [範例政策](opsworks-security-users-examples.md)。

# 範例政策
<a name="opsworks-security-users-examples"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

本節說明可套用至 Stacks 使用者的範例 IAM OpsWorks 政策。
+ [管理許可](#opsworks-security-users-examples-admin) 描述用來將許可授予管理使用者的政策。
+ [管理許可](#opsworks-security-users-examples-manage) 和 [部署許可](#opsworks-security-users-examples-deploy)顯示可套用至使用者以增強或限制管理和部署許可層級的政策範例。

  OpsWorks Stacks 透過評估 IAM 政策授予的許可以及許可頁面授予**的**許可，來決定使用者的許可。如需詳細資訊，請參閱[使用 政策控制對 AWS 資源的存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html)。如需 **Permissions (許可)** 頁面許可的詳細資訊，請參閱[OpsWorks Stacks 許可層級許可層級](opsworks-security-users-standard.md)。

## 管理許可
<a name="opsworks-security-users-examples-admin"></a>

使用 IAM 主控台 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)：// AWSOpsWorks\$1FullAccess 政策，將此政策連接至使用者，以授予他們執行所有 Stacks OpsWorks 動作的許可。需要 IAM 許可，才能允許管理使用者匯入使用者。

您必須建立 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)，允許 OpsWorks Stacks 代表您存取其他 AWS 資源，例如 Amazon EC2 執行個體。您通常會讓管理使用者建立第一個堆疊，並讓 OpsWorks Stacks 為您建立角色，以處理此任務。您接著可以使用針對所有後續的堆疊使用該角色。如需詳細資訊，請參閱[允許 OpsWorks Stacks 代表您採取行動](opsworks-security-servicerole.md)。

建立第一個堆疊的管理使用者必須具有 AWSOpsWorks\$1FullAccess 政策中未包含的一些 IAM 動作的許可。將下列許可新增至政策的 `Actions`區段。若要取得適當的 JSON 語法，請務必在動作之間新增逗號，並移除動作清單結尾的結尾逗號。

```
"iam:PutRolePolicy",
"iam:AddRoleToInstanceProfile",
"iam:CreateInstanceProfile",
"iam:CreateRole"
```

## 管理許可
<a name="opsworks-security-users-examples-manage"></a>

**Manage (管理)** 許可 layer 級允許使用者執行各種堆疊管理動作，包含新增或刪除 layer。本主題說明數個政策，可用來**管理**使用者以增強或限制標準許可。

拒絕 **Manage (管理)** 使用者新增或刪除 layer。  
您可以限制**管理**許可層級，以允許使用者執行所有**管理**動作，但使用下列 IAM 政策新增或刪除層除外。將 *region*、*account\$1id* 和 *stack\$1id* 取代為您的組態適用的值。

允許 **Manage (管理)** 使用者建立或複製堆疊  
**管理**許可層級不允許使用者建立或複製堆疊。您可以變更**管理**許可，以允許使用者套用下列 IAM 政策來建立或複製堆疊。將 *region* 和 *account\$1id* 取代為您的組態適用的值。

拒絕 Manage (管理) 使用者註冊或取消註冊資源。  
**管理**許可層級允許使用者向堆疊[註冊和取消註冊 Amazon EBS 和彈性 IP 地址資源](resources-reg.md)。您可以藉由套用下列政策，限制**管理**許可以允許使用者執行除註冊資源以外的所有**管理**動作。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "opsworks:RegisterVolume",
        "opsworks:RegisterElasticIp"
      ],
      "Resource": "*"
    }
  ]
}
```

允許 **Manage (管理)** 使用者匯入使用者  
**管理**許可層級不允許使用者將使用者匯入 OpsWorks Stacks。您可以透過套用下列 IAM 政策來增強**管理**許可，以允許使用者匯入和刪除使用者。將 *region* 和 *account\$1id* 取代為您的組態適用的值。

## 部署許可
<a name="opsworks-security-users-examples-deploy"></a>

**Deploy (部署)** 許可層級不允許使用者建議或刪除應用程式。您可以擴增**部署**許可，以允許使用者套用下列 IAM 政策來建立和刪除應用程式。將 *region*、*account\$1id* 和 *stack\$1id* 取代為您的組態適用的值。

# OpsWorks Stacks 許可層級
<a name="opsworks-security-users-standard"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

本節列出 OpsWorks Stacks 許可頁面上**顯示**、**部署****和管理****許可**層級所允許的動作。它還包含一個動作清單，您只能透過將 IAM 政策套用至使用者來授予許可。

**Show (顯示)**  
**Show (顯示)** 層級允許 `DescribeXYZ` 命令，除了以下例外：  

```
DescribePermissions
DescribeUserProfiles
DescribeMyUserProfile
DescribeStackProvisioningParameters
```
若管理使用者已啟用使用者的自我管理，**Show (顯示)** 使用者也可以使用 `DescribeMyUserProfile` 和 `UpdateMyUserProfile`。如需自我管理的詳細資訊，請參閱[編輯使用者設定](opsworks-security-users-manage-edit.md)。

**部署**  
除了 **Show (顯示)** 層級允許的動作之外，**Deploy (部署)** 層級還允許以下動作。  

```
CreateDeployment
UpdateApp
```

**Manage (管理)**  
除了 **Deploy (部署)** 和 **Show (顯示)** 層級允許的動作之外，**Manage (管理)** 層級還允許以下動作。  

```
AssignInstance
AssignVolume
AssociateElasticIp
AttachElasticLoadBalancer
CreateApp
CreateInstance
CreateLayer
DeleteApp
DeleteInstance
DeleteLayer
DeleteStack
DeregisterElasticIp
DeregisterInstance
DeregisterRdsDbInstance
DeregisterVolume
DescribePermissions
DetachElasticLoadBalancer
DisassociateElasticIp
GrantAccess
GetHostnameSuggestion
RebootInstance
RegisterElasticIp
RegisterInstance
RegisterRdsDbInstance
RegisterVolume
SetLoadBasedAutoScaling
SetPermission
SetTimeBasedAutoScaling
StartInstance
StartStack
StopInstance
StopStack
UnassignVolume
UpdateElasticIp
UpdateInstance
UpdateLayer
UpdateRdsDbInstance
UpdateStack
UpdateVolume
```

**需要 IAM 政策的許可**  
您必須將適當的 IAM 政策套用至使用者，以授予下列動作的許可。如需一些範例，請參閱[範例政策](opsworks-security-users-examples.md)。  

```
CloneStack
CreateStack
CreateUserProfile
DeleteUserProfile
DescribeUserProfiles
UpdateUserProfile
```

# 允許 OpsWorks Stacks 代表您採取行動
<a name="opsworks-security-servicerole"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

OpsWorks Stacks 需要代表您與各種 AWS 服務互動。例如， OpsWorks Stacks 會與 Amazon EC2 互動以建立執行個體，並與 Amazon CloudWatch 互動以取得監控統計資料。當您建立堆疊時，您可以指定 IAM 角色，通常稱為服務角色，以授予 OpsWorks Stacks 適當的許可。

![\[新增堆疊頁面中的 IAM 角色清單。\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/add-stack-iamrole.png)


當您指定新堆疊的服務角色時，您可以執行下列其中一項作業：
+ 指定您先前建立的標準服務角色。

  您通常可以在建立您第一個堆疊時建立一個標準服務角色，然後針對所有後續的堆疊使用該角色。
+ 指定您使用 IAM 主控台或 API 建立的自訂服務角色。

  如果您想要授予 OpsWorks Stacks 比標準服務角色更多的有限許可，此方法非常有用。

**注意**  
若要建立您的第一個堆疊，您必須在 IAM **AdministratorAccess** 政策範本中定義許可。這些許可會允許 OpsWorks Stacks 建立新的 IAM 服務角色，允許您匯入使用者，[如先前所述](opsworks-security-users-manage-import.md)。針對所有後續堆疊，使用者可選取為第一個堆疊建立的服務角色。他們不需要完整的管理許可也能建立堆疊。

標準服務角色會授予下列許可：
+ 執行所有 Amazon EC2 動作 (`ec2:*`)。
+ 取得 CloudWatch 統計資料 (`cloudwatch:GetMetricStatistics`)。
+ 使用 Elastic Load Balancing 將流量分配到伺服器 (`elasticloadbalancing:*`)。
+ 使用 Amazon RDS 執行個體做為資料庫伺服器 (`rds:*`)。
+ 使用 IAM 角色 (`iam:PassRole`) 在 OpsWorks Stacks 和 Amazon EC2 執行個體之間提供安全通訊。

如果您建立自訂服務角色，您必須確保它授予 Stacks OpsWorks 管理堆疊所需的所有許可。下列 JSON 範本是標準服務角色的政策聲明；自訂服務角色應該在其政策聲明中至少包含以下許可。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ec2:*",
                "iam:PassRole",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:DescribeAlarms",
                "ecs:*",
                "elasticloadbalancing:*",
                "rds:*"
            ],
            "Effect": "Allow",
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "ec2.amazonaws.com"
                }
            }
        }
    ]
}
```

------

服務角色也具有信任關聯。Stacks OpsWorks 建立的服務角色具有下列信任關係。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "StsAssumeRole",
      "Effect": "Allow",
      "Principal": {
        "Service": "opsworks.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

服務角色必須具有此信任關係， Stacks OpsWorks 才能代表您採取行動。若您使用預設服務角色，請不要修改信任關聯。如果您要建立自訂服務角色，請執行下列其中一項動作來指定信任關係：
+ 如果您在 [IAM 主控台](https://console.aws.amazon.com/iam/home#roles)中使用**建立角色**精靈，請在**選擇使用案例**中選擇 **Opsworks**。此角色具有適當的信任關係，但不會隱含連接任何政策。若要授予 OpsWorks Stacks 代表您執行動作的許可，請建立包含下列項目的客戶受管政策，並將其連接至新角色。

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
          "cloudwatch:DescribeAlarms",
          "cloudwatch:GetMetricStatistics",
          "ec2:*",
          "ecs:*",
          "elasticloadbalancing:*",
          "iam:GetRolePolicy",
          "iam:ListInstanceProfiles",
          "iam:ListRoles",
          "iam:ListUsers",
          "rds:*"
        ],
        "Resource": [
          "*"
        ]
      },
      {
        "Effect": "Allow",
        "Action": [
          "iam:PassRole"
        ],
        "Resource": "*",
        "Condition": {
          "StringEquals": {
            "iam:PassedToService": "ec2.amazonaws.com"
          }
        }
      }
    ]
  }
  ```

------
+ 如果您使用的是 CloudFormation 範本，您可以將類似下列內容新增至範本**的資源**區段。

  ```
  "Resources": {
    "OpsWorksServiceRole": {
        "Type": "AWS::IAM::Role",
        "Properties": {
          "AssumeRolePolicyDocument": {
              "Statement": [ {
                "Effect": "Allow",
                "Principal": {
                    "Service": [ "opsworks.amazonaws.com" ]
                },
                "Action": [ "sts:AssumeRole" ]
              } ]
          },
          "Path": "/",
          "Policies": [ {
              "PolicyName": "opsworks-service",
              "PolicyDocument": {
                ...
              } ]
          }
        },
     }
  }
  ```

# Stacks OpsWorks 中的跨服務混淆代理人預防
<a name="cross-service-confused-deputy-prevention-stacks"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

混淆代理人問題屬於安全性議題，其中沒有執行動作許可的實體可以強制具有更多許可的實體執行該動作。在 中 AWS，跨服務模擬可能會導致混淆代理人問題。在某個服務 (*呼叫服務*) 呼叫另一個服務 (*被呼叫服務*) 時，可能會發生跨服務模擬。可以操縱呼叫服務來使用其許可，以其不應有存取許可的方式對其他客戶的資源採取動作。為了預防這種情況， AWS 提供的工具可協助您保護所有服務的資料，而這些服務主體已獲得您帳戶中資源的存取權。

我們建議在堆疊存取政策中使用 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)和 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)全域條件內容金鑰，以限制 AWS OpsWorks Stacks 為堆疊提供其他服務的許可。如果 `aws:SourceArn` 值不包含帳戶 ID (例如 Amazon S3 儲存貯體 ARN)，您必須使用這兩個全域條件內容金鑰來限制許可。如果同時使用這兩個全域條件內容金鑰，且 `aws:SourceArn` 值包含帳戶 ID，則在相同政策陳述式中使用 `aws:SourceAccount` 值和 `aws:SourceArn` 值中的帳戶時，必須使用相同的帳戶 ID。`aws:SourceArn` 如果您希望只有一個堆疊與跨服務存取相關聯，請使用 。`aws:SourceAccount` 如果您想要允許該帳戶中的任何堆疊與跨服務使用相關聯，請使用 。

的值`aws:SourceArn`必須是 OpsWorks 堆疊的 ARN。

防範混淆代理人問題最有效的方法是使用`aws:SourceArn`全域條件內容索引鍵搭配 Stacks 堆疊的完整 ARN OpsWorks 。如果您不知道完整的 ARN，或者如果您指定多個堆疊 ARNs，請將`aws:SourceArn`全域內容條件金鑰與萬用字元 (`*`) 用於 ARN 的未知部分。例如 `arn:aws:servicename:*:123456789012:*`。

下一節說明如何使用 Stacks 中的 OpsWorks `aws:SourceArn`和 `aws:SourceAccount`全域條件內容索引鍵來防止混淆代理人問題。

## 防止 Stacks OpsWorks 中的混淆代理人入侵
<a name="confused-deputy-opsworks-stacks-procedure"></a>

本節說明如何協助防止 Stacks 中的 OpsWorks 混淆代理人入侵，並包含您可以連接到您用來存取 OpsWorks Stacks 之 IAM 角色的許可政策範例。作為安全最佳實務，建議您將 `aws:SourceArn`和 `aws:SourceAccount`條件金鑰新增至 IAM 角色與其他 服務的信任關係。信任關係可讓 OpsWorks Stacks 擔任角色，在建立或管理您的 Stacks OpsWorks 堆疊所需的其他服務中執行動作。

**編輯信任關係以新增 `aws:SourceArn` 和 `aws:SourceAccount`條件索引鍵**

1. 前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在左側導覽窗格中，選擇 **Roles** (角色)。

1. 在**搜尋**方塊中，搜尋您用來存取 Stacks OpsWorks 的角色。 AWS 受管角色為 `aws-opsworks-service-role`。

1. 在角色的**摘要**頁面上，選擇**信任關係**索引標籤。

1. 在**信任關係**索引標籤上，選擇**編輯信任政策**。

1. 在**編輯信任政策**頁面上，將至少一個 `aws:SourceArn`或 `aws:SourceAccount`條件索引鍵新增至政策。使用 `aws:SourceArn` 將跨服務 （例如 Amazon EC2) 和 OpsWorks Stacks 之間的信任關係限制為更嚴格的特定 OpsWorks Stacks 堆疊。新增 `aws:SourceAccount` 以將跨服務與 Stacks OpsWorks 之間的信任關係限制為特定帳戶中的堆疊，這是較不嚴格的。下列是 範例。請注意，如果您使用兩個條件索引鍵，帳戶 IDs 必須相同。

1. 完成新增條件索引鍵後，請選擇**更新政策**。

以下是使用 `aws:SourceArn`和 限制對 堆疊存取的其他角色範例`aws:SourceAccount`。

**Topics**
+ [範例：存取特定區域中的堆疊](#confused-deputy-opsworks-stacks-example1)
+ [範例：將多個堆疊 ARN 新增至 `aws:SourceArn`](#confused-deputy-opsworks-stacks-example2)

### 範例：存取特定區域中的堆疊
<a name="confused-deputy-opsworks-stacks-example1"></a>

下列角色信任關係陳述式會存取美國東部 （俄亥俄） 區域 () 中的任何 OpsWorks Stacks 堆疊`us-east-2`。請注意，區域是在 ARN 值 中指定`aws:SourceArn`，但堆疊 ID 值是萬用字元 (\$1)。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "opsworks.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "ArnEquals": {
          "aws:SourceArn": "arn:aws:opsworks:us-east-2:123456789012:stack/*"
        }
      }
    }
  ]
}
```

------

### 範例：將多個堆疊 ARN 新增至 `aws:SourceArn`
<a name="confused-deputy-opsworks-stacks-example2"></a>

下列範例限制存取帳戶 ID 123456789012 中兩個 OpsWorks Stacks 堆疊的陣列。

# 指定在 EC2 執行個體上執行之應用程式的許可
<a name="opsworks-security-appsrole"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

如果在堆疊的 Amazon EC2 執行個體上執行的應用程式需要存取其他 AWS 資源，例如 Amazon S3 儲存貯體，則必須具有適當的許可。若要授予那些許可，您可以使用執行個體描述檔。您可以在[建立 Stacks OpsWorks 堆疊](workingstacks-creating.md)時為每個執行個體指定執行個體描述檔。

![\[Add Stack (新增堆疊) 頁面中的 Advanced (進階) 選項。\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/add-stack-instanceproflie.png)


您也可以透過[編輯 layer 組態](workinglayers-basics-edit.md)，來指定 layer 執行個體的描述檔。

執行個體描述檔指定 IAM 角色。在執行個體上執行的應用程式可取得該角色來存取 AWS 資源，並受角色政策授予的許可約束。如需應用程式取得角色之方式的詳細資訊，請參閱[使用 API 呼叫取得角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-assume-role.html)。

您可以透過下列任何一種方式建立執行個體描述檔：
+ 使用 IAM 主控台或 API 來建立設定檔。

  如需詳細資訊，請參閱[角色 (委派及聯合)](https://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html)。
+ 使用 CloudFormation 範本建立設定檔。

  如需如何在範本中包含 IAM 資源的一些範例，請參閱 [Identity and Access Management (IAM) 範本程式碼片段](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html)。

執行個體描述檔必須具備信任關聯及授予存取 AWS 資源許可的連接政策。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

執行個體描述檔必須具有此信任關係， Stacks OpsWorks 才能代表您採取行動。若您使用預設服務角色，請不要修改信任關聯。若您建立自訂服務角色，請指定信任關聯如下：
+ 若您使用 **IAM 主控台**中的 [Create Role (建立角色)](https://console.aws.amazon.com/iam/home#roles) 精靈，請在精靈第二頁的 **AWS Service Roles (AWS 服務角色)** 下方輸入 **Amazon EC2** 角色。
+ 如果您使用的是 CloudFormation 範本，您可以將類似下列內容新增至範本**的資源**區段。

  ```
  "Resources": {
        "OpsWorksEC2Role": {
           "Type": "AWS::IAM::Role",
           "Properties": {
              "AssumeRolePolicyDocument": {
                 "Statement": [ {
                    "Effect": "Allow",
                    "Principal": {
                       "Service": [ "ec2.amazonaws.com" ]
                    },
                    "Action": [ "sts:AssumeRole" ]
                 } ]
              },
              "Path": "/"
           }
        },
        "RootInstanceProfile": {
           "Type": "AWS::IAM::InstanceProfile",
           "Properties": {
              "Path": "/",
              "Roles": [ {
                 "Ref": "OpsWorksEC2Role"
              }
           ]
        }
     }
  }
  ```

建立執行個體描述檔時，您可以將適當的政策連接到該描述檔當時的角色。建立堆疊之後，您必須使用 [IAM 主控台](https://console.aws.amazon.com/iam/)或 API 將適當的政策連接到設定檔的角色。例如，下列政策會授予 Amazon S3 儲存貯體中名為 amzn-s3-demo-bucket 的所有物件的完整存取權。將 *region* 和 amzn-s3-demo-bucket 取代為您的組態適用的值。

如需如何建立和使用執行個體描述檔的範例，請參閱[使用 Amazon S3 儲存貯體](https://docs.aws.amazon.com/opsworks/latest/userguide/gettingstarted.walkthrough.photoapp.html)。

如果您的應用程式使用執行個體描述檔從 EC2 執行個體呼叫 OpsWorks Stacks API，則除了 Stacks 和其他 AWS OpsWorks 服務的適當`iam:PassRole`動作之外，政策還必須允許 動作。`iam:PassRole` 許可允許 OpsWorks Stacks 代您取得服務角色。如需 OpsWorks Stacks API 的詳細資訊，請參閱 [AWS OpsWorks API 參考](https://docs.aws.amazon.com/opsworks/latest/APIReference/Welcome.html)。

以下是 IAM 政策的範例，可讓您從 EC2 執行個體呼叫任何 OpsWorks Stacks 動作，以及任何 Amazon EC2 或 Amazon S3 動作。

**注意**  
如果您不允許 `iam:PassRole`，任何呼叫 OpsWorks Stacks 動作的嘗試都會失敗，並出現如下錯誤：  

```
User: arn:aws:sts::123456789012:federated-user/Bob is not authorized
to perform: iam:PassRole on resource:
arn:aws:sts::123456789012:role/OpsWorksStackIamRole
```

如需針對許可在 EC2 執行個體上使用角色的詳細資訊，請參閱《[ 使用者指南》](https://docs.aws.amazon.com/IAM/latest/UserGuide/role-usecase-ec2app.html)*中的AWS Identity and Access Management 授予在 Amazon EC2 執行個體上執行的應用程式存取 AWS 資源*。

# 管理 SSH 存取
<a name="security-ssh-access"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

OpsWorks Stacks 支援 Linux 和 Windows 堆疊的 SSH 金鑰。
+ 若是 Linux 執行個體，您可以使用 SSH 登入執行個體以執行[代理程式 CLI](agent.md) 命令。

  如需詳細資訊，請參閱[使用 SSH 登入](workinginstances-ssh.md)。
+ 若是 Windows 執行個體，您可以使用 SSH 金鑰取得該執行個體的管理員密碼，以用來登入 RDP。

  如需詳細資訊，請參閱[使用 RDP 登入](workinginstances-rdp.md)。



身分驗證是根據 SSH 金鑰對來進行；金鑰對中包含公有金鑰和私有金鑰：
+ 您會在執行個體上安裝公有金鑰。

  位置取決於特定的作業系統，但 OpsWorks Stacks 會為您處理詳細資訊。
+ 您可將私有金鑰存放在本機，並將其提供給 SSH 用戶端 (例如 `ssh.exe`)，以存取執行個體。

  SSH 用戶端會使用私有金鑰連線到該執行個體。

若要將 SSH 存取權提供給堆疊的使用者，您需要一種可以建立 SSH 金鑰對、在堆疊的執行個體上安裝公有金鑰，以及安全地管理私有金鑰的方式。

Amazon EC2 提供在執行個體上安裝公有 SSH 金鑰的簡單方法。您可以使用 Amazon EC2 主控台或 API，為您計劃使用的每個 AWS 區域建立一或多個金鑰對。Amazon EC2 會將公有金鑰存放在 AWS 上，而您將私有金鑰存放在本機。當您啟動執行個體時，您可以指定其中一個區域的金鑰對，Amazon EC2 會自動將其安裝在執行個體上。然後，您即可使用對應的私有金鑰登入執行個體。如需詳細資訊，請參閱 [Amazon EC2 金鑰對](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)。

使用 OpsWorks Stacks，您可以在建立堆疊時指定其中一個區域的 Amazon EC2 金鑰對，並在建立每個執行個體時選擇性地使用不同的金鑰對覆寫它。當 OpsWorks Stacks 啟動對應的 Amazon EC2 執行個體時，它會指定金鑰對，Amazon EC2 會在執行個體上安裝公有金鑰。然後，您可以使用私有金鑰登入或擷取管理員密碼，就像使用標準 Amazon EC2 執行個體一樣。如需詳細資訊，請參閱[安裝 Amazon EC2 金鑰](security-settingec2key.md)。

使用 Amazon EC2 金鑰對很方便，但有兩個重大限制：
+ Amazon EC2 金鑰對與特定 AWS 區域繫結。

  如果您在多個區域中工作，就必須管理多組金鑰對。
+ 您只能在執行個體上安裝一個 Amazon EC2 金鑰對。

  如果您想要允許多位使用者登入，則所有使用者都必須具備私有金鑰的複本；這不是建議的安全做法。

對於 Linux 堆疊， OpsWorks Stacks 提供更簡單且更靈活的方法來管理 SSH 金鑰對。
+ 每位使用者可註冊個人金鑰對。

  它們會在本機存放私有金鑰，並向 Stacks OpsWorks 註冊公有金鑰，如中所述[註冊使用者的公有 SSH 金鑰](security-settingsshkey.md)。
+ 在設定堆疊的許可時，您可以指定哪些使用者應具備堆疊執行個體的 SSH 存取權。

  OpsWorks Stacks 會自動為每個授權使用者在堆疊的執行個體上建立系統使用者，並安裝其公有金鑰。使用者即可使用對應的私有金鑰登入，如[使用 SSH 登入](workinginstances-ssh.md)中所述。

使用個人 SSH 金鑰有下列優勢。
+ 您不需要手動設定執行個體上的金鑰； OpsWorks Stacks 會自動在每個執行個體上安裝適當的公有金鑰。
+ OpsWorks Stacks 只會安裝授權使用者的個人公有金鑰。

  未經授權的使用者不能使用其個人私有金鑰來存取執行個體。使用 Amazon EC2 金鑰對，任何具有對應私有金鑰的使用者都可以登入，無論是否具有授權的 SSH 存取。
+ 如果使用者不再需要 SSH 存取權，您可以使用 [**Permissions (許可)** 頁面](opsworks-security-users-manage-edit.md)，撤銷使用者的 SSH/RDP 許可。

  OpsWorks Stacks 會立即從堆疊的執行個體解除安裝公有金鑰。
+ 您可以為任何 AWS 區域使用相同的金鑰。

  使用者只需要管理一個私有金鑰。
+ 您不需要共享私有金鑰。

  每位使用者都有自己的私有金鑰。
+ 輪換金鑰非常簡單。

  您或使用者可以在 **My Settings (我的設定)** 中更新公有金鑰，而 OpsWorks Stacks 即會自動更新執行個體。

# 安裝 Amazon EC2 金鑰
<a name="security-settingec2key"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

當您建立堆疊時，您可以指定預設安裝在堆疊中每個執行個體上的 Amazon EC2 SSH 金鑰。

![\[新增堆疊頁面上的預設 SSH 金鑰清單\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/ec2_keys.png)


**預設 SSH 金鑰**清單會顯示您 AWS 帳戶的 Amazon EC2keys。您可以執行下列任一作業：
+ 從清單中選取適當的金鑰。
+ 若不指定任何金鑰，請選取 **Do not use a default SSH key (不使用預設 SSH 金鑰)**。

如果您已選取 **Do not use a default SSH key (不使用預設 SSH 金鑰)**，或是您希望覆寫堆疊的預設金鑰，則可以在您建立執行個體時指定金鑰。

![\[指定 SSH 金鑰\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/instance_keys.png)


當您啟動執行個體時， Stacks OpsWorks 會在 `authorized_keys` 檔案中安裝公有金鑰。

# 註冊使用者的公有 SSH 金鑰
<a name="security-settingsshkey"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

您有兩種方式可以註冊使用者的公有 SSH 金鑰：
+ 管理使用者可以將公有 SSH 金鑰指派給一或多位使用者，並提供對應的私有金鑰給他們。
+ 管理使用者可以啟用一或多位使用者的自我管理。

  這些使用者可以指定自己的公有 SSH 金鑰。

如需了解管理使用者如何啟用自行管理或將公有金鑰指派給使用者的詳細資訊，請參閱 [編輯使用者設定](opsworks-security-users-manage-edit.md)。

若要在 PuTTY 終端機中使用 SSH 連線至 Linux 式執行個體，會需要額外的步驟。如需詳細資訊，請參閱 AWS 文件中的[使用 PuTTY 從 Windows 連線至您的 Linux 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html)和[對您的執行個體連線進行故障診斷](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)。

以下說明啟用自我管理的使用者如何指定其公有金鑰。

**指定您的 SSH 公有金鑰**

1. 建立 SSH 金鑰對。

   最簡單的方法是本機產生金鑰對。如需詳細資訊，請參閱[如何產生自己的金鑰並將它匯入 Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/generating-a-keypair.html#how-to-generate-your-own-key-and-import-it-to-aws)。
**注意**  
如果您使用 PuTTYgen 產生金鑰對，請從公有金鑰複製**公有金鑰，以貼入 OpenSSH authorized\$1keys 檔案**方塊中。按一下 **Save Public Key (儲存公有金鑰)** 時，會將公有金鑰儲存為 MindTerm 不支援的格式。

1. 以啟用自我管理的 IAM 使用者身分登入 OpsWorks Stacks 主控台。
**重要**  
如果您以帳戶擁有者或未啟用自我管理的 IAM 使用者身分登入， OpsWorks Stacks 不會顯示**我的設定**。如果您是管理使用者或帳戶擁有者，則可以前往 **Users (使用者)** 頁面，並[編輯使用者設定](opsworks-security-users-manage-edit.md)，來改為指定 SSH 金鑰。

1. 選取**我的設定**，顯示登入使用者的設定。  
![\[OpsWorks 儀表板中的 My Settings (我的設定) 連結。\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/permissions-mysettings-link.png)

1. 在 **My Settings (我的設定)** 頁面中，按一下 **Edit (編輯)**。  
![\[My Settings (我的設定) 頁面中的 Edit (編輯) 按鈕。\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/mysettings-editbutton.png)

1.  在 **Public SSH Key (公有 SSH 金鑰)** 方塊中，輸入您的 SSH 公有金鑰，然後按一下 **Save (儲存)**。  
![\[My Settings (我的設定) 頁面中的 Public SSH Key (公有 SSH 金鑰) 方塊。\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/mysettings-setsshkey.png)

**重要**  
若要使用內建的 MindTerm SSH 用戶端連線至 Amazon EC2 執行個體，使用者必須以 IAM 使用者身分登入，並擁有向 Stacks 註冊的公有 SSH OpsWorks 金鑰。如需詳細資訊，請參閱[使用內建的 MindTerm SSH 用戶端](workinginstances-ssh-mindterm.md)。

# 管理 Linux 安全性更新
<a name="workingsecurity-updates"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

## 安全性更新
<a name="bestpractice-secupdates"></a>

Linux 作業系統供應商會提供定期更新；其中大部分都是作業系統安全性修補程式，但也可能包含已安裝套件的更新。您應該確保您的執行個體作業系統處於最新狀態，並含有最新的安全性修補程式。

根據預設，當執行個體完成開機後， OpsWorks Stacks 會自動安裝最新的更新。當執行個體上線後， OpsWorks Stacks 不會自動安裝更新，以避免重新啟動應用程式伺服器等中斷。反之，您可以自行管理線上執行個體的更新，將任何中斷降至最低。

我們建議您使用下列其中一個項目，來更新線上執行個體。
+ 建立並啟動新的執行個體，以取代目前的線上執行個體。然後刪除目前的執行個體。

  新的執行個體會在設定期間安裝最新的一組安全性修補程式。
+ 在 Chef 11.10 或較舊版本堆疊中的 Linux 類型執行個體上，執行[更新相依性堆疊命令](workingstacks-commands.md)，以在指定的執行個體上安裝最新一組安全性修補程式和其他更新。

對於這兩種方法， OpsWorks Stacks 透過`yum update`執行 Amazon Linux 和 Red Hat Enterprise Linux (RHEL) 或 `apt-get update` Ubuntu 來執行更新。每個分佈處理更新的方式略有不同，因此您應該查看相關連結中的資訊，以確切了解更新會對您的執行個體造成哪些影響：
+ **Amazon Linux** – Amazon Linux 更新會安裝安全修補程式，也可能安裝功能更新，包括套件更新。

  如需詳細資訊，請參閱 [Amazon Linux AMI 常見問答集](https://aws.amazon.com/amazon-linux-ami/faqs/#lock)。
+ **Ubuntu** – Ubuntu 更新主要僅限於安裝安全修補程式，但也可能針對有限數量的關鍵修正安裝套件更新。

  如需詳細資訊，請參閱 [LTS - Ubuntu Wiki](https://wiki.ubuntu.com/LTS)。
+ **CentOS** – CentOS 更新通常會維持與舊版的二進位相容性。
+ **RHEL** – RHEL 更新通常會維持與舊版的二進位相容性。

  如需詳細資訊，請參閱 [Red Hat Enterprise Linux Life Cycle](https://access.redhat.com/support/policy/updates/errata/)。

如果您想要更多控制更新，例如指定特定套件版本，您可以使用 [CreateInstance](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateInstance.html)、[UpdateInstance](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_UpdateInstance.html)、[CreateLayer](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateLayer.html) 或 [UpdateLayer](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_UpdateLayer.html) 動作，或同等的 [AWS SDK](https://aws.amazon.com/tools/) 方法或 [AWS CLI](https://aws.amazon.com/documentation/cli/) 命令，將 `InstallUpdatesOnBoot` 參數設定為 來停用自動更新`false`。下列範例說明如何使用 AWS CLI 來停用 `InstallUpdatesOnBoot`，以做為現有 layer 的預設設定。

```
aws opsworks update-layer --layer-id layer ID --no-install-updates-on-boot
```

接著，您必須自行管理更新。例如，您可以採用下列其中一個策略：
+ 實作自訂配方，其可[執行適當的 shell 命令](cookbooks-101-basics-commands.md#cookbooks-101-basics-commands-script)以安裝您慣用的更新。

  由於系統更新不會自然對應到[生命週期事件](workingcookbook-events.md)，因此請將配方納入您的自訂技術指南中，但[以手動方式執行](workingcookbook-manual.md)。針對套件更新，您也可以使用 [yum\$1package](https://docs.chef.io/chef/resources.html#yum-package) (Amazon Linux) 或 [apt\$1package](https://docs.chef.io/chef/resources.html#apt-package) (Ubuntu) 資源，而不是 shell 命令。
+ [使用 SSH 登入每個執行個體](workinginstances-ssh.md)，並手動執行適當的命令。

# 使用安全群組
<a name="workingsecurity-groups"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

## 安全群組
<a name="bestpractice-secgroups"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

每個 Amazon EC2 執行個體都有一或多個關聯的安全群組來管理執行個體的網路流量，就像防火牆一樣。安全群組有一或多個「規則」**，每一個都會指定允許流量的特定類別。指定下列項目的規則：
+ 允許流量的類型，例如 SSH 或 HTTP
+ 此流量的通訊協定，例如 TCP 或 UDP
+ 流量來源的 IP 地址範圍
+ 流量的允許連接埠範圍

安全群組有兩種規則類型：
+ 傳入規則管理傳入的網路流量。

  例如，應用程式伺服器執行個體通常有一個傳入規則允許來自任何 IP 地址的 HTTP 流量傳入連接埠 80，另一個傳入規則允許來自指定 IP 地址集的 SSH 流量傳入連接埠 22。
+ 傳出規則管理傳出的網路流量。

  常用實務是使用允許任何傳出流量的預設設定。

如需安全群組的詳細資訊，請參閱 [Amazon EC2 安全群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)。

第一次在區域中建立堆疊時， OpsWorks Stacks 會使用一組適當的規則，為每個 layer 建立內建的安全群組。所有的群組都有允許所有傳出流量的預設傳出規則。一般而言，傳入規則允許下列項目：
+ 從適當的 Stacks 層傳入 TCP、UDP OpsWorks 和 ICMP 流量
+ 連接埠 22 上的傳入 TCP 流量 (SSH 登入)
**警告**  
 預設的安全群組組態會向任何網路位置 (0.0.0.0/0) 開放 SSH (連接埠 22)。這可讓所有 IP 地址使用 SSH 存取您的執行個體。對於生產環境，您必須使用只允許特定 IP 地址或地址範圍之 SSH 存取的組態。在它們建立後立即更新預設的安全群組，或改用自訂的安全群組。
+ 對於 Web 伺服器 layer，所有的傳入 TCP 以及 UDP 流量流向連接埠 80 (HTTP) 和 443 (HTTPS)

**注意**  
內建的 `AWS-OpsWorks-RDP-Server` 安全群組會指派給所有的 Windows 執行個體，以允許 RDP 存取。不過，根據預設，它沒有任何規則。如果您執行的是 Windows 堆疊，並想要使用 RDP 存取執行個體，您必須新增允許 RDP 存取的傳入規則。如需詳細資訊，請參閱[使用 RDP 登入](workinginstances-rdp.md)。

若要查看每個群組的詳細資訊，請前往 [Amazon EC2 主控台](https://console.aws.amazon.com/ec2/)，在導覽窗格中選取**安全群組**，然後選取適當的 layer 安全群組。例如，**AWS-OpsWorks-Default-Server** 是所有堆疊的預設內建安全群組，而 **AWS-OpsWorks-WebApp** 是 Chef 12 範例堆疊的預設內建安全群組。

**注意**  
如果您不小心刪除 OpsWorks Stacks 安全群組，建議重新建立的方式是讓 OpsWorks Stacks 為您執行任務。只要在相同的 AWS 區域和 VPC 中建立新的堆疊，如果有的話， Stacks OpsWorks 就會自動重新建立所有內建安全群組，包括您刪除的安全群組。您接著可以刪除您不再需要使用的堆疊，安全群組仍會留下。如果您想要手動重新建立安全群組，它必須是和原始安全群組完全一致 (包含群組名稱大小寫) 的複本。  
此外，如果發生下列任何情況， OpsWorks Stacks 將嘗試重新建立所有內建安全群組：  
您可以在 Stacks OpsWorks 主控台中對堆疊的設定頁面進行任何變更。
您啟動其中一個堆疊的執行個體。
您建立新的堆疊。

您可以使用以下任一種方法指定安全群組。您使用 **Use OpsWorks security groups (使用 OpsWorks 安全群組)** 設定在您建立堆疊時指定偏好。
+ **是** （預設設定） – OpsWorks Stacks 會自動將適當的內建安全群組與每個 layer 建立關聯。

  您可以新增自訂安全群組與您偏好的設定，微調 layer 的內建安全群組。不過，當 Amazon EC2 評估多個安全群組時，會使用限制最少的規則，因此您無法使用此方法來指定比內建群組更嚴格的規則。
+ **否** – OpsWorks Stacks 不會將內建安全群組與 layer 建立關聯。

  您必須建立適當的安全群組，並建立至少一個安全群組與您所建之每個 layer 的關聯。使用此方法指定比內建群組更嚴格的規則。請注意，只要您想要，您仍然可以手動建立內建安全群組與 layer 的關聯；只有需要自訂設定的 layer 才需要自訂的安全群組。

**重要**  
如果您使用內建的安全群組，您即無法透過手動修改群組設定來建立更嚴格的規則。每次建立堆疊時， OpsWorks Stacks 都會覆寫內建安全群組的組態，因此您所做的任何變更都會在您下次建立堆疊時遺失。如果 layer 需要比內建安全群組更嚴格的安全群組設定，請將 **Use OpsWorks security groups (使用 OpsWorks 安全群組)** 設為 **No (否)**，並使用您偏好的設定建立自訂安全群組，然後在建立時將其指派給 layer。