如何對 AWS Secrets Manager 機密套用資源型政策?

1 分的閱讀內容
0

如何使用資源型政策控制對 AWS Secrets Manager 機密的存取?

簡短描述

透過資源型政策,您可以指定使用者對機密的存取權,以及 AWS Identity and Access Management (IAM) 使用者可執行的動作。

注意: 機密定義為使用 Secrets Manager 的資源。

Secrets Manager 資源型政策常見使用案例如下:

在此範例的資源型政策中,IAM 元素 Effect 會指定陳述式是否產生允許或明確拒絕。IAM Action 元素會定義使用機密執行的動作。IAM Resource 元素是政策連接至的機密。IAM Principal 元素會指定具有使用機密執行動作的存取權的使用者。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "secretsmanager:*",
      "Principal": {"AWS": "arn:aws:iam::123456789999:user/Mary"},
      "Resource": "*"
    }
  ]
}

解決方法

請遵循下列指示在 Secrets Manager 中套用資源型政策:

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,請確保您使用的是最新的 AWS CLI 版本

1.    請遵循建立機密的指示進行操作。請記下機密 ARN

2.    將此政策複製並貼到您最愛的文字編輯器,並將其儲存為 JSON 檔案,例如 my_explicit_deny_policy.json

{ "Version": "2012-10-17",
"Statement": [
    {
      "Effect": "Deny",
      "Action": "secretsmanager:GetSecretValue",
      "Principal": {"AWS": "arn:aws:iam::123456789999:user/Mary"},
      "Resource": "*"
    }
  ]
}

3.    使用 AWS CLI 命令 put-resource-policy 為機密設定資源政策,以明確拒絕 IAM 使用者 Mary 擷取機密值。

aws secretsmanager put-resource-policy --secret-id My_Resource_Secret --resource-policy file:// My_explicit_deny_Policy.json

4.    您會收到類似下列內容的輸出:

{
"ARN": "arn:aws:secretsmanager:<your region>:123456789999:secret:My_Resource_Secret",
"Name": "My_Resource_Secret"
}

注意: 只有在使用 AWS KMS keys 加密機密時,才需要 AWS Key Management Service (AWS KMS) 解密許可。如果機密由預設 AWS KMS key 加密,則第三方帳戶中的 IAM 主體無法擷取機密。

如需詳細資訊,請參閱為 Secrets Manager 使用資源型政策


AWS 官方
AWS 官方已更新 3 年前