Cette rubrique explique comment utiliser des identifiants d'accès temporaires fournis par Alibaba Cloud Security Token Service (STS) ou une URL présignée pour accéder temporairement aux ressources Object Storage Service (OSS).
Vous devez spécifier une durée de validité pour les identifiants d'accès temporaires STS et pour l'URL présignée. Si vous utilisez des identifiants d'accès temporaires pour générer une URL présignée destinée à des opérations telles que le téléchargement ou la récupération de fichiers, c'est la durée de validité la plus courte qui s'applique. Par exemple, si la validité de vos identifiants d'accès temporaires STS est de 1200 secondes et celle de l'URL présignée de 3 600 secondes, vous ne pourrez pas utiliser l'URL présignée pour télécharger des fichiers au-delà de 1200 secondes, car les identifiants d'accès temporaires STS auront expiré.
Notes
Cette rubrique utilise le point de terminaison public de la région Chine (Hangzhou). Si vous souhaitez accéder à OSS depuis d'autres services Alibaba Cloud situés dans la même région, utilisez un point de terminaison interne. Pour plus d'informations sur les régions et les points de terminaison OSS, reportez-vous à Régions et points de terminaison.
Cette rubrique illustre la création d'une instance OSSClient avec un point de terminaison OSS. Pour d'autres configurations, telles que l'utilisation d'un domaine personnalisé ou l'authentification via des identifiants issus de Security Token Service (STS), consultez Initialisation (SDK C).
Utiliser STS pour autoriser un accès temporaire
OSS prend en charge l'autorisation d'accès temporaire via Alibaba Cloud Security Token Service (STS). STS est un service web qui fournit des jetons d'accès temporaires aux utilisateurs du cloud computing. Avec STS, vous pouvez émettre des identifiants d'accès dotés d'une durée de validité et de permissions personnalisées à des applications tierces ou à des sous-utilisateurs (utilisateurs dont vous gérez les identités). Pour plus d'informations sur STS, consultez Présentation de STS.
STS offre les avantages suivants :
Vous n'avez pas besoin d'exposer votre paire AccessKey à long terme à des applications tierces. Vous pouvez plutôt générer un jeton d'accès et le fournir à l'application. Vous avez la possibilité de personnaliser les permissions d'accès ainsi que la durée de validité de ce jeton.
Aucune gestion de la révocation des permissions n'est nécessaire. Le jeton d'accès devient automatiquement invalide à son expiration.
Pour accéder à OSS en utilisant des identifiants d'accès temporaires provenant de STS, procédez comme suit :
-
Obtenir des identifiants d'accès temporaires
Les identifiants d'accès temporaires comprennent une paire AccessKey temporaire (un ID AccessKey et un secret AccessKey) ainsi qu'un jeton de sécurité (SecurityToken). La durée de validité des identifiants d'accès temporaires est exprimée en secondes. La valeur minimale est de 900. La valeur maximale correspond à la durée maximale de session définie pour le rôle RAM actuel. Pour plus d'informations, consultez Définir la durée maximale de session pour un rôle RAM.
Vous pouvez obtenir des identifiants d'accès temporaires de l'une des manières suivantes.
-
Méthode 1
Appelez l'opération AssumeRole pour obtenir des identifiants d'accès temporaires.
-
Méthode 2
Utilisez les SDK STS pour obtenir des identifiants d'accès temporaires. Pour plus d'informations, consultez SDK STS.
-
-
Utilisez les identifiants STS pour créer une requête signée.
-
Utiliser une URL présignée pour autoriser un accès temporaire
Remarques d'utilisation
-
Lorsque vous utilisez un SDK OSS pour générer une URL présignée, le SDK applique un algorithme spécifique basé sur les informations de clé stockées sur l'ordinateur local afin de calculer une signature et de l'ajouter à l'URL, garantissant ainsi sa validité et sa sécurité. Les opérations de calcul et de construction de l'URL sont effectuées côté client. Aucune requête réseau vers le serveur n'est nécessaire. De ce fait, il n'est pas nécessaire d'accorder des permissions spécifiques à l'appelant lors de la génération de l'URL présignée. Toutefois, pour permettre aux utilisateurs tiers d'effectuer les opérations pertinentes sur les ressources autorisées par l'URL présignée, vous devez vous assurer que l'entité appelant les API pour générer l'URL présignée dispose des permissions correspondantes.
Par exemple, si une entité souhaite télécharger un objet via une URL présignée, vous devez lui accorder la permission oss:PutObject. Si une entité souhaite récupérer ou prévisualiser un objet via une URL présignée, vous devez lui accorder la permission oss:GetObject.
Vous pouvez générer une URL présignée et la transmettre à un visiteur pour un accès temporaire. Lors de la génération d'une URL présignée, vous avez la possibilité de définir sa durée de validité afin de limiter la période pendant laquelle le visiteur peut accéder à des données spécifiques.
Pour générer une URL présignée permettant d'accéder aux ressources via HTTPS, configurez le protocole du point de terminaison sur HTTPS.
L'URL présignée générée à l'aide de l'exemple de code ci-dessous peut contenir un signe plus (
+). Dans ce cas, remplacez le signe plus (+) présent dans l'URL par%2B. Sinon, l'URL présignée risque de ne pas permettre l'accès à l'objet comme prévu.