I learned of the existence of steampipe recently, which seems to be an interesting tool to help teams - including cybersecurity teams - understand their cloud assets and ensure compliance with security policies.

I started playing around with it, and one thing that struck me immediately is the need to store API credentials for the various plugins in plaintext in JSON files in your user profile. This struck me as incredibly insecure, especially given that the default UNIX permissions on the files seem to be 644.

Does anyone know if there is a way to store and dynamically retrieve these API credentials more securely, such as in a remote key store like AWS Secrets Manager or Azure Key Vault? I spent awhile searching and watching some YouTube videos, but didn’t come across a method to do this.

    • _synackOP
      link
      fedilink
      English
      arrow-up
      8
      ·
      edit-2
      20 hours ago

      I’ve heard this related to Gaussian blur and it’s obviously possible with pixelation that uses a large number of smaller pixels, but I would honestly love to see someone demonstrate reversal of the pixelation I used here.

      In any case the pixelated credentials were for limited, read only access for testing and the API client was already deleted before I posted the image.

      I appreciate the concern and feedback in any case.

  • >/dev/null@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    1 day ago

    Depends on the plugin used, but you can tool it up to use env variables or whatever the plugin supports, you can also change perms locally or host it in service mode with no direct access other than a postgres connection, it’s postgres under the hood so you can add roles etc if you want. I use a wrapper to generate configs/envs on startup pulling from ssm parameters or secrets on Aws

    • _synackOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      22 hours ago

      It seems you have a lot of experience with the tool. Can you recommend any resources that teach more advanced use cases and configurations? I’m finding that just reading the docs, playing with it, and watching the YouTube videos I found aren’t really doing it for me. Most of the materials I’m finding are about AWS, but that’s not relevant to me.

      • >/dev/null@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        21 hours ago

        Sorry, I don’t. I learned by using. It’s like any other tool, play with it, and look at the code and docs. What’s your use case? From the sound of it, it’s more a config managment issue than steampipe issue. I can try and help. Also they are active on slack and respond to bugs pretty quick in my experience.

        • _synackOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          21 hours ago

          I saw someone mention it as an alternative to using Orca or Wiz for compliance use cases. I just wanted to check it out. I was attempting to run it locally rather than as a service with configuration via pipeline.

          • >/dev/null@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            1
            ·
            4 hours ago

            Sorry I’m new to lemmy, didn’t see the screenshot, Yea if it’s static creds locally I would use something simple like 1pass or sops and just make a wrapper to pull the data (after authenticating) and populate the needed environment variables. But if you have multiple connections with the same plugin it won’t work. So you need to get creative on setting up per connection settings. Usually for that it’s still stored in a secure storage but the config is rendered on startup using some simple bash or templating. The real advantage of steampipe for me is the aggregated connections, searching all Aws accounts for a resource Or dumping all r53 records with a simple query is a godsend. And adding tooling like redash make it even easier to drill down and share data

          • >/dev/null@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            4 hours ago

            Yea it’s a good complement to those tools too, but for plain compliance mods, use flowpipe powerpipe. Steampipe is more of a realtime view of resources, where wiz and orca are more scanners with state. You can kind of mimik it with steampipe but it’s a lot of extra work. Credentials handling is entirely dependent on the plugin being used. So use a wrapper to pull whatever info from your secrets store (vault, sops, etc) and inject it in your local env/configs