Tengo un rol de IAM (con muchas políticas y una relación de confianza). Utilicé esto para crear un grupo de usuarios de AWS Cognito. Sin embargo, esta función de IAM se eliminará pronto.
Hacer una copia manualmente será una tarea ardua y tampoco repetible. Me gustaría hacer una copia a través de CLI o script de alguna otra forma repetible.
Hasta ahora, he buscado a través de stackoverflow y google, pero no pude encontrar nada relevante.
Cualquier ayuda es apreciada.
Parece que necesitarás usar:
list_role_policies() para obtener los nombres de las políticas en línea adjuntas al rolget_role_policy() para recuperar políticas en línealist_attached_role_policies() para enumerar las políticas administradas que están adjuntas al rolLuego crea un nuevo rol y usa:
put_role_policy() para adjuntar una política en líneaattach_role_policy() para adjuntar una política administradaGracias a @JohnRotenstein por apuntar en la dirección correcta. Se me ocurrió un script de Node.js para automatizar el procedimiento de copia de roles de IAM.
Pasos que realiza junto con las API SDK de AWS utilizadas:
getRole()listRolePolicies() , getRolePolicy()listAttachedRolePolicies()createRole()putRolePolicy()attachRolePolicy()El proceso es bastante sencillo... El único detalle interesante es que los pasos 2 y 3 requieren una búsqueda recursiva para acomodar el hecho de que la respuesta de las políticas se puede paginar.
Si Python es una opción, tal vez boto3 pueda ser útil (SDK de AWS para Python)
Creación de un rol: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iam.html#IAM.Client.create_role
Crear una política: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iam.html#IAM.Client.create_policy
Más: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iam.html#client https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services /iam.html