Usando AWS re:Post, accetti AWS re:Post Termini di utilizzo

In che modo è possibile limitare l'accesso delle identità IAM a risorse Amazon EC2 specifiche?

3 minuti di lettura
0

Desidero limitare l'accesso delle identità di AWS Identity and Access Management (IAM) a una specifica risorsa Amazon Elastic Compute Cloud (Amazon EC2).

Breve descrizione

Amazon EC2 supporta parzialmente le autorizzazioni o le condizioni a livello di risorsa. Puoi utilizzare le autorizzazioni a livello di risorsa per controllare in che modo le identità IAM possono accedere a risorse Amazon EC2 specifiche.

Puoi anche utilizzare ABAC (autorizzazione basata su tag) per controllare l'accesso alle risorse AWS. Per ulteriori informazioni, consulta IAM tutorial: Define permissions to access AWS resources based on tags.

Risoluzione

Usa il seguente esempio di policy IAM allo scopo di limitare l'accesso alle istanze Amazon EC2 per il tuo caso d'uso. Quindi, allega la policy all'identità IAM di cui desideri limitare l'accesso.

Limite di accesso solo alle istanze di avvio, arresto o riavvio

La seguente policy di esempio limita l'accesso di un'identità IAM solo all'avvio, all'arresto o al riavvio delle istanze EC2:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:Describe*",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:RebootInstances"
            ],
            "Resource": [
                "arn:aws:ec2:*:AccountId:instance/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/Owner": "Bob"
                }
            }
        }
    ]
}

Nota: Sostituisci Owner con la tua chiave tag, Bob con il valore del tag e AccountID con l'ID del tuo account AWS.

Per limitare altre risorse Amazon EC2 per Regione AWS, assicurati che le azioni supportino autorizzazioni e condizioni a livello di risorsa.

Limite del lancio di istanze EC2 per tag

La seguente policy di esempio utilizza la chiave del tag Owner per limitare l'accesso di un'identità IAM in modo da avviare solo istanze EC2:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:*:AccountId:instance/*"
            ],
            "Condition": {
                "StringNotLike": {
                    "aws:RequestTag/Owner": "*"
                }
            }
        },
        {
            "Sid": "AllowRunInstances",
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": [
                "arn:aws:ec2:*::image/*",
                "arn:aws:ec2:*::snapshot/*",
                "arn:aws:ec2:*:*:subnet/*",
                "arn:aws:ec2:*:*:network-interface/*",
                "arn:aws:ec2:*:*:security-group/*",
                "arn:aws:ec2:*:*:key-pair/*",
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ec2:*:*:volume/*"
            ]
        },
        {
            "Sid": "AllowToDescribeAll",
            "Effect": "Allow",
            "Action": [
                "ec2:Describe*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowCreateTagsOnLaunching",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": [
                "arn:aws:ec2:*:AccountId:*/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": [
                        "RunInstances"
                    ]
                }
            }
        }
    ]
}

Nota: sostituisci Owner con la tua chiave tag e AccountID con l'ID del tuo account.

Limite del lancio di istanze EC2 per tipo di istanza

La seguente policy di esempio limita l'accesso a un'identità IAM per avviare solo istanze EC2 con il tipo di istanza t3.*:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:*:AccountId:instance/*"
            ],
            "Condition": {
                "StringNotLike": {
                    "ec2:InstanceType": "t3.*"
                }
            }
        },
        {
            "Sid": "AllowRunInstances",
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": [
                "arn:aws:ec2:*::image/*",
                "arn:aws:ec2:*::snapshot/*",
                "arn:aws:ec2:*:*:subnet/*",
                "arn:aws:ec2:*:*:network-interface/*",
                "arn:aws:ec2:*:*:security-group/*",
                "arn:aws:ec2:*:*:key-pair/*",
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ec2:*:*:volume/*"
            ]
        },
        {
            "Sid": "AllowToDescribeAll",
            "Effect": "Allow",
            "Action": [
                "ec2:Describe*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowCreateTagsOnLaunching",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": [
                "arn:aws:ec2:*:AccountId:*/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": [
                        "RunInstances"
                    ]
                }
            }
        }
    ]
}

Nota: sostituisci il tipo di istanza t3.* con il tuo tipo di istanza, ad esempio t3.nano. Inoltre, sostituisci AccountID con l'ID del tuo account.

Per ulteriori informazioni, consulta Amazon EC2 instance type naming conventions.

Informazioni correlate

Come posso creare una policy IAM per controllare l'accesso alle risorse di Amazon EC2 utilizzando i tag?

Come posso utilizzare i tag dei criteri IAM per limitare le modalità di creazione di un'istanza EC2 o di un volume EBS?

Identity-based policies for Amazon EC2