処理の実行
IdentityStore IDを取得します。
コマンド:
sso_admin_identity_store_id=$( \
aws sso-admin list-instances \
--query "Instances[].IdentityStoreId" \
--output text \
) \
&& echo ${sso_admin_identity_store_id}
結果(例):
IdentityStoreグループのIDを取得します。
コマンド:
identitystore_group_id=$( \
aws identitystore get-group-id \
--identity-store-id ${sso_admin_identity_store_id} \
--alternate-identifier "{\"UniqueAttribute\":{\"AttributePath\":\"displayName\",\"AttributeValue\":\"${IDENTITYSTORE_GROUP_DISPLAY_NAME}\"}}" \
--query "GroupId" \
--output text \
) \
&& echo ${identitystore_group_id}
結果(例):
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
IdentityStoreユーザーのIDを取得します。
コマンド:
identitystore_user_id=$( \
aws identitystore get-user-id \
--identity-store-id ${sso_admin_identity_store_id} \
--alternate-identifier "{\"UniqueAttribute\":{\"AttributePath\":\"userName\",\"AttributeValue\":\"${IDENTITYSTORE_USER_NAME}\"}}" \
--query 'UserId' \
--output text \
) \
&& echo ${identitystore_user_id}
結果(例):
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
IdentityStoreグループメンバーシップの作成
IdentityStoreグループメンバーシップを作成します。
変数の確認:
cat << END
# sso_admin_identity_store_id:"d-xxxxxxxxxx"
sso_admin_identity_store_id="${sso_admin_identity_store_id}"
# identitystore_group_id:"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
identitystore_group_id="${identitystore_group_id}"
# identitystore_user_id:"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
identitystore_user_id="${identitystore_user_id}"
END
コマンド:
aws identitystore create-group-membership \
--identity-store-id ${sso_admin_identity_store_id} \
--group-id ${identitystore_group_id} \
--member-id UserId="${identitystore_user_id}"
結果(例):
{
"MembershipId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"IdentityStoreId": "d-xxxxxxxxxx"
}
完了確認
「IdentityStoreユーザー"ichi"がIdentityStoreグループ"handson-cli-iic-group"に所属するIdentityStoreグループメンバーシップが存在する。」ことを確認します。
コマンド:
aws identitystore is-member-in-groups \
--identity-store-id ${sso_admin_identity_store_id} \
--group-ids ${identitystore_group_id} \
--member-id UserId=${identitystore_user_id} \
--query 'Results[].MembershipExists' \
--output text
結果(例):