2

私はそうのように、.NET AWS SDKを使用してPutParameterを実行した:AWSパラメータストアセキュリティで保護された文字列

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

私はコンソールに私のデータを見ることができます。

しかし、私は「ショー」をクリックしたときに、私は価値の平文を見ることができます: Console

がどのように私は、ユーザーからこれを隠すが、それでも彼らは価値がそこにあることを見てみましょうことができますか?

答えて

4

概要

パラメータの値を読み取ることができるようにするには、ユーザーが(デフォルトaws/ssmで、だけでなく、暗号化KMSキーの復号化のアクセス)以下のアクセスssm:GetParametersにアクセスする必要があります。あなたは、ユーザーにアクセス権を付与する最小特権を使用している場合は許可

を回避

は、それらがssm:GetParametersアクションへのアクセス権を与えられていないことを確認してください。最小特権は、多くの場所で推奨されているが許可

拒否

は、ほとんど例の権限が過度に許容されています。許可を避けることができない場合は、値を取得したくないユーザーに明示的に拒否を追加することができます。

次のポリシーは、ユーザー/ロールに添付されている場合は、パラメータの値を読み取るアクセスをブロックする必要があります。

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

SecureStringを閲覧すると、KMSを使用して復号化に依存するため、あなたはまた、復号化を拒否することができます復号化に

を拒否:

あなたはKMSキーで[key arn]を交換、または*
{ 
    "Version": "2012-10-17", 
    "Statement": [{ 
    "Effect": "Deny", 
    "Action": "kms:Decrypt", 
    "Resource": "[key arn]" 
    }] 
} 

任意のキーで復号化をブロックします。

+0

ありがとうございました。基本的に私は暗号鍵だけに「拒否」を適用することができたので、ユーザはコンソール内のパラメータを見ることができますが、それを解読することはできません。 – zaitsman

+0

Wicked、解読を拒否するポリシーを含めるように答えを更新しました。 –

関連する問題