Get-Parameter with ssm-iot-gg user

0

I a have been researching the use of AWS secrets manager in combination with Parameter Store in order to get secrets on my edge devices. This will allow me to move my secrets out of my .env-files in git and allow for much easier rotation of credentials. In addition I would like to have the ssm-iot-gg aws user as the only aws user on the edge device. I have a few questions though

  1. When running the get-parameter cli call I get an error:
    Command: aws ssm get-parameter --profile ssm-iot-gg --name "/aws/reference/secretsmanager/<name of secret>" --region eu-west-1 --with-decryption --output json
    Error: An error occurred (ValidationException) when calling the GetParameter operation: An error occurred while calling one AWS dependency service.
    The ssm-iot-gg user is defined under ~/.aws/credentials with aws_access_key_id, aws_secret_access_key and a aws_session_token all pointing to a specific IAM Role I created for the purpose.

  2. Is it possible (if I fix the problem above) to revoke access from a single ssm token? In that case my procedure for breaches would be:
    a. Revoke access from the breached edge device
    b. Rotate all credentials in case the hacker fetched any of them

Looking forward to getting some feedback on this :)

  • Hi Lasse, glad to see you resolved your issue. Just curious - could you describe the general use case here? Also, why can't you use Secrets Manager directly?

1 個回答
0

Hi, is your CLI profile properly authorized to access the KMS key (you do not mention it but I guess that you have one) protecting your secret and to access the secret itself? That may be the cause of the issue. So, try to grant wide authorizations Action:* and Resource:* for both KMS and SM to you CLI profile to see if issue disappear. And then, tighten Action and Resource back to least privilege.

Hope it helps!

Didier

profile pictureAWS
專家
已回答 10 個月前
  • Ok, I tried adding the policies SecretsManagerReadWrite and AWSKeyManagementServicePowerUserto the role associated with the credentials, but it returns the same error. It is worth mentioning, that I have another set of credentials that return the secret just fine AND a third set that is not authorized and thus returns an apporiate "not authorized" error. It seems to be specific for the auto generated credentials (generated by installing the Systems Manager Green Grass component on the edge device). The only difference (beside roles and access level) seems to be that the ssm-iot-gg AWS credential set has a aws_session_token in addition to aws_access_key_id and aws_secret_access_key.

  • I managed to succeed. The trick was to manually add the ssm-iot-gg profile in the .aws/config file (this is not done by default by installing the green grass component for some reason).

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南