

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

# 實作最低權限的許可
<a name="keystore-least-privilege"></a>

使用金鑰存放區和 AWS KMS 階層式 keyring 時，建議您定義下列角色，以遵循最低權限原則：

**金鑰存放區管理員**  
金鑰存放區管理員負責建立和管理金鑰存放區及其保留和保護的分支金鑰。金鑰存放區管理員應該是唯一對做為金鑰存放區之 Amazon DynamoDB 資料表具有寫入許可的使用者。他們應該是唯一有權存取特殊權限管理員操作的使用者，例如 [`CreateKey`](create-branch-keys.md)和 [`VersionKey`](rotate-branch-key.md)。您只能在[靜態設定金鑰存放區動作](keystore-actions.md#static-keystore)時執行這些操作。  
`CreateKey` 是一種特殊權限操作，可將新的 KMS 金鑰 ARN 新增至您的金鑰存放區允許清單。此 KMS 金鑰可以建立新的作用中分支金鑰。我們建議您限制對此操作的存取，因為一旦將 KMS 金鑰新增至分支金鑰存放區，就無法刪除它。

**金鑰存放區使用者**  
在大多數使用案例中，金鑰存放區使用者只會在加密、解密、簽署和驗證資料時，透過階層式 keyring 與金鑰存放區互動。因此，他們只需要做為金鑰存放區的 Amazon DynamoDB 資料表的讀取許可。金鑰存放區使用者只需要存取使密碼編譯操作成為可能的使用操作，例如 `GetActiveBranchKey`、 `GetBranchKeyVersion`和 `GetBeaconKey`。他們不需要許可來建立或管理他們使用的分支金鑰。  
當您的金鑰存放區動作[設定為靜態](keystore-actions.md#static-keystore)時，或設定為[探索](keystore-actions.md#discovery-keystore)時，您可以執行用量操作。當您的金鑰存放區動作設定為探索時，您無法執行管理員操作 (`CreateKey` 和 `VersionKey`)。  
如果您的分支金鑰存放區管理員允許列出分支金鑰存放區中的多個 KMS 金鑰，建議您的金鑰存放區使用者設定其金鑰存放區動作以進行探索，以便其階層式 keyring 可以使用多個 KMS 金鑰。