微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用没有安全漏洞的AWS S3凭证?

如何解决如何使用没有安全漏洞的AWS S3凭证?

我的Android应用程序使用AWS S3存储图像。下面是我正在使用的版本详细信息。

[root@mytestuse pyMysqL]# clickhouse-MysqL
Traceback (most recent call last):
  File "/usr/local/bin/clickhouse-MysqL",line 5,in <module>
    from clickhouse_MysqL import main
  File "/usr/local/python3/lib/python3.7/site-packages/clickhouse_MysqL/__init__.py",line 4,in <module>
    from .main import Main
  File "/usr/local/python3/lib/python3.7/site-packages/clickhouse_MysqL/main.py",line 21,in <module>
    from clickhouse_MysqL.config import Config
  File "/usr/local/python3/lib/python3.7/site-packages/clickhouse_MysqL/config.py",in <module>
    from clickhouse_MysqL.reader.MysqLreader import MysqLReader
  File "/usr/local/python3/lib/python3.7/site-packages/clickhouse_MysqL/reader/MysqLreader.py",line 8,in <module>
    from pyMysqLreplication import binlogStreamReader
  File "/usr/local/python3/lib/python3.7/site-packages/pyMysqLreplication/__init__.py",line 23,in <module>
    from .binlogstream import binlogStreamReader
  File "/usr/local/python3/lib/python3.7/site-packages/pyMysqLreplication/binlogstream.py",line 10,in <module>
    from .packet import binlogPacketWrapper
  File "/usr/local/python3/lib/python3.7/site-packages/pyMysqLreplication/packet.py",line 7,in <module>
    from pyMysqLreplication import constants,event,row_event
  File "/usr/local/python3/lib/python3.7/site-packages/pyMysqLreplication/row_event.py",line 9,in <module>
    from pyMysqL.charset import charset_to_encoding
ImportError: cannot import name 'charset_to_encoding' from 'pyMysqL.charset' (/usr/local/python3/lib/python3.7/site-packages/pyMysqL/charset.py)
[root@mytestuse pyMysqL]# 

当前,我通过BuildConfig变量访问秘密密钥和访问密钥的方式。 我找到了这种方法here

def aws_version = "2.16.+"
implementation "com.amazonaws:aws-android-sdk-s3:$aws_version"
implementation ("com.amazonaws:aws-android-sdk-mobile-client:$aws_version") { transitive = true }

现在我收到了一封邮件,上面写着

您的应用公开了Amazon Web Services凭据。

现在我想知道我做错了什么。 存储AWS S3密钥和访问密钥的正确方法是什么?

一个重要的问题可能会帮助您回答这个问题,

  • 一旦我将秘密密钥和访问密钥用作硬编码字符串,并将这些更改推送到我们的私有git项目中。在意识到我的错误之后,我更改了实现,现在使用如上所述的BuildConfig方法。我不知道公开凭证是否可能是这种情况。

解决方法

有两种方法:

  1. AWS安全令牌服务(AWS STS)
  2. AWS Cognito
  3. AWS放大
  4. Android密钥库

以下是有关在移动应用程序中使用AWS凭证进行身份验证的官方文档:Authenticating Users of AWS Mobile Applications with a Token Vending Machine

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。