を使用してAWS IAMのユーザーグループを作成し、管理する


前の部分では、我々はiamユーザーがあります.さて、IAMユーザグループに移動します.IAMユーザグループは、グループではなく、グループとして2つ以上のIAMユーザから構成されています.それは私たちがグループレベルで複数のユーザーのための同じアクセス許可を管理するのに役立ちます.これは、IAMのユーザーのためのポリシーなどの承認を管理するための最善の練習です.
IAMのユーザーグループは、community.aws.iam_groupモジュールを使用します.
既存のユーザーと一緒にグループを作成します.
インベントリで追加する変数
      group_new_members: 
        - { name: "{{ group1 }}", members: ["{{ user1 }}","{{ user2 }}"] }
タスク
(注:ユーザーをメンバーとして追加せずにグループを作成する場合は、ユーザーパラメーターを削除できます).
    - name: create group and add existing users as members
      community.aws.iam_group:
        name: "{{ item.name }}"
        state: present
        users: "{{ item.members }}"
      loop: "{{ group_new_members }}"
      tags:
        - iam_group_new_members
脚本を走らせる
$ ansible-playbook -i host.yml iam.yml -t iam_group_new_members

PLAY [iam] *************************************************************************

TASK [create group and add existing users as members] ******************************
changed: [localhost] => (item={'name': 'developer', 'members': ['nurul', 'rama']})
グループで作成されたユーザーをチェックしましょう!
$ aws iam get-group --group-name developer | grep UserName
            "UserName": "nurul",
            "UserName": "rama",
2 .グループを作成し、マネージポリシーをアタッチします.
前に述べたように、グループレベルはIAMユーザーのパーミッションやポリシーを管理するための最良の方法の一つです.確かに、我々は確かにそれを行うことができます.
インベントリで追加する変数
      group_new_policy:
        - { name: "{{ group2 }}", policy: arn:aws:iam::aws:policy/IAMReadOnlyAccess }
タスク
    - name: create group + attach managed policy
      community.aws.iam_group:
        name: "{{ item.name }}"
        managed_policies: "{{ item.policy }}"
        state: present
      loop: "{{ group_new_policy }}"
      tags:
        - iam_group_new_policy
脚本を走らせる
$ ansible-playbook -i host.yml iam.yml -t iam_group_new_policy

PLAY [iam] *************************************************************************

TASK [create group + attach managed policy] ****************************************
changed: [localhost] => (item={'name': 'programmer', 'policy': 'arn:aws:iam::aws:policy/IAMReadOnlyAccess'})
既存のユーザーと一緒にグループを作成し、マネージポリシーをアタッチします.
最初のタスクは、グループを作成し、ユーザーを追加するには、2番目のタスクを別の管理ポリシーを追加ユーザーを置き換えることによって異なります.すべてのタスクを別々に実行しているが、どのように我々は両方が必要ですか?我々はそれを行うことができます.以下に
以下の変数をインベントリに追加します.
      group_new_policy_members:
        - { name: "{{ group3 }}", policy: arn:aws:iam::aws:policy/IAMReadOnlyAccess, members: ["{{ user1 }}","{{ user2 }}"] }
タスク
    - name: create group with users as members + attach managed policy
      community.aws.iam_group:
        name: "{{ item.name }}"
        managed_policies: "{{ item.policy }}"
        users: "{{ item.members }}"
        state: present
      loop: "{{ group_new_policy_members }}"
      tags:
        - iam_group_new_policy_members
脚本を走らせる
$ ansible-playbook -i host.yml iam.yml -t iam_group_new_policy_members

PLAY [iam] *************************************************************************

TASK [create group with users as members + attach managed policy] ******************
changed: [localhost] => (item={'name': 'engineer', 'policy': 'arn:aws:iam::aws:policy/IAMReadOnlyAccess', 'members': ['nurul', 'rama']})
$ aws iam get-group --group-name engineer | grep UserName
            "UserName": "nurul",
            "UserName": "rama",
上のすべてのタスクは、作成、作成、および作成だけではないことに注意してください.同様にグループを管理するために使用することができます.たとえば、既存のユーザーを既存のグループのメンバーとして追加します.次に、上記の最初のタスクを使用することができます.
それは第3部です.私はこのポストに対するあなたの愛に感謝します、そして、あなたが役に立つならば、共有してください.ありがとう.我々は、パート4のためにIAM役割を続けます.
参考文献https://docs.ansible.com/ansible/latest/collections/community/aws/iam_group_module.html