GCP IAM - политика наследования / приоритета
Согласно документации, которая гласит
Дочерние политики не могут ограничивать доступ, предоставленный на более высоком уровне. Например, если вы предоставите роль редактора пользователю для проекта и предоставите роль средства просмотра тому же пользователю для дочернего ресурса, то у пользователя все еще будет предоставлена роль редактора для дочернего ресурса.
Означает ли это также, что если я назначу пользователю ограничительный доступ на более высоком уровне, но назначу более разрешающий доступ на уровне ресурсов, то у этого пользователя будет более разрешительный доступ? Другими словами, более разрешительная политика переопределит ограничительную политику, независимо от того, на каком уровне предоставляется более разрешительная политика?
Пример:
Предоставить пользователю роль обозревателя UserA для проекта, но назначить роль редактора на уровне ресурса, а пользователь A будет иметь доступ к ресурсу на уровне редактора?
3 ответа
Означает ли это также, что если я назначу пользователю ограничительный доступ на более высоком уровне, но назначу более разрешающий доступ на уровне ресурсов, то у этого пользователя будет более разрешительный доступ?
Да.
Другими словами, более разрешительная политика переопределит ограничительную политику, независимо от того, на каком уровне предоставляется более разрешительная политика?
Не думайте, что это имеет преимущественную силу. Думайте об этом как о предоставлении дополнительных привилегий.
Предоставить пользователю роль обозревателя UserA для проекта, но назначить роль редактора на уровне ресурса, а пользователь A будет иметь доступ к ресурсу на уровне редактора?
Правильно, у UserA будет уровень редактора для ресурса.
Представьте себе иерархию: Организация / Папки / Проекты / Ресурсы. Если у вас есть разрешения на более высоком уровне, у вас есть по крайней мере те разрешения на более низком уровне. Это похоже на организацию компании. Если вы являетесь вице-президентом подразделения (проекта), вы по-прежнему являетесь вице-президентом по каждой группе (ресурсу) этого подразделения. Противоположное также работает. Вы являетесь членом команды для организации (Просмотр проекта), но вы являетесь руководителем одной группы (Редактор вычислительных ресурсов) и просто просмотра проекта для других ресурсов.
Просто чтобы добавить к приведенному выше ответу,
Если во время объединения политики возникает ситуация конфликта политик, приоритет имеет ОТКАЗ.
Например, ниже две политики
На уровне папки -> Разрешить создание сегмента хранилища для пользователя
На уровне Project1 -> Запретить создание сегмента хранилища для пользователя
тогда
DENY
политика имеет приоритет, а пользователь
x@a.com
не сможет создать ведро.
GCP IAM сначала проверяет запрещенные политики, прикрепленные к принципалу, а затем переходит к оценке разрешенных политик.
Прилагаемая блок-схема оценки политики GCP поможет вам прояснить концепцию.