Este tópico descreve como usar credenciais de acesso temporárias do Alibaba Cloud Security Token Service (STS) ou uma URL pré-assinada para acessar temporariamente recursos do Object Storage Service (OSS).
Especifique um período de validade para as credenciais de acesso temporárias do STS e para a URL pré-assinada. Se você usar credenciais temporárias para gerar uma URL pré-assinada para operações como upload ou download de arquivos, o período de validade mais curto será o aplicado. Por exemplo, suponha que a validade das suas credenciais do STS seja de 1200 segundos e a da URL pré-assinada seja de 3600 segundos. Nesse caso, você não poderá usar a URL pré-assinada para fazer upload de arquivos após 1200 segundos, pois as credenciais do STS já terão expirado.
Observações
Neste tópico, o endpoint público da região China (Hangzhou) é utilizado. Para acessar o OSS a partir de outros serviços da Alibaba Cloud na mesma região do OSS, use um endpoint interno. Para mais informações sobre regiões e endpoints do OSS, consulte Regions and endpoints.
Este tópico demonstra a criação de uma instância OSSClient com um endpoint do OSS. Para configurações alternativas, como o uso de um domínio personalizado ou autenticação com credenciais do Security Token Service (STS), consulte Initialization (C SDK).
Usar o STS para autorizar acesso temporário
O OSS oferece suporte à autorização de acesso temporário por meio do Alibaba Cloud Security Token Service (STS). O STS é um serviço web que fornece tokens de acesso temporários para usuários de computação em nuvem. Com o STS, você pode emitir uma credencial de acesso com período de validade e permissões personalizados para aplicações de terceiros ou subusuários (usuários cujas identidades você gerencia). Para mais informações sobre o STS, consulte What is STS.
O STS oferece os seguintes benefícios:
Não é necessário expor seu par de AccessKey de longo prazo para aplicações de terceiros. Em vez disso, gere um token de acesso e forneça-o à aplicação. É possível personalizar as permissões de acesso e o período de validade desse token.
Não há necessidade de gerenciar a revogação de permissões. O token de acesso torna-se inválido automaticamente ao expirar.
Para acessar o OSS usando credenciais de acesso temporárias do STS, execute as seguintes etapas:
-
Obtenha credenciais de acesso temporárias
As credenciais de acesso temporárias incluem um par de AccessKey temporário (um AccessKeyID e um AccessKeySecret) e um token de segurança (SecurityToken). O período de validade das credenciais de acesso temporárias é especificado em segundos. O valor mínimo é 900. O valor máximo é a duração máxima da sessão especificada para a função do RAM atual. Para mais informações, consulte Set the maximum session duration for a RAM role.
Obtenha as credenciais de acesso temporárias de uma das seguintes maneiras:
-
Método 1
Chame a operação AssumeRole para obter as credenciais de acesso temporárias.
-
Método 2
Use os SDKs do STS para obter as credenciais de acesso temporárias. Para mais informações, consulte STS SDKs.
-
-
Use as credenciais do STS para criar uma solicitação assinada:
-
Usar uma URL pré-assinada para autorizar acesso temporário
Observações de uso
-
Ao usar um SDK do OSS para gerar uma URL pré-assinada, o SDK utiliza um algoritmo específico com base nas informações de chave armazenadas no computador local. Ele calcula uma assinatura e a adiciona a uma URL, garantindo sua validade e segurança. As operações para calcular e construir a URL são concluídas no cliente. Portanto, não é necessário enviar solicitações ao servidor pela rede. Dessa forma, você não precisa conceder permissões específicas ao chamador ao gerar a URL pré-assinada. No entanto, para permitir que terceiros realizem operações nos recursos autorizados, certifique-se de que a entidade que chama as operações da API para gerar a URL possua as permissões correspondentes.
Por exemplo, se uma entidade quiser fazer upload de um objeto usando uma URL pré-assinada, conceda a permissão oss:PutObject a ela. Se uma entidade quiser fazer download ou visualizar um objeto usando uma URL pré-assinada, conceda a permissão oss:GetObject a ela.
Gere uma URL pré-assinada e forneça-a a um visitante para acesso temporário. Ao gerar uma URL pré-assinada, especifique o período de validade da URL para limitar o tempo durante o qual o visitante pode acessar dados específicos.
Para gerar uma URL pré-assinada usada para acessar recursos via HTTPS, defina o protocolo no endpoint como HTTPS.
A URL pré-assinada gerada com o código de exemplo a seguir pode conter um sinal de mais (
+). Nesse caso, substitua o sinal de mais (+) na URL por%2B. Caso contrário, a URL pré-assinada poderá não ser usada para acessar o objeto conforme o esperado.