Политики на основе идентичности и ресурса
Сравните политики, прикреплённые к идентичностям, с политиками, назначенными ресурсам.
«Политики на основе идентичности и ресурса» — бесплатный урок AWS Security Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AWS Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AWS Security Academy содержит 4 уроков всего.
Два места для присоединения
Разрешения в AWS исходят из политик, присоединенных в двух местах: к идентичности (пользователю, группе или роли) или к ресурсу (например, корзине S3 или ключу KMS). Для экзамена важно понимать, какой тип применяется и как они объединяются, поскольку доступ между учетными записями полностью зависит от этого различия.
Политики на основе идентичности
Политика на основе идентичности присоединяется к субъекту IAM и определяет, что этот субъект может делать. В ней нет элемента Principal, поскольку субъектом является тот, к кому она присоединена. Такие политики могут управляться AWS, клиентом или быть встроенными; это наиболее распространенный способ предоставления разрешений.
Политики на основе ресурсов
Политика на основе ресурсов присоединяется непосредственно к ресурсу и содержит элемент Principal, указывающий, кому разрешен доступ. Примеры: политики корзин S3, ключей KMS, очередей SQS и функций Lambda. Они указывают и кто (Principal), и что (Action) может делать с этим ресурсом.
Пример политики корзины
Эта политика корзины S3 предоставляет другой учетной записи доступ на чтение. Principal указывает доверенную учетную запись, что возможно только в политике на основе ресурсов.
{
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::444455556666:root" },
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::shared-data/*"
}Логика в одной учетной записи
В пределах одной учетной записи политики на основе идентичности и политики на основе ресурсов объединяются как объединение: запрос разрешен, если его разрешает любая из них (и ни одна не запрещает). Поэтому доступ к объекту S3 возможен, если его разрешает политика пользователя или политика корзины. Достаточно открыть доступ с любой стороны.
Логика между учетными записями
Для доступа между учетными записями правило строже: его должны разрешить обе стороны. Субъекту нужна политика на основе идентичности, разрешающая действие, а политика на основе ресурсов в другой учетной записи должна предоставить доступ этому субъекту. Отсутствие любой из частей приводит к отклонению запроса. Это различие часто проверяется на экзамене.
Нет политики ресурсов для ролей
Политики доверия ролей технически являются разновидностью политик на основе ресурсов, поэтому для принятия роли между учетными записями нужны политика доверия и разрешение идентичности вызывающей стороны sts:AssumeRole. Распознавание политики доверия как политики на основе ресурсов помогает сформировать целостное представление о предоставлении доступа.
Какие службы это поддерживают
Не каждая служба поддерживает политики на основе ресурсов. Среди основных таких служб: S3, KMS, SQS, SNS, Lambda, Secrets Manager и ECR. Если служба не поддерживает политики ресурсов, доступ между учетными записями необходимо предоставлять через принятие роли. На экзамене могут проверить, возможен ли выбранный подход для конкретной службы.
Выбор подходящего типа
Используйте политики на основе идентичности для общих разрешений в духе «эта команда может выполнять такие действия». Используйте политики на основе ресурсов, когда необходимо предоставить доступ конкретному внешнему субъекту, включить совместное использование между учетными записями в поддерживающей службе или задать разрешения, которые перемещаются вместе с самим ресурсом.
Аудит обеих сторон
Поскольку доступ может исходить с любой стороны, при аудите необходимо проверять обе. IAM Access Analyzer проверяет политики на основе ресурсов и находит ресурсы, доступные извне или публично. Моделирование политик и данные о последнем обращении помогают проверить сторону идентичности. Полный анализ никогда не ограничивается только одним типом.
Объединение всего
Доступ в одной учетной записи представляет собой объединение (разрешить может любая политика), тогда как для доступа между учетными записями должны разрешать обе политики — идентичности и ресурса. В политиках идентичности нет Principal, а в политиках ресурсов он есть. Соотносите тип политики со сценарием и помните, какие службы вообще поддерживают политики на основе ресурсов.
Быстрая проверка
Проверьте умение рассуждать о типах политик.
Повторение
Политики на основе идентичности присоединяются к субъектам и не содержат элемента Principal; политики на основе ресурсов присоединяются к ресурсам и указывают Principal. Доступ в одной учетной записи представляет собой объединение двух политик; для доступа между учетными записями обе политики должны разрешать его. Только некоторые службы (S3, KMS, SQS, SNS, Lambda, Secrets Manager, ECR) поддерживают политики ресурсов; в остальных случаях используйте принятие роли.
Часто задаваемые вопросы
Урок «Политики на основе идентичности и ресурса» бесплатный?
Да — полный текст урока «Политики на основе идентичности и ресурса» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AWS Security Academy, подпишись на CoddyKit PRO. Курс AWS Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Политики на основе идентичности и ресурса»?
Сравните политики, прикреплённые к идентичностям, с политиками, назначенными ресурсам. Ты практикуешь AWS Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AWS Security Academy?
Предыдущий опыт не требуется. AWS Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Политики на основе идентичности и ресурса»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AWS Security Academy?
Да. Каждый урок AWS Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Анатомия документа политики IAM
- Политики на основе идентичности и ресурса
- Порядок принятия решений при оценке политик
- Условия, подстановочные знаки и переменные политик