If subscript is @ or *, the word expands to all members of name. These subscripts differ only when the word appears within double quotes. If the word is double-quoted, ${name[*]} expands to a single word with the value of each array member separated by the first character of the IFS special variable, and ${name[@]} expands each element of name to a separate word.
Example:
aws_user_roles=( a "b c" d )
for i in "${aws_user_roles[*]}"; do echo $i; done
a b c d
for i in "${aws_user_roles[@]}"; do echo $i; done
a
b c
d
As mentioned in
man bash
Example: