In this page of the documentation https://sdk.dfinity.org/docs/developers-guide/sdk-guide.html it states the following:
Regardless of the development workflow you choose, keep in mind that when you deploy a canister for the first time, either on a local execution environment or on the Internet Computer, a unique principal identifier is created for your canister smart contract.
From reading the glossary I was led to believe that a principal describes a person with an identity, yet the above paragraph implies that the canister has a principal id. Does it mean that a principal identifier can be associated with a canister? i.e. that a principal identifier can be the controller for a canister?