← Назад ко всем вопросам

В чем разница между IAM-ролью и IAM-политикой в AWS

1️⃣ Как кратко ответить

IAM-роль в AWS — это сущность, которая предоставляет временные разрешения для выполнения определенных действий в AWS. Она используется для предоставления доступа сервисам или пользователям, которым не нужно иметь постоянные учетные данные. IAM-политика — это документ, который определяет разрешения, описывая, какие действия разрешены или запрещены для ресурсов AWS. Политики прикрепляются к ролям, пользователям или группам для управления доступом.

2️⃣ Подробное объяснение темы

IAM (Identity and Access Management) в AWS — это сервис, который позволяет управлять доступом к ресурсам AWS. Два ключевых компонента IAM — это роли и политики.

IAM-роль:

  • Что это такое: IAM-роль — это сущность в AWS, которая предоставляет временные разрешения для выполнения определенных действий. Роли не имеют постоянных учетных данных, таких как пароли или ключи доступа. Вместо этого они предоставляют временные учетные данные, которые могут использоваться для выполнения действий в AWS.

  • Зачем это нужно: Роли используются, когда необходимо предоставить доступ к ресурсам AWS без использования постоянных учетных данных. Это особенно полезно для сервисов AWS, таких как EC2 или Lambda, которые должны взаимодействовать с другими сервисами AWS.

  • Как это работает: Роли могут быть назначены пользователям, сервисам или другим учетным записям AWS. Когда сущность принимает роль, она получает временные учетные данные, которые позволяют ей выполнять действия, определенные в прикрепленных к роли политиках.

Пример использования IAM-роли:

# Пример YAML-файла для создания IAM-роли с помощью AWS CloudFormation
Resources:
  MyIAMRole:
    Type: "AWS::IAM::Role"
    Properties:
      RoleName: "MyExampleRole"
      AssumeRolePolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: "Allow"
            Principal:
              Service: "ec2.amazonaws.com"
            Action: "sts:AssumeRole"
      Policies:
        - PolicyName: "MyPolicy"
          PolicyDocument:
            Version: "2012-10-17"
            Statement:
              - Effect: "Allow"
                Action: "s3:ListBucket"
                Resource: "arn:aws:s3:::example-bucket"
  • AssumeRolePolicyDocument: Определяет, какие сущности могут "принимать" эту роль. В данном случае, EC2-сервисы могут использовать эту роль.
  • Policies: Определяет, какие действия разрешены. Здесь EC2-инстансы могут выполнять действие s3:ListBucket на указанном S3-бакете.

IAM-политика:

  • Что это такое: IAM-политика — это JSON-документ, который определяет разрешения. Политики описывают, какие действия разрешены или запрещены для ресурсов AWS.

  • Зачем это нужно: Политики используются для управления доступом к ресурсам AWS. Они могут быть прикреплены к пользователям, группам или ролям, чтобы определить, какие действия эти сущности могут выполнять.

  • Как это работает: Политики содержат один или несколько "Statement" блоков, которые определяют "Effect" (разрешить или запретить), "Action" (какие действия разрешены или запрещены) и "Resource" (к каким ресурсам применяются эти действия).

Пример IAM-политики:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": "arn:aws:s3:::example-bucket"
    }
  ]
}
  • Effect: Определяет, разрешено или запрещено действие. В данном случае, действие разрешено.
  • Action: Определяет, какие действия разрешены. Здесь разрешено действие s3:ListBucket.
  • Resource: Определяет, к каким ресурсам применяются действия. В данном случае, это конкретный S3-бакет.

Основные различия:

  • Назначение: Роли предоставляют временные учетные данные для выполнения действий, тогда как политики определяют, какие действия разрешены или запрещены.
  • Использование: Роли используются для предоставления доступа сервисам или пользователям, которым не нужно иметь постоянные учетные данные. Политики прикрепляются к ролям, пользователям или группам для управления доступом.
  • Структура: Роли включают в себя политики, которые определяют разрешения, тогда как политики сами по себе являются документами, определяющими разрешения.

Тема: Облака
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки