**There are none.**
Angular, like any client-side framework, has nothing to do with security. All someone would have to do is look at your code or watch the traffic with Chrome Developer Tools or Firebug and then completely bypass Angular and do whatever they want to your data. That's not good.
Security must happen *entirely* on the server, which brings us to REST APIs. You have client, server, and data tiers, all separate. The client is running Angular, HTML, CSS, etc, and handles presentation only. The data tier is your MySQL, responsible primarily for storage. The server glues the two together, defines the interfaces the clients can use, and implements authentication and authorization. A "RESTful" web service is just a strategy for standardizing the communication between client and server. A service is "RESTful" if it follows some basic URL patterns and uses the standard HTTP verbs (get, post, put, delete, head) to signify the intention of the client. See the Wikipedia page: http://en.wikipedia.org/wiki/REST
Since you asked specifically about security, I'll say a few things here. This is an extraordinarily complex topic with lots of options. Do you have any experience writing server-side code? If so, I would recommend using one of the popular frameworks and walking through their documentation to understand how they get things done. I would also recommend grabbing a book on web application architecture. If you use Node, ExpressJS is good. For Java/Scala, Play is awesome. Symfony is good for PHP, Django for Python, Rails for Ruby. There are many dozens of others and everyone has their pet favorite.
But here's the basic concept: using one of the established authentication methods (openid, basic, digest, etc.), Angular has the client provide authentication credentials, which it sends to the server. The server says it's right or wrong; if it's right, it provides some type of token (like a cookie or a session key) that Angular sends with all transmissions back to the server. The server verifies that token with each and every transmission to ensure (1) that it is valid and (2) that the user has permission to do whatever is being requested. If the server says everything's fine, the server connects to the database, performs the requested operations, and returns the result to angular. If they were wrong, the server tells the client it was not authorized. Angular is used either present the result that it received or pass the error message back to the user and give her an opportunity to correct it. Angular is just presentation (and potentially some limited business logic, but let's not muddy the waters here).
It's worth repeating, so I'll say it again: Angular, or any client-side framework, cannot handle authentication or authorization. You *must* have a middle tier to handle that.
Let us know what experience you have with server-side or backend stuff, and I'm sure someone around here has experience with it and can send you to the best place to get started. If you don't have any, I'd stick with Node so you can just focus on Javascript rather than learning two languages. There are also a bunch of books on Amazon about web application architecture and security and I would recommend grabbing one suited to your language/framework choice because, like I said, there's a lot to consider.
Hope this helps.
Josh