The student role does not allow for any editing of the course. Students can participate in the course that was created for them, but they do not have permissions to manage assignments, announcements, quizzes, files, discussions, sections, groups, etc. If, as a teacher, you need to confirm what your students have permission to see, you can use the student view setting.
The teacher role has the most extensive set of permissions. It allows teachers to edit and manage all parts of the course, view analytics, and publish the course. Teachers also have permissions to add students, other teachers, course designers, or TAs to the course.
A librarian has many of the same permissions as a teacher, but they cannot add or remove users, change course dates or manage sections.
TA's have similar permissions as teachers, but are slightly more limited, in that they are not able to publish or unpublish the course or manage sections.
A guest lecturer has a limited set of permissions that teachers do. Guest lecturers are able to send messages to individual users or the entire course, view announcements, and edit discussions, assignments, files, and pages.
The attendance role is created so that a user, either a program coordinator or other, can manage attendance without having access to grades, assignments, and other information in the course. This is often used in large courses in which attendance is mandatory, as it frees the teacher from having to take time out of class to enter attendance.
A course designer has all the permissions to create a course in Canvas, but unlike a teacher, they cannot edit or view grades, manage alerts, or view course analytics. This role is best used when one person will be building the Canvas course but it is being taught by another user.
The observer role is the most restricted course-level role, designed only to view course activity made by other users. An observer can be added to the entire course or attached to a single student, but cannot be added to an assignment or any other part of the course navigation. Someone who needs to view a course for auditing or ethical purposes but does not need to edit the course should be added as an observer.
To link an observer to a student, select the settings icon to the right of the name of the observer in People, and select "Link to Students". You will be prompted to enter the name(s) of the students to which you want to link the observer.