【问题标题】:Access blob with one more security in azure android在 azure android 中访问具有更多安全性的 blob
【发布时间】:2017-03-30 17:54:43
【问题描述】:

我将我的数据存储到 azure blob。如果容器名称已知,那么我们可以访问该容器中的所有 blob。但我需要进行一些身份验证才能访问 blob。

示例:设置一些密码以在创建 blob 时访问它。

发送密码以获取 blob 的内容。

这可能吗?

代码无需任何身份验证即可检索 blob:

       for (ListBlobItem blobItem : container.listBlobs()) {
            // If the item is a blob, not a virtual directory
            if (blobItem instanceof CloudBlockBlob) {
                // Download the text
                CloudBlockBlob retrievedBlob = (CloudBlockBlob) blobItem;
                act.outputText(view, retrievedBlob.downloadText());
            }
        }

【问题讨论】:

    标签: android azure azure-blob-storage


    【解决方案1】:

    Blob 存储支持 3 种访问级别 - Public,允许匿名读取并列出容器中的所有 Blob,Blob 读取 - 其中匿名请求可以读取 Blob 但不列出容器的内容以查找其他人或没有公共访问权限.这些权限在此处详细说明:

    https://docs.microsoft.com/en-us/azure/storage/storage-manage-access-to-resources

    对于您的需求,我认为共享访问签名 (SAS) 是一个不错的选择 - 下面的文章有一个我认为应该有所帮助的示例: https://docs.microsoft.com/en-us/azure/storage/storage-dotnet-shared-access-signature-part-2

    SAS 文档可在此处获得: https://docs.microsoft.com/en-us/azure/storage/storage-dotnet-shared-access-signature-part-1

    最后,下面列出的文章对该主题进行了很好的总结: https://www.simple-talk.com/cloud/platform-as-a-service/azure-blob-storage-part-9-shared-access-signatures/

    HTH

    【讨论】:

    • 嗨伊恩。非常感谢你的建议。在 SAS 文档中,我看到使用 SAS 生成创建 blob。但我不知道如何检索使用 SAS 生成创建的 blob 内容。您能否就此提出建议。
    • 嗨 Vji,别担心,我只是想检查一下您如何需要身份验证?因此,例如,为了访问存储帐户以设置 SAS 等,或者实际上是您最初的 sn-p,您正在通过两个帐户密钥之一在代码中进行身份验证,因此应用程序正在进行身份验证。如果适合您的需要,您可以将容器的访问策略设置为私有吗?如果您需要共享对另一个应用程序或第 3 方的访问权限,SAS 是您的朋友。提供的第二个链接包括有关返回用于作为第 3 方访问 Blob 的 URI 的部分。如果我误解了您的评论,我们深表歉意
    猜你喜欢
    • 2019-10-13
    • 2022-10-21
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 2021-02-12
    • 2014-07-23
    • 1970-01-01
    相关资源
    最近更新 更多