hf-cloud-aws-context-discovery
Навык AWS Context Discovery от Hugging Face нужен как обязательный первый шаг перед любой работой с AWS: развёртыванием в SageMaker, созданием ресурсов, вызовами AWS API, SDK или CLI и другими операциями, которые затрагивают аккаунт. Его задача — установить фактический локальный контекст пользователя до последующих действий. Навык не предлагает угадывать регион, аккаунт или профиль и не подменяет отсутствующие значения безопасными на вид настройками. Сначала определяется активный профиль. Если задана переменная AWS_PROFILE, используется она; иначе берётся профиль default. Если профиль назван явно в запросе, он имеет приоритет, а отсутствие такого профиля в ~/.aws/config нужно сообщить как отдельную проблему. Затем определяется регион в строгом порядке: сначала явно названный в разговоре, затем AWS_REGION, затем AWS_DEFAULT_REGION, затем поле region активного профиля в ~/.aws/config. Если ни один источник не дал значение, навык требует остановиться и запросить регион. Жёсткий fallback вроде us-east-1 запрещён, потому что он может направить операцию в другой регион и скрыть ошибку конфигурации. Для проверки credentials, аккаунта и caller ARN используется AWS STS: команда aws sts get-caller-identity --profile <profile> --region <region> возвращает Account и Arn и одновременно показывает, действительны ли учетные данные. Если проверка не проходит, дальнейшую AWS-работу нужно остановить и показать конкретную ошибку. Для быстрой проверки эффективных параметров предлагается aws configure list, а для обычного профиля — aws sts get-caller-identity без дополнительных флагов. Сырые ~/.aws/config и ~/.aws/credentials можно читать только когда это нужно, например для проверки списка профилей; сам навык не создаёт новые credentials и не просит угадывать их значения. Особое внимание уделено типу caller ARN. ARN вида arn:aws:iam::<acct>:user/<name> обозначает IAM user, а возможности изменения IAM зависят от его политик. ARN вида arn:aws:sts::<acct>:assumed-role/AWSReservedSSO_<...>/<email> указывает на SSO assumed-role; такой principal обычно не может создавать или изменять IAM roles. Обычная assumed-role также определяется по ARN, а её возможности зависят от роли. Если обнаружен SSO, об этом нужно предупредить до попытки создать execution role для SageMaker: сначала следует искать существующую роль, а при её отсутствии обращаться к администратору доступа. Результат навыка короткий и операционный: профиль, регион, Account и способ аутентификации, например SSO. Ошибки профиля, региона или STS нельзя замалчивать. Такая последовательность защищает последующие AWS-операции от неправильного аккаунта и случайного региона, оставляя решение о создании IAM-роли за теми правами, которыми реально обладает текущий caller.
Для чего подходит
- Определение AWS profile и region
- Проверка AWS caller identity через STS
- Подготовка безопасного контекста для SageMaker
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/huggingface/skills/tree/main/skills/hf-cloud-aws-context-discovery