Skip to content

Ansible role that manages users, groups, and keys across an AWS VPC.

Notifications You must be signed in to change notification settings

ajiezzi/cloud-admins

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ansible Role - cloud-admins

Ansible role which manages users, groups, and SSH keys across an Amazon Web Services (AWS) VPC.

Role configuration

  • For each user, the host group in the variable file /vars/main.yml must exactly match a host group from the ansible inventory file /etc/ansible/hosts.
  • In the inventory file, all non-bastion instances MUST belong to the admin group

Inventory File

The inventory file host group names [groupA] are used in classifying instances. Other than the bastion [bastion] group, each user must belong to one of the defined groups.

Example:

---
[bastion]
10.0.0.100

# All non-bastion instances must belong to the admin group
[admin]
localhost ansible_connection=local
10.0.0.101
10.0.0.102
10.0.0.103

[groupA]
10.0.0.101
10.0.0.102

[groupB]
10.0.0.103

Creating users

The current_users variable contains a list of current priviledged users across the VPC. Please note power users must belong to the admin host group. host_group: admin

The following attributes are required for each user:

  • name - The username of the user. Must be unique.
  • host_group - The machine host group the user will belong to. Host groups must reference a group defined in the ansible inventory file.
  • pub_key - The SSH public key of the specific user.

Example:

---
current_users:
  - name: jdoe
    host_group: groupA
    pub_key: "ssh-rsa AAAAA...."

Removing users

The removed_users variable contains a list of users who should no longer have access to the VPC. Please note these users will be removed on the next ansible run. The format is similar to creating users, but the only required field is name.

Example:

---
remove_users:
  - name: jdoe

Example playbook to execute role

---
- hosts: all
  become: yes
  become_user: root
  connection: ssh
  gather_facts: no
  roles:
	- cloud-admins

About

Ansible role that manages users, groups, and keys across an AWS VPC.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published