我想要將 AWS Key Management Service (AWS KMS) 金鑰存取權限制為僅限屬於我的 AWS 組織的主體。
簡短說明
您可以透過 AWS KMS,將 aws:PrincipalOrgID 全域條件金鑰與資源型政策中的 Principal 元素搭配使用。您可以在條件元素中指定組織 ID,而非組織中所有 AWS 帳戶 ID 的清單。
解決方法
使用 AWS 全域條件內容金鑰 aws:PrincipalOrgID 建立 AWS KMS key 政策,以允許 AWS 組織中的所有帳戶來執行 AWS KMS 動作
重要事項: 最佳實務是使用 AWS Identity and Access Management (IAM) 政策授予最低權限許可。
在聲明政策的條件元素中指定您的 AWS 組織 ID。此政策確保只有組織中帳戶的主體體才可存取 AWS KMS key。
若要取得組織 ID,請遵循下列步驟:
- 開啟 AWS Organizations 主控台。
- 選擇「設定」。
- 在組織詳細資料中,複製組織 ID。
{ "Sid": "Allow use of the KMS key for organization",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"kms:Decrypt",
"kms:DescribeKey",
"kms:Encrypt",
"kms:ReEncrypt*",
"kms:GetKeyPolicy"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalOrgID": "o-xxxxxxxxxxx"
}
}
}
此 AWS KMS key 政策陳述式允許 ID 為 o-xxxxxxxxxxx 的 AWS 組織的 AWS 帳戶身分使用 KMS 金鑰:
**注意:**aws:PrincipalOrgID 全域條件內容金鑰無法用來限制存取 AWS 服務主體。不屬於 AWS 組織的內部 AWS 帳戶會提供調用 API 呼叫的 AWS 服務。
相關資訊
如何開始使用 AWS Organizations?
如何從組織移除成員帳戶?