Coder Social home page Coder Social logo

nubis-bastionsshkey's People

Contributors

gozer avatar limed avatar tinnightcap avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

nubis-bastionsshkey's Issues

[consul] Simplify the IAMGroupMapping setting

Wouldn't something like this be clearer?

  GroupMapping:
    - groupNumber1:
      IAMPath: /nubis/admins/
      ConsulPath: global-admins
    - groupNumber2:
      LDAPGroup: groupNumber2
      IAMPath: /nubis/foo/
      ConsulPath: foo

Compared with:

  IAMGroupMapping:
    - Group1:
      LDAPGroup: groupNumber1
      IAMPath: /nubis/admin/
      ConsulPath: global-admins
    - Group2:
      LDAPGroup: groupNumber2
      IAMPath: /nubis/foo/
      ConsulPath: foo

Tag v1.5.1 release

Tag a release of the nubis-bastionsshkey repository for the v1.5.1 release of the Nubis project.

Tag v2.3.0 release

Tag a release of the nubis-bastionsshkey repository for the v2.3.0 release of the Nubis project.

Switch out lambda user management from using client cert

Copied from mozilla-itcloud/maintenance-project#31

With ldap moving the MDC1 the security team is not bringing over the ability to auth with client certificates which is how we auth to ldap to do our queries in AWS. Need to make sure that nubisproject/nubis-bastionsshkey is fixed to not use client certificates anymore.

Once we remove that we will need to provide jabba with a list of the NAT EIP's for every account so that they can IP whitelist the LDAP VIP on their end.

09:38:09 jabba | how hard would it be to get a static IP for your ldap client that I can whitelist so we can ditch the client cert?
10:11:46 jabba | I need to shut down the client cert vip in the next two weeks

Tag v2.4.0 release

Tag a release of the nubis-bastionsshkey repository for the v2.4.0 release of the Nubis project.

Tag v2.3.1 release

Tag a release of the nubis-bastionsshkey repository for the v2.3.1 release of the Nubis project.

Tag v1.5.1 release

Tag a release of the nubis-bastionsshkey repository for the v1.5.1 release of the Nubis project.

Tag v2.3.0 release

Tag a release of the nubis-bastionsshkey repository for the v2.3.0 release of the Nubis project.

Tag v2.0.0 release

Tag a release of the nubis-bastionsshkey repository for the v2.0.0 release of the Nubis project.

Tag v2.4.0 release

Tag a release of the nubis-bastionsshkey repository for the v2.4.0 release of the Nubis project.

Tag v2.3.0 release

Tag a release of the nubis-bastionsshkey repository for the v2.3.0 release of the Nubis project.

Tag v2.0.0 release

Tag a release of the nubis-bastionsshkey repository for the v2.0.0 release of the Nubis project.

Add validation on usersSet being empty

Need a way to confirm that we have a usersSet worth comparing to what is being returned from LDAP.

There doesn't seem to be a good way to test if the LDAP connection is valid and connected.

Tag v1.3.0 release

Tag a release of the nubis-bastionsshkey repository for the v1.3.0 release of the Nubis project.

Tag v1.4.2 release

Tag a release of the nubis-bastionsshkey repository for the v1.4.2 release of the Nubis project.

Tag v2.1.0 release

Tag a release of the nubis-bastionsshkey repository for the v2.1.0 release of the Nubis project.

Tag v2.2.0 release

Tag a release of the nubis-bastionsshkey repository for the v2.2.0 release of the Nubis project.

Tag v1.5.1 release

Tag a release of the nubis-bastionsshkey repository for the v1.5.1 release of the Nubis project.

Tag v1.5.1 release

Tag a release of the nubis-bastionsshkey repository for the v1.5.1 release of the Nubis project.

Tag v2.4.0 release

Tag a release of the nubis-bastionsshkey repository for the v2.4.0 release of the Nubis project.

Weird issues with execType=consul

I'm seeing some weird issues with execType=consul, note that in my config i'm running with 2 different ldap groups. The GlobalAdmins group has a different group than SudoUsers

Command ran:

$ ./nubis-bastionsshkey -execType=consul

Steps to reproduce:

  1. Clear our you consul KV store under /nubis-users
  2. Create /nubis-users followed by /nubis-users/global-admins/ followed by /nubis-users/sudo-users
  3. Run script ./nubis-bastionsshkey -execType=consul
  4. Once you run the script and looked at the KV store what you get is just an empty /nubis-users folder
  5. Once you run the script again it actually creates the /nubis-users/global-admins/<users> and /nubis-users/sudo-users/<users> folder however both the KV stores have the same users eventhough I have 2 different groups, it appears to be only taking the first group

Expected Outcome:
We shouldn't be wiping /nubis-users/globa-admins and /nubis-users/sudo-users` if its pre-created we should just use whats there. And the actual ldap users should be placed in the proper KV store if ran

Ability to create roles

We need to be able to create roles, I propose in the config under the IAMGrouping section we have 1 addtional option, called "privilege" and it can only accept "admin" or "readonly". Based on these values we can decide what sort of policy to provide with the user.

When a user gets created it will create a IAM role with the same name and based on "admin" or "readonly" the IAM role will then get a particular IAM policy attached to it. I started a little bit of this which might help this process along and I'm working on it on this feature branch: https://github.com/limed/nubis-bastionsshkey/tree/roles

[meta] User modifications are invisible

I can see a category of issues here. This tool doesn't really inspect a user's state and try to make it converge to what it should be, and that's a problem:

  • User's attached policy is edited by an admin
  • User's group membership is changed
  • User's API keys are deleted

This feels like it's a category of issues. This tool currently basically does:

  • find missing users (comparing with ldap)
  • create users
    • create user
    • create API keys
    • group membership
    • policies
    • etc

But once a user has been created, and stays created, it doesn't really touch it anymore.

Tag v1.4.0 release

Tag a release of the nubis-bastionsshkey repository for the v1.4.0 release of the Nubis project.

Tag v2.3.0 release

Tag a release of the nubis-bastionsshkey repository for the v2.3.0 release of the Nubis project.

Tag v2.3.0 release

Tag a release of the nubis-bastionsshkey repository for the v2.3.0 release of the Nubis project.

Tag v2.0.0 release

Tag a release of the nubis-bastionsshkey repository for the v2.0.0 release of the Nubis project.

Tag v2.4.0 release

Tag a release of the nubis-bastionsshkey repository for the v2.4.0 release of the Nubis project.

Tag v2.3.0 release

Tag a release of the nubis-bastionsshkey repository for the v2.3.0 release of the Nubis project.

Remove ConsulPath option

Since we are now just referencing ldap group names we should no longer be using the ConsulPath option

Tag v2.3.0 release

Tag a release of the nubis-bastionsshkey repository for the v2.3.0 release of the Nubis project.

Tag v1.5.0 release

Tag a release of the nubis-bastionsshkey repository for the v1.5.0 release of the Nubis project.

Tag v1.4.1 release

Tag a release of the nubis-bastionsshkey repository for the v1.4.1 release of the Nubis project.

Tag v1.4.2 release

Tag a release of the nubis-bastionsshkey repository for the v1.4.2 release of the Nubis project.

Tag v2.3.0 release

Tag a release of the nubis-bastionsshkey repository for the v2.3.0 release of the Nubis project.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.