如何识别是否特定访问密钥&密钥必须允许S3操作?如何通过使用JAVA SDK检查用户是否具有S3权限是否允许?
0
A
回答
0
Amazon S3 SDK的AmazonS3Client是通往S3的网关。您可以使用几种方法来探索对S3存储桶和对象的访问权限,但S3将其访问权限基于基于资源的策略(即ACL - 访问控制列表),告知S3哪些用户可以访问存储桶/对象以及和基于用户的政策,这是授予用户的权利。
所以,这意味着,在S3的访问权限管理中没有对密钥对的本地理解。虽然你不能给SDK一个密钥对,并期望它能够返回关于该密钥对是否可以访问资源的真/假,但我可以想到两个想法。
1)设计你的应用程序,而不是使用IAM角色(这是在EC2上运行时的首选认证方式),你的应用程序可以使用运行时提供的任何密钥对,所以你的应用程序的用户需要为应用程序提供关键信息,并且您的应用程序将进行身份验证,然后尝试访问资源。如果可以,很好,如果没有,它没有权限。这可能是矫枉过正的,这取决于你的用例。您还需要确保关键信息的安全性。这将是一个S3客户端会做的(只是谷歌的'S3客户端',你会发现几个)。
2)确定AWS账户(用户名)是否有权限,而不是试图确定某个特定的密钥是否有权访问某个对象。由于访问策略是以用户为中心的,因此您的应用程序需要通过IAM角色(如果应用程序在EC2上运行)或IAM用户(如果不在EC2上运行)具有对所有S3的读权限进行身份验证并轮询用户想要访问的对象,检查与该桶或对象关联的授权并相应地通知用户。如果您的应用程序需要简单地检查用户是否有权访问某个对象,并且不做任何其他事情(例如提供对象,进行任何更改等),则可能需要这样做。
一些方法,你可能想要探索:
public AccessControlList getObjectAcl(String bucketName, String key)
throws AmazonClientException, AmazonServiceException
public BucketPolicy getBucketPolicy(GetBucketPolicyRequest getBucketPolicyRequest)
throws AmazonClientException, AmazonServiceException
public AccessControlList getBucketAcl(GetBucketAclRequest getBucketAclRequest)
throws AmazonClientException, AmazonServiceException
两个获得*的Acl方法返回一个AccessControlList,然后你就可以用它来探索已分配给ACL的赠款。
相关问题
- 1. Laravel:检查用户是否有权限
- 2. 的Microsoft Dynamics 4.0 SDK检查用户是否有权限
- 3. 如何知道用户是否允许提示权限
- 4. 检查请求的用户是否具有管理员权限
- 5. 脸书连接:检查用户是否具有javascript的权限
- 6. 检查用户是否具有特定的Windows权限Powershell
- 7. Python - 检查用户是否具有管理员权限
- 8. Java Spring - 检查用户是否被允许查看页面
- 9. 如何检查用户是否同步拥有publish_stream权限?
- 10. 如何检查用户是否具有数据库查询权限?
- 11. webservice如何检查用户是否被允许查看项目?
- 12. 使用AngularJS服务来检查用户是否具有管理员权限
- 13. 检查用户是否允许本地通知。 iOS 8. Obj-C
- 14. 如何检查用户是否具有windows api文件的访问权限
- 15. Facebook是否允许通过应用程序sdk发送通知?
- 16. 如何检查权限的朋友是否允许我发布的墙上或不使用PHP SDK
- 17. FBLoginView如何检查用户是否接受了发布权限?
- 18. 检查字符串是否允许使用其他值。 Java
- 19. Facebook权限:如何检查用户是否已经允许publish_stream用于您的应用程序
- 20. 是否有任何系统定义的函数来检查用户是否具有更改权限?
- 21. Mysql加入,检查用户是否有权限
- 22. 检查用户是否登录没有要求权限 - facebook
- 23. read_only权限是否允许使用TFS修改文件?
- 24. 检查用户是否被允许在asp.net中查看网页
- 25. PHP-SDK:检查用户是否授权我的应用程序
- 26. nwjs是否有方法检查是否使用sdk版本?
- 27. 测试用户是否使用JavaScript SDK没有权限是页面的粉丝?
- 28. 检查aro是否具有某个aco的权限
- 29. 检查用户是否被授权
- 30. VBScript:检查脚本是否具有管理权限