This is cloud security assignment
, Page 1 of 4 RMIT Classification: Trusted School of Science COSC2626/2640 Cloud Computing Assignment 1 Assessment Type: Individual assignment; no group work. Submit online via Canvas→Assignments→Assignment 1. Marks awarded for meeting requirements as closely as possible. Clarifications/updates may be made via announcements/relevant discussion forums. Due date: 11:59pm, 29/Mar/2020 Please check Canvas→Assignments→Assignment 1 for the most up to date information. As this is a major assignment in which you demonstrate your understanding, a university standard late penalty of 10% per each working day applies for up to 5 working days late, unless special consideration has been granted. Weighting: 15 marks 1. Overview This assignment consists of 3 tasks: • Task 1: Develop a Python based application using Google App Engine • Task 2: Develop a PHP or Python based application using Google App Engine • Task 3: Develop a Google BigQuery based application 2. Assessment Criteria This assessment will develop your ability to: • Develop Python based applications using Google App Engine • Develop PHP or Python based applications using Google App Engine • Develop Google BigQuery based applications 3. Learning Outcomes This assessment is relevant to the following Learning Outcomes: • Develop and deploy cloud application using popular cloud platforms • Design and develop highly scalable cloud-based applications by creating and configuring virtual machines on the cloud and building private cloud. 4. Assessment details Task-1 [3 marks] Make necessary modifications in the code of Lab 2 so that your Guestbook application the Greeting data structure also contain a Country attribute (type String). Your webpage also should contain a new dropdown menu for providing global country names. User selected country name should be stored in DataStore along with author and content. Rubric 1. Adding the country drop down menu to html view 1 mark 2. Adding and storing country name in DataStore 1 mark 3. A fully functional working code 1 mark , Page 2 of 4 RMIT Classification: Trusted Task-2 [9 marks] Create a Google app using your knowledge in Google app engine for PHP in Lab 3 or for Python in Lab 2 which will have following components and functions: 1. Create three identities in Google datastore (Namespace: user, Kind: user), which contain the following properties and values. 1 mark id (Type: Key) name (Type: String) password (Type: Integer) s3###### i.e. your RMIT student id Firstname Lastname i.e. your name 123456 i.e. your RMIT student id s3######1 i.e. your RMIT student id+’1’ Firstname Lastname A i.e. your name+’A’ 234567 s3######2 i.e. your RMIT student id+’2’ Firstname B Lastname B i.e. your name+’B’ 345678 2. login.php 2 marks A login page that contains a user id field, a password field, a “Log In” button. When user clicks the “Log in” button, it will validate if the user entered credentials match with the information stored in the datastore. • If the user credential is invalid, the login page will display “User id or password is invalid”. 1 mark • If the user credential is valid, it will be redirected to main.php. 1 mark 3. main.php 2 marks The main page contains two buttons “Change Name” and “Change Password”. • The main page shows the user name 1 mark • If user clicks the “Change Name” button, it will be redirected to the name.php; if user clicks the “Change Password” button, it will be redirected to the password.php. 1 mark 4. name.php 2 marks The name page contains a username field and a “Change” button, where user needs to enter a new user name • Once user clicks the “Change” button, it will validate whether the entered user name is empty. If the user name is empty, it will display “User name cannot be empty ”. 1 mark • If the user name is not empty, it will update the corresponding entity in Datastore and be redirected to main.php, where the user name on main.php will also be updated. 1 mark 5. password.php 2 marks The password page contains an old password field, a new password field and a “Change” button, where user needs to enter both the old password and a new password. • If user clicks the “Change” button, it will validate whether the entered old password matches with the information stored datastore. If the old password is incorrect, it will display “User password is incorrect”. 1 mark • If the old password is correct, it will update the password property for the corresponding entity with the new password and be redirected to login.php, where user can login with the new password. 1 mark , Page 3 of 4 RMIT Classification: Trusted Task-3 [3 marks] This task is based on Google Big Query that we covered in Lab 3. Using the baby_names dataset you created in Lab 3 write some queries (using BigQuery browser tool) to identify the following information (Each correct query 1 mark) 1. Find a list of all male babies born before 2010 with frequency count ends with ‘00’ (i.e. 100, 200, …). 1 mark 2. Find top 10 years after 1999 with the highest number of female baby names containing ‘ie’ (case-insensitive). 1 mark 3. Find top 10 most uncommon baby names based on frequency in 2000s. 1 mark 5. Referencing guidelines What: This is an individual assignment and all submitted contents must be your own. If you have used sources of information other than the contents directly under Canvas→Modules, you must give acknowledge the sources and give references using IEEE referencing style. Where: Add a code comment near the work to be referenced and include the reference in the IEEE style. How: To generate a valid IEEE style reference, please use the citethisforme tool if unfamiliar with this style. Add the detailed reference before any relevant code (within code comments). 6. Submission format Create a .txt file and name it [your_student_number].txt (e.g. s3369312.txt). This .txt file will contain items in following order 1. Your Name and student number 2. Code of task-1 3. Code of task-2 4. Queries of task-3 Make a .zip of your text file and submit it into Canvas→Assignments→Assignment 1 before the deadline. You will be marked during your demo time. This submission is only for keeping the records. However, you will not able to view your mark in Canvas until you submit your file. 7. Academic integrity and plagiarism (standard warning) Academic integrity is about honest presentation of your academic work. It means acknowledging the work of others while developing your own insights, knowledge and ideas. You should take extreme care that you have: • Acknowledged words, data, diagrams, models, frameworks and/or ideas of others you have quoted (i.e. directly copied), summarised, paraphrased, discussed or mentioned in your assessment through the appropriate referencing methods, • Provided a reference list of the publication details so your reader can locate the source if necessary. This includes material taken from Internet sites. If you do not acknowledge the sources of your material, you may be accused of plagiarism because you have passed off the work and ideas of another person without appropriate referencing, as if they were your own. RMIT University treats plagiarism as a very serious offence constituting misconduct. Plagiarism covers a variety of inappropriate behaviours, including: http://www.citethisforme.com/ieee/source-type , Page 4 of 4 RMIT Classification: Trusted • Failure to properly document a source • Copyright material from the internet or databases • Collusion between students For further information on our policies and procedures, please refer to the University website. 8. Assessment declaration When you submit work electronically, you agree to the assessment declaration. https://www.rmit.edu.au/students/student-essentials/rights-and-responsibilities/academic-integrity https://www.rmit.edu.au/students/student-essentials/assessment-and-exams/assessment/assessment-declaration , Page 5 of 4 RMIT Classification: Trusted Task-1 [3 marks] Task-2 [9 marks] Task-3 [3 marks] Create a .txt file and name it [your_student_number].txt (e.g. s3369312.txt). This .txt file will contain items in following order Lab 2: Google app engine with python In this tutorial we will learn the following: 1. Creating and hosting a website in google app engine 2. Creating a guestbook application with google datastore and deploying in Google App Engine Download the Hello World app We've created a simple Hello World app for Python so you can quickly get a feel for deploying an app to Google Cloud Platform. Follow these steps to download Hello World to your local machine. 1. Clone the Hello World sample app repository to your local machine: git clone https://github.com/GoogleCloudPlatform/python-docs-samples 2. Then go to the directory that contains the sample code: cd python-docs-samples/appengine/standard/hello_world Alternatively, you can download the sample as a .zip file and extract it. Test the application Test the application using the local development server (dev_appserver.py), which is included with the SDK. 1. From within the hello_world directory where the app's app.yaml configuration file is located, start the local development server with the following command: dev_appserver.py app.yaml The local development server is now running and listening for requests on port 8080. Something go wrong? 2. Visit http://localhost:8080/ in your web browser to view the app. https://github.com/GoogleCloudPlatform/python-docs-samples/tree/master/appengine/standard/hello_world https://github.com/GoogleCloudPlatform/python-docs-samples/archive/master.zip https://cloud.google.com/appengine/docs/standard/python/config/appref https://cloud.google.com/appengine/docs/standard/python/quickstart#test_the_application http://localhost:8080/ Make a change You can leave the development server running while you develop your application. The development server watches for changes in your source files and reloads them if necessary. 1. Try it now: Leave the development server running, then edit main.py to change Hello, World! to something else. 2. Reload http://localhost:8080/ to see the results. Deploy your app To deploy your app to App Engine, run the following command from within the root directory of your application where the app.yaml file is located: gcloud app deploy Learn about the optional flags. View your application To launch your browser and view the