Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS访问密钥Id在我们的记录中不存在_Amazon Web Services_Amazon S3_Aws Cli - Fatal编程技术网

Amazon web services AWS访问密钥Id在我们的记录中不存在

Amazon web services AWS访问密钥Id在我们的记录中不存在,amazon-web-services,amazon-s3,aws-cli,Amazon Web Services,Amazon S3,Aws Cli,我创建了一个新的访问密钥,并在AWS CLI中使用AWS configure对其进行了配置。它在~/.aws/config中创建了.ini文件。当我运行aws s3 ls时,它给出: 调用ListBucket操作时发生客户端错误(InvalidAccessKeyId):您提供的AWS访问密钥Id在我们的记录中不存在 AmazonS3FullAccess策略也附加到用户。如何解决这个问题 看起来像是~/.aws/credentials未创建。尝试使用以下内容手动创建它: [default] aws

我创建了一个新的访问密钥,并在AWS CLI中使用
AWS configure
对其进行了配置。它在
~/.aws/config
中创建了
.ini
文件。当我运行aws s3 ls时,它给出:

调用ListBucket操作时发生客户端错误(InvalidAccessKeyId):您提供的AWS访问密钥Id在我们的记录中不存在


AmazonS3FullAccess
策略也附加到用户。如何解决这个问题

看起来像是
~/.aws/credentials
未创建。尝试使用以下内容手动创建它:

[default]
aws_access_key_id = sdfesdwedwedwrdf
aws_secret_access_key = wedfwedwerf3erfweaefdaefafefqaewfqewfqw
(在我的测试盒上,如果我在没有凭据文件的情况下运行
aws
命令,则错误为
无法找到凭据。您可以通过运行“aws configure”来配置凭据。
) 您是否可以尝试从尝试运行aws的同一个shell运行这两个命令:

$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

然后尝试
aws
命令。

另一个可能导致这种情况的原因,即使所有设置都正确,是从生成文件运行该命令。例如,我有一条规则:

awssetup:
        aws configure
        aws s3 sync s3://mybucket.whatever .

当我运行
make awssetup
时,我得到一个错误:
致命错误:调用ListObjects操作时发生错误(InvalidAccessKeyId):您提供的AWS访问密钥Id在我们的记录中不存在。
。但是从命令行运行它是有效的。

可能是您通过env变量(bash_profile)导出了旧密钥,并且由于env变量的优先级高于凭证文件,因此会出现错误“访问密钥id不存在”

从bash_配置文件中删除旧密钥,您就可以开始了


发生在我之前的一次,当时我忘了我在bash_配置文件中有凭据,这让我头痛了好长一段时间:)

看起来环境变量AWS_ACCESS\u KEY\u IDAWS_SECRET\u ACCESS\u KEY已经设置了一些值

如果是这样的话,在执行下面的命令时可以看到一些值

echo $AWS_SECRET_ACCESS_KEY
echo $AWS_ACCESS_KEY_ID
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
如果使用的是aws configure,则需要重置这些变量

要重置,请执行以下命令

echo $AWS_SECRET_ACCESS_KEY
echo $AWS_ACCESS_KEY_ID
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY

对我来说,我依靠
IAM EC2角色
为我们的机器提供访问特定资源的权限

我甚至不知道在
~/.aws/credentials
上有一个
凭证
文件,直到我在IAM控制台上旋转/删除了一些AccessKey以加强安全性,这突然使其中一个脚本在一台机器上停止工作


删除该
凭证
文件为我修复了它。

您可以使用在bash_配置文件中配置配置文件

<profile_name>
aws_access_key_id = <access_key>
aws_secret_access_key = <acces_key_secret>

aws\u访问\u密钥\u id=
aws\u密码\u访问\u密钥=
如果您使用多个配置文件。然后使用:

aws s3 ls --profile <profile_name>
aws s3 ls--配置文件

所有投票赞成的答案都不适合我。最后,我使用客户端API在python脚本中传递凭据

import boto3
client = boto3.client(
's3',
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
aws_session_token=SESSION_TOKEN)

请注意,aws_会话_令牌参数是可选的。不建议用于公共工作,但简单试用会使生活更轻松。

我尝试了以下步骤,效果良好: 1.光盘~ 2.cd.aws 3.六全权证书 4.删除 aws\u访问\u密钥\u id= aws\u密码\u访问\u密钥= 将光标放在该行上,然后按dd(vi命令删除该行)


删除行和检查增益。

再添加一个答案,因为以上所有案例都不适用于我

在AWS控制台中,检查您的凭据(我的安全凭据),并查看您是否输入了正确的凭据

感谢这次讨论:

如果您有AWS教育帐户,并且遇到此问题:

调用ListBucket操作时发生错误(InvalidAccessKeyId):您提供的AWS访问密钥Id在我们的记录中不存在”

解决方案如下:

  • 转到
    C:///code>驱动器,在windows主文件夹中搜索
    .aws
    文件夹

  • 在该文件夹中,您将获得“凭据”文件并用记事本打开它

  • 将AWS帐户中的整个密钥凭证粘贴到同一记事本并保存

  • 现在您可以使用您的帐户了


  • 您可能需要设置
    AWS\u DEFAULT\u REGION
    环境变量。

    需要在凭据中添加
    AWS\u session\u token
    ,以及
    AWS\u access\u key\u id
    AWS\u secret\u access\u key
    这可能会发生,因为您的
    AWS secret access key\u密钥出现问题ode>AWS Amplify
    ,我遇到了这个问题。最快的方法是创建一对新的
    AWS访问密钥ID
    AWS秘密访问密钥
    ,然后再次运行
    AWS configure

    我为我工作。我希望这会有所帮助。

    对于那些运行aws s3 ls的人来说,并获得此异常。确保您对所提供的aws帐户下的所有区域都有权限。当运行aws s3 ls
    时,您尝试提取aws帐户下的所有s3存储桶。因此,如果您没有对所有区域的权限,您将获得此异常-
    调用ListBucket操作时发生错误(InvalidAccessKeyId):您提供的AWS访问密钥Id在我们的记录中不存在。


    查看更多信息。

    假设您已经检查了
    Access Key ID
    Secret
    。您可能需要检查
    团队提供者信息.json文件,该文件可以在
    放大/
    文件夹下找到

    "awscloudformation": {
          "AuthRoleName": "<role identifier>",
          "UnauthRoleArn": "arn:aws:iam::<specific to your account and role>",
          "AuthRoleArn": "arn:aws:iam::<specific to your account and role>",
          "Region": "us-east-1",
          "DeploymentBucketName": "<role identifier>",
          "UnauthRoleName": "<role identifier>",
          "StackName": "amplify-test-dev",
          "StackId": "arn:aws:cloudformation:<stack identifier>",
          "AmplifyAppId": "<id>"
        }
    
    “awscloudformation”:{
    “AuthRoleName”:“,
    “学习”:“arn:aws:iam::”,
    “AuthRoleArn”:“arn:aws:iam::”,
    “区域”:“us-east-1”,
    “DeploymentBucketName”:“”,
    “未授权名称”:“,
    “StackName”:“放大测试开发”,
    “StackId”:“arn:aws:cloudformation:”,
    “appid”:”
    }
    
    此处引用的IAM角色应为b
    aws s3 ls
    
    aws --endpoint-url=https://<your_s3_endpoint_url> s3 ls
    
    s3.config.update({
        accessKeyId: 'ACCESS_KEY_ID',
        secretAccessKey: 'SECRET_ACCESS_KEY',
        region: 'REGION',
    });
    
    
    path = .aws/
    filename = credentials
    
    export aws_access_key_id = AK###########GW
    export aws_secret_access_key = g#############################J