Tous les produits
Search
Centre de documentation

DataWorks:Configurer un rôle RAM pour un environnement de développement individuel

Dernière mise à jour :Aug 24, 2026

En associant un rôle RAM d'instance à votre instance, vous pouvez utiliser des identifiants temporaires STS pour accéder à d'autres ressources cloud au lieu d'une AccessKey à long terme. Cette approche réduit le risque de fuite d'identifiants et améliore la sécurité. Cette rubrique explique comment obtenir des identifiants temporaires STS en utilisant un rôle RAM d'instance.

Informations générales

Un rôle RAM d'instance est un rôle RAM dont l'entité de confiance est un service Alibaba Cloud. Cela permet au service cloud d'assumer le rôle pour un accès inter-services sécurisé. Pour plus d'informations sur les rôles RAM, consultez Qu'est-ce qu'un rôle RAM ?.

L'utilisation d'un rôle RAM d'instance pour obtenir un identifiant d'accès temporaire à des fins d'authentification et de contrôle d'accès offre un avantage clé :

  • Sécurité renforcée

    Vous n'avez pas besoin de gérer les identifiants dans l'instance. L'utilisation d'identifiants temporaires STS au lieu d'une AccessKey à long terme réduit le risque de fuite d'identifiants.

Limites

Vous ne pouvez associer qu'un seul rôle RAM à une instance d'environnement de développement individuel.

Étape 1 : Configurer le rôle RAM

Scénario 1 : Associer le rôle par défaut de DataWorks

Lorsque vous utilisez Notebook ou Python pour le développement, vous pouvez accéder à certains produits cloud sans fournir d'AccessKey ID ni d'AccessKey Secret.

Le rôle par défaut de DataWorks accorde des autorisations d'accès uniquement à MaxCompute, Hologres, EMR Serverless Spark, Realtime Compute for Apache Flink et Platform for AI (PAI). Lorsque vous utilisez un identifiant d'accès temporaire émis par ce rôle pour accéder à ces services, vous disposez des mêmes autorisations que le propriétaire de l'environnement de développement individuel.

L'association du rôle par défaut de DataWorks à votre instance fournit un identifiant d'accès temporaire permettant d'accéder aux ressources de développement de base sans élévation de privilèges. Vous évitez ainsi la création d'un rôle RAM personnalisé.

Après avoir associé le rôle par défaut de DataWorks, vous n'avez pas besoin de configurer une AccessKey dans les scénarios suivants :

  • Accédez à MaxCompute, Hologres, EMR Serverless Spark, Realtime Compute for Apache Flink ou Platform for AI (PAI) via une cellule SQL Notebook.

  • Soumettez des tâches à un projet MaxCompute où le propriétaire de l'instance dispose d'autorisations d'exécution via le SDK ODPS.

Dans la section Advanced Information, recherchez le paramètre Instance RAM role et sélectionnez DataWorks default role.

Scénario 2 : Ne pas associer de rôle RAM

Si votre instance est visible publiquement dans l'espace de travail, n'associez pas de rôle RAM afin d'éviter toute fuite d'autorisations. Lors de la création ou de la modification d'une instance, définissez l'option Instance RAM role dans la section Advanced Information sur Do not associate role.

Si aucun rôle RAM n'est associé, vous pouvez accéder aux produits cloud en configurant l'AccessKey ID et l'AccessKey Secret dans votre code.

Étape 2 : Obtenir un identifiant d'accès temporaire

Après avoir associé un rôle RAM à une instance d'environnement de développement individuel, vous pouvez obtenir un identifiant d'accès temporaire de l'une des manières suivantes.

Méthode 1 : Utiliser l'outil Credentials

L'outil Credentials appelle un service local injecté automatiquement dans l'instance lors de sa création. Ce service récupère un identifiant temporaire STS et assure sa rotation automatique.

Pour obtenir l'identifiant du rôle RAM d'instance à l'aide de l'outil Credentials, exécutez la commande suivante pour installer l'outil. L'exemple ci-dessous utilise Python.

pip install alibabacloud_credentials

Le code suivant montre un exemple d'utilisation de l'outil Credentials. Pour des exemples de SDK dans d'autres langages, consultez Bonnes pratiques pour l'utilisation d'un identifiant d'accès afin d'appeler des opérations API.

from alibabacloud_credentials.client import Client as CredClient
from alibabacloud_credentials.models import Config as CredConfig
credentialsConfig = CredConfig(
	type='credentials_uri'   # Optional. If you have not configured other providers in the default credential chain, you do not need to explicitly specify this parameter. The Credentials SDK automatically obtains a temporary credential by using the URI.
)
credentialsClient = CredClient(credentialsConfig)

Méthode 2 : Interroger le point de terminaison du service local

Depuis le terminal de votre instance d'environnement de développement individuel, exécutez la commande suivante pour interroger directement le service local injecté et obtenir les identifiants.

# Obtain the temporary access credential for the instance RAM role.
curl $ALIBABA_CLOUD_CREDENTIALS_URI

Le code suivant montre un exemple de réponse. Les paramètres sont décrits comme suit :

  • SecurityToken : Le jeton temporaire du rôle RAM d'instance.

  • Expiration : La date d'expiration de l'identifiant d'accès temporaire.

{
	"Code": "Success",
	"AccessKeyId": "************",
	"AccessKeySecret": "************",
	"SecurityToken": "DFE32G*******",
	"Expiration": "2024-05-21T10:39:29Z"
}

Méthode 3 : Lire le fichier d'identifiants local

Vous pouvez accéder à un fichier situé à un chemin spécifique dans l'instance d'environnement de développement individuel pour obtenir l'identifiant d'accès temporaire du rôle RAM d'instance. Le fichier se trouve à l'emplacement /mnt/.alibabacloud/credentials et contient le contenu suivant :

{
	"AccessKeyId": "*********",
	"AccessKeySecret": "***************",
	"SecurityToken": "DFE32G*******",
	"Expiration": "2024-05-21T10:39:29Z"
}

Étape 3 : Accéder à MaxCompute

  1. Exécutez les commandes suivantes pour installer l'outil Credentials et le SDK ODPS.

    # Install the Credentials tool.
    pip install alibabacloud_credentials
    # Install the ODPS SDK.
    pip install odps
  2. Utilisez l'identifiant temporaire du rôle RAM d'instance pour accéder à ODPS et récupérer la liste des tables d'un projet spécifié.

    from alibabacloud_credentials import providers
    from odps.accounts import CredentialProviderAccount
    from odps import ODPS
    if __name__ == '__main__':
        account = CredentialProviderAccount(providers.DefaultCredentialsProvider())
        o = ODPS(
                 account=account,
                 project="{odps_project}", # Replace with your project name.
                 endpoint="{odps_endpoint}"# Replace with the endpoint of the region where your project is located.
                )
        for t in o.list_tables():
            print(t)