2

J'exécuté en utilisant PutParameter .net AWS SDK comme ceci:AWS mémoire de paramètres de chaîne sécurisée

using (var client = 
       new AmazonSimpleSystemsManagementClient(_key, _secret, _region)) 
      { 
     await client.PutParameterAsync(new PutParameterRequest 
         { 
          Name = "MyBlah", 
          Overwrite = true, 
          KeyId = keyId, 
          Value = "Blah", 
          Type = ParameterType.SecureString 
         }); 
    } 

Je peux voir mes données dans la console.

Cependant, lorsque je clique sur « show » je peux voir la valeur plaintext: Console

Comment puis-je cacher des utilisateurs mais laisser toujours les voir qu'il ya une valeur là-bas?

Répondre

4

Vue d'ensemble

Pour pouvoir lire la valeur d'un paramètre, les besoins des utilisateurs, l'accès à l'accès suivant ssm:GetParameters (ainsi que l'accès Décrypter sur la clé de cryptage KMS, par défaut aws/ssm).

Éviter la permission

Si vous utilisez moindre privilège d'accorder l'accès à vos utilisateurs, assurez-vous qu'ils ne sont pas avoir accès à l'action ssm:GetParameters.

refus de permission

Bien que moins Privilège est recommandé dans de nombreux endroits, la plupart des autorisations d'exemple sont trop permissive. Si vous ne pouvez pas éviter de donner une permission, vous pouvez ajouter explicitement Deny aux utilisateurs dont vous ne voulez pas récupérer les valeurs.

La règle suivante, si elle est associée à un utilisateur/rôle, doit empêcher l'accès à la lecture de la valeur d'un paramètre.

{ 
    "Version": "2012-10-17", 
    "Statement": [{ 
    "Effect": "Deny", 
    "Action": "ssm:GetParameters", 
    "Resource": "*" 
    }] 
} 

Deny Décryptage

Depuis l'affichage d'un SecureString dépend de déchiffrer à l'aide KMS, vous pouvez aussi refuser le décryptage:

{ 
    "Version": "2012-10-17", 
    "Statement": [{ 
    "Effect": "Deny", 
    "Action": "kms:Decrypt", 
    "Resource": "[key arn]" 
    }] 
} 

où vous remplacez [key arn] avec la clé KMS ou * à bloquer le décryptage avec n'importe quelle touche.

+0

Merci. Fondamentalement, je pouvais appliquer 'Deny' juste à la clé de cryptage, et donc l'utilisateur peut voir les paramètres dans la console, mais ne peut pas le décrypter. – zaitsman

+0

Wicked, j'ai mis à jour la réponse pour inclure une politique pour refuser le décryptage. –