Как я могу разрешить ошибку "Недействительный токен безопасности включен в запрос" при запуске aws iam upload-server-сертификата?

I cd в каталог, где находятся все файлы pem/key, и выполните следующее:

aws iam upload-server-certificate 
    --server-certificate-name certificate_name 
    --certificate-body file://webservercertificate.pem  
    --private-key file://server.key   
    --certificate-chain file://certificate_chain_file.pem 

Я получаю следующую ошибку:

Ошибка клиента (InvalidClientTokenId) произошла при вызове Операция UploadServerCertificate: токен безопасности, включенный в запрос недействителен.

У меня есть "пользователь" в "users". Пользователю были назначены следующие разрешения:

IAMFullAccess IAMReadOnlyAccess IAMUserSSHKeys

Я загрузил учетные данные для этого пользователя и поместил их в мои пользовательские переменные

AWS_ACCESS_KEY ****
AWS_SECRET_KEY ****

У меня есть 1 роль на моем эластичном бобовом стебле aws-elasticbeanstalk-ec2-role

Ответ 1

Попробуйте перейти на учетные данные безопасности на странице своей учетной записи: Нажмите на свое имя в правом верхнем углу → Мои учетные данные безопасности

Затем создайте ключи доступа и используйте эти ключи доступа в своем файле учетных данных (aws configure)

Ответ 2

  1. Нажмите на свое имя пользователя в верхней части навигационной системы, Мои учетные данные безопасности
  2. Нажмите "Ключ доступа", "Создать новый", скопируйте ключ и секрет.
  3. Из терминала запускают $ aws configure и используют новый ключ и секрет.
  4. Выполните команду еще раз:

    serverless invoke local --function create --path mocks/create-event.json
    

Ответ 4

Вы как-то используете неправильные учетные данные AWS (AccessKey и SecretKey) учетной записи AWS. Поэтому убедитесь, что они верны, и вам нужно создавать новые и использовать их - в этом случае может быть ответ @Prakash для вас.

Ответ 5

У меня была такая же ошибка, но была вызвана другой проблемой.

Учетные данные были изменены на AWS, но я все еще использовал маркер сеанса кэширования MFA для профиля конфигурации.

Существует файл кеша для каждого профиля в ~/.aws/cli/cache/ содержащий токен сеанса.

Удалите файл кэша, переиздайте команду и введите новый токен MFA, и это будет полезно.

Ответ 6

Это случилось со мной при использовании Java SDK. Проблема была для меня в том, что я не использовал маркер сеанса от предполагаемой роли.

Пример рабочего кода (в котлине)

        val identityUserPoolProviderClient = AWSCognitoIdentityProviderClientBuilder
            .standard()
            .withCredentials(AWSStaticCredentialsProvider(BasicSessionCredentials("accessKeyId", ""secretAccessKey, "sessionToken")))
            .build()

Ответ 7

Попробуйте экспортировать правильный профиль, т. $ export AWS_PROFILE="default" Если у вас есть только профиль по умолчанию, убедитесь, что ключи верны, и перезапустите aws configure

Ответ 8

Я думал, что вы можете избежать этого, просто передав параметр -no-sign-request, например:

aws --region us-west-2 --no-sign-request --endpoint-url=http://192.168.99.100:4572 \
 s3 mb s3://mytestbucket