Merge pull request #348 from mistwire/main

This commit is contained in:
Michael Cade 2023-03-12 16:38:25 +00:00 committed by GitHub
commit 2c1f719ce7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 137 additions and 0 deletions

View File

@ -0,0 +1,56 @@
# Day 52: Identity and Access Management (IAM)
As cloud computing continues to gain popularity, more and more organizations are turning to cloud platforms to manage their infrastructure. However, with this comes the need to ensure proper security measures are in place to protect data and resources. One of the most critical tools for managing security in AWS is Identity and Access Management (IAM).
## What is AWS IAM?
|![](images/day52-1.png)|
|:-:|
| <i>IAM is (1) WHO (2) CAN ACCESS (3) WHAT</i>|
AWS IAM is a web service that allows you to manage users and their access to AWS resources. With IAM, you can create and manage AWS users and groups, control access to AWS resources, and set permissions that determine what actions users can perform on those resources. IAM provides fine-grained access control, which means that you can grant or deny permissions to specific resources at a granular level.
IAM is an essential tool for securing your AWS resources. Without it, anyone with access to your AWS account would have unrestricted access to all your resources. With IAM, you can control who has access to your resources, what actions they can perform, and what resources they can access. IAM also enables you to create and manage multiple AWS accounts, which is essential as large organizations will always have many accounts that will need some level of interaction with each other:
|![](images/day52-2.png)|
|:-:|
| <i>Multi-Account IAM access is essential knowledge</i>|
## How to Get Started with AWS IAM
Getting started with AWS IAM is straightforward. Here are the steps you need to follow:
### Step 1: Create an AWS Account
The first step is to create an AWS account if you don't already have one. We did this on day 50 so you should be good to go 😉
### Step 2: Set up IAM
Once you have an AWS account, you can set up IAM by navigating to the IAM console. The console is where you'll manage IAM users, groups, roles, and policies.
### Step 3: Create an IAM User
The next step is to create an IAM user. An IAM user is an entity that you create in IAM that represents a person or service that needs access to your AWS resources. When you create an IAM user, you can specify the permissions that the user should have. One of the homework assignments from Day 50 was to [Create an IAM user](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html), if you haven't completed that go back and make one now.
### Step 4: Create an IAM Group
After you've created an IAM user, the next step is to create an IAM group. An IAM group is a collection of IAM users. When you create an IAM group, you can specify the permissions that the group should have. Watch "IAM Basics" and read "IAM User Guide:Getting Started" in the resources section to accomplish this.
### Step 5: Assign Permissions to the IAM Group
Once you've created an IAM group, you can assign permissions to the group. This involves creating an IAM policy that defines the permissions that the group should have. You can then attach the policy to the group. Watch "IAM Tutorial & Deep Dive" and go through the IAM Tutorial in the resources section to accomplish this.
### Step 6: Test the IAM User
After you've assigned permissions to the IAM group, you can test the IAM user to ensure that they have the correct permissions. To do this, you can log in to the AWS Management Console using the IAM user's credentials and attempt to perform the actions that the user should be able to perform.
## Resources:
[IAM Basics](https://youtu.be/iF9fs8Rw4Uo)
[IAM User Guide: Getting started](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html)
[IAM Video Tutorial & Deep Dive](https://youtu.be/ExjW3HCFG1U)
[IAM Tutorial: Delegate access across AWS accounts using IAM roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html)

View File

@ -0,0 +1,49 @@
# Day 53: AWS Systems Manager
![](images/day53-01.png)
AWS Systems Manager is a fully managed service that allows users to manage and automate operational tasks both on their AWS and on-premises resources. It provides a centralized platform for managing AWS resources, virtual machines, and applications. It enables DevOps professionals to automate operational tasks, maintain compliance, and reduce operational costs.
With AWS Systems Manager, users can perform tasks such as automating patch management, automating OS and application deployments, creating and managing Amazon Machine Images (AMIs), and monitoring resource utilization. It also provides a set of tools for configuring and managing instances, which includes run commands, state manager, inventory, and maintenance windows.
Furthermore, AWS Systems Manager provides a unified view of operational data, allowing users to visualize and monitor operational data across their AWS infrastructure, including EC2 instances, on-premises servers, and AWS services. This allows users to identify and resolve issues faster, improving operational efficiency and reducing downtime.
## How to Get Started with AWS System Manager?
Getting started with AWS System Manager is as easy as 1, 2, 3, 4 😄:
![](images/day53-03.png)
### Step 1: Navigate to the AWS System Manager Console
Once you have an AWS account, create 2 windows servers and 2 linus servers (free tier of course 😉) and navigate to the AWS System Manager console. The console provides a unified interface for managing AWS resources, including EC2 instances, on-premises servers, and other resources:
![](images/day53-02.png)
Click the "get started" button and choose your preferred region (I picked us-east-1)
### Step 2: Choose a configuration type
The next step is to configure AWS Systems Manager to manage your resources. You can do this by selecting one of the quick setup common tasks (or create a custom setup type of your own choosing):
![](images/day53-04.png)
For my needs I'm going to choose "Patch Manager" - in the resources below we will have additional scenarios that you can experiment with. Watch "Patch and manage your AWS Instances in MINUTES with AWS Systems Manager" to see this step in action.
### Step 3: Specify configuration options
Each configuration type has a unique set of parameters to apply for this step...
|![](images/day53-05.png)|
|:-:|
| <i>You will see something different depending on which quick start config you chose</i>|
so I won't be getting into the required arguments for each one. Generally speaking the next step is to create a resource group to organize your resources. Resource groups are collections of resources that share common attributes. By grouping resources, you can view them collectively and apply policies and actions to them together. Watch "Patch and manage your AWS Instances in MINUTES with AWS Systems Manager" to see this step in action.
### Step 4: Deploy, Review, and Manage Your Resources
Once you have created a resource group, you can view and manage your resources from the AWS System Manager console. You can also create automation workflows, run patch management, and perform other operations on your resources.
## Resources:
[AWS Systems Manager Introduction](https://youtu.be/pSVK-ingvfc)
[Patch and manage your AWS Instances in MINUTES with AWS Systems Manager](https://youtu.be/DEQFJba3h4M)
[Getting started with AWS System Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/getting-started-launch-managed-instance.html)

View File

@ -0,0 +1,30 @@
# Day 54: AWS CodeCommit
![](images/day54-01.png)
AWS CodeCommit is a fully managed source control service provided by Amazon Web Services (AWS) that makes it easy for developers to host and manage private Git repositories. Think "GitHub but with less features" 🤣 (j/k, see the resource "CodeCommit vs GitHub" for a breakdown) It allows teams to collaborate on code and keep their code securely stored in the cloud, with support for secure access control, encryption, and automatic backups.
With AWS CodeCommit, developers can easily create, manage, and collaborate on Git repositories with powerful code review and workflow tools. It integrates seamlessly with other AWS services like AWS CodePipeline and AWS CodeBuild, making it easier to build and deploy applications in a fully automated manner.
Some key features of AWS CodeCommit include:
- Git-based repositories with support for code reviews and pull requests
- Integration with AWS Identity and Access Management (IAM) for secure access control (this is a big plus)
- Encryption of data at rest and in transit
- Highly scalable and available, with automatic backups and failover capabilities
- Integration with other AWS developer tools like AWS CodePipeline and AWS CodeBuild
Overall, AWS CodeCommit is a powerful tool for teams that need to collaborate on code, manage their repositories securely, and streamline their development workflows.
## Resources:
[AWS CodeCommit User Guide](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html)
[AWS CodeCommit Overview](https://youtu.be/5kFmfgFYOx4)
[AWS CodeCommit tutorial: your first Repo, Commit and Push](https://youtu.be/t7M8pHCh5Xs)
[AWS CodeCommit vs GitHub: Which will Shine in 2023?](https://appwrk.com/aws-codecommit-vs-github)

View File

@ -0,0 +1,2 @@
# Day 55: AWS CodePipeline

BIN
2023/images/day52-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

BIN
2023/images/day52-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

BIN
2023/images/day53-01.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

BIN
2023/images/day53-02.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 KiB

BIN
2023/images/day53-03.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

BIN
2023/images/day53-04.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 KiB

BIN
2023/images/day53-05.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

BIN
2023/images/day54-01.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB