はじめに
OCIのテナンシー内にあるユーザー、グループ、ポリシーの一覧を確認したので、そのメモです
ユーザーの一覧
今回はユーザー名
、メールアドレス
、最後にログインした日時
を抜き出しました
oci iam user list --all | jq -r '.data[] | {name: .name, email: .email, last_login_time: ."last-successful-login-time"}'
ポリシーの一覧
今回はポリシー名と設定しているポリシー構文を抜き出しました
oci iam policy list -c $C --all | jq -r '.data[] | {name: .name, statements: .statements}'
グループの一覧
今回は各グループに属するユーザーを確認したかったので、以下のようなShell Scriptを作りました
groups.sh
#!/bin/bash
# テナンシーのOCIDを指定
TENANCY_OCID="ocid1.tenancy.oc1..xxxxxxxxxxxxxxxxxxx"
# テナンシー内の全てのグループをリスト
GROUP_LIST=$(oci iam group list --compartment-id ${TENANCY_OCID} --all | jq -r '.data[].id')
# 各グループに属するユーザーをリスト
for GROUP in ${GROUP_LIST}
do
echo "Group: $(oci iam group get --group-id ${GROUP} | jq -r '.data.name')"
USER_LIST=$(oci iam group list-users --group-id ${GROUP} | jq -r '.data[].id')
for USER in ${USER_LIST}
do
echo "User,email: $(oci iam user get --user-id ${USER} | jq -r '[.data.name, .data.email]|@csv'| sed -e 's/\"//g')"
done
echo "-------------------"
done