Вопрос или проблема
Сценарий использования:
У меня есть 2 аккаунта OCI / аренды: tenantA (домашний регион США) и tenantB (домашний регион Индия). В tenantA у меня есть отдел под названием compA. Я создал хранилище внутри compA, названное bucketA. Я хочу управлять этим хранилищем из tenantB.
Я следовал этому документу, чтобы сделать то же самое: https://docs.oracle.com/en-us/iaas/database-tools/doc/cross-tenancy-policies.html
Что я сделал:
Создал группу в домене по умолчанию под названием groupB
Создал следующую политику в корне tenantB:
Определить аренду tenancyA как ocid1.tenancy.oc1..
Поддержать группу groupB для управления объектами в аренде tenancyA
Создал следующую политику в корне tenantA:
Определить аренду tenancyB как ocid1.tenancy.oc1..
Определить группу groupB как ocid1.group.oc1..
Разрешить группе groupB из аренды tenancyB управлять объектами в отделе compA
Теперь я аутентифицировал oci cli, используя учетные данные tenantB, и выполнил следующую команду:
oci os bucket list --compartment-id 'ocid1.compartment.oc1..' --config-file /Users/user/.oci/config --profile tenancyB --auth security_token
Ожидания:
Список хранилищ, содержащий bucketA
Фактическое состояние
Ошибка 404
У вас нет разрешения на выполнение этого запроса или запрашиваемый ресурс не может быть найден
Нужна помощь
Не удается устранить проблему, может кто-то помочь достичь доступа между арендами?
Ответ или решение
Вопрос о доступе между разными тенантами в Oracle Cloud Infrastructure (OCI) может показаться сложным, но при правильной настройке он становится относительно простым. В вашем случае необходимо обеспечить доступ из тенанта B к ресурсу, находящемуся в тенанте A. Давайте рассмотрим ключевые моменты и шаги, чтобы вам удалось реализовать этот кросс-тенантный доступ.
1. Понимание политики кросс-тенантного доступа
Для организации кросс-тенантного доступа в OCI используются политики, которые управляют правами на доступ к ресурсам между разными тенантами. Убедитесь, что в вашем случае созданные вами политики настроены корректно, и вы следуете всем необходимым шагам.
2. Проверка корректности настроек политик
Вы предоставили две политики: одну в тенанте A и одну в тенанте B. Давайте убедимся, что они все правильно оформлены:
Политика в тенанте B
Ваш код выглядит правильно:
Define tenancy tenancyA as ocid1.tenancy.oc1..
Endorse group groupB to manage object-family in tenancy tenancyA
Эта политика определяет, что группа groupB
в тенанте B имеет право управлять объектами в тенанте A.
Политика в тенанте A
Ваш код также кажется корректным:
Define tenancy tenancyB as ocid1.tenancy.oc1..
Define group groupB as ocid1.group.oc1..
Admit group groupB of tenancy tenancyB to manage object-family in compartment compA
Эта политика подтверждает, что группа groupB
из тенанта B может управлять объектами в compartment compA
в тенанте A.
3. Проверка корректности идентификаторов
Убедитесь, что вы используете правильные OCID для вашего тенанта и группы. Если OCID указаны неверно, это может привести к ошибкам доступа.
4. Аутентификация и использование OCI CLI
При выполнении команды oci os bucket list
, убедитесь, что:
- Вы используете правильный
compartment-id
, который соответствует compartmentcompA
в тенанте A. - Файл конфигурации (
config
) правильно настроен, включаяtenancy
,user
иkey_file
. - Вы выполняете команду от имени правильного профиля (
profile tenancyB
), который делает запрос от имени тенанта B.
5. Устранение неполадок
Если вы все еще получаете ошибку 404, вот некоторые шаги для устранения:
- Проверьте доступ к Запросу: Убедитесь, что у вас действительно есть права на доступ к
bucketA
. Пожалуйста, убедитесь, чтоbucketA
существует и что вы правильно указали его в запросе. - Проверка логирования и аудита: Используйте возможности логирования OCI для отслеживания ваших запросов и поиска возможных причин отказа в доступе. Это может дать вам больше информации о том, что идет не так.
- Тестирование с RDP: Попробуйте использовать Oracle Resource Manager или Oracle Cloud Console для тестирования доступа к ресурсам. Это поможет узнать, действительно ли у вас есть необходимые права.
Заключительные рекомендации
Кросс-тенантный доступ требует тщательной проверки и настройки. Возможно, стоит обратиться к службе поддержки Oracle, если вы продолжаете сталкиваться с проблемами. Команда поддержки может помочь вам проверить настройки и идентификаторы, а также другие возможные проблемы. Правильная настройка разрешений позволит вам эффективно управлять ресурсами в разных тенантах.
Следуя этим рекомендациям, вы сможете наладить кросс-тенантный доступ в Oracle Cloud Infrastructure и эффективно управлять своими ресурсами.