pub fn permission_denied(message: impl Into<String>) -> Status {
        Status::new(Code::PermissionDenied, message)
    }
The caller does not have permission to execute the specified operation.
`PermissionDenied` must not be used for rejections caused by exhausting
some resource (use `ResourceExhausted` instead for those errors).
`PermissionDenied` must not be used if the caller cannot be identified
(use `Unauthenticated` instead for those errors).
tonic/src/status.rs