Vous pouvez utiliser les types d'identifiants d'accès suivants.
Identifiants d'accès à long terme : Pour une sécurité optimale, privilégiez les identifiants temporaires plutôt que ceux à long terme. Bien que ces derniers soient pratiques car ils ne nécessitent pas de renouvellement fréquent, il est recommandé de les faire tourner tous les trois mois afin de renforcer la sécurité de votre compte. Si un identifiant à long terme est compromis ou n'est plus utilisé, supprimez-le ou désactivez-le immédiatement pour prévenir tout risque de sécurité.
Identifiants d'accès temporaires : Pour les cas d'utilisation exigeant un haut niveau de sécurité, tels que l'autorisation temporaire d'une application à accéder à SMQ, utilisez des identifiants temporaires. Leur validité limitée dans le temps réduit les risques de compromission. De plus, ils permettent un contrôle d'accès granulaire, évitant ainsi les risques liés à des autorisations excessives.
Identifiants d'accès à long terme
Lorsque vous êtes prêt à utiliser le SDK for Java dans votre application ou service pour un accès durable à ApsaraMQ, configurez un identifiant d'accès à long terme en suivant l'une des méthodes ci-dessous.
Configuration du couple AccessKey pour un utilisateur RAM : Si vous avez besoin d'un accès permanent à votre SMQ, vous pouvez y accéder en utilisant un couple AccessKey associé à un utilisateur RAM.
-
Obtenez un couple AccessKey pour un utilisateur RAM.
Pour savoir comment obtenir ce couple, consultez la rubrique Créer un couple AccessKey pour un utilisateur RAM.
ImportantPar mesure de sécurité, faites tourner votre couple AccessKey s'il est utilisé depuis plus de trois mois. S'il reste inutilisé pendant une longue période, désactivez-le ou supprimez-le pour réduire les risques de fuite.
-
Configurez le couple AccessKey de l'utilisateur RAM.
Variables d'environnement
-
Configurez les variables d'environnement.
macOS
Ouvrez le terminal.
-
Exécutez la commande suivante :
nano ~/.bash_profile -
Ajoutez les lignes suivantes à la fin du fichier :
export ALIBABA_CLOUD_ACCESS_KEY_ID=LTA**** export ALIBABA_CLOUD_ACCESS_KEY_SECRET=moiEs**** Appuyez sur
Ctrl+X, puis surYpour confirmer, et enfin surEnterpour enregistrer et quitter.-
Exécutez la commande suivante pour appliquer les modifications :
source ~/.bash_profile -
Exécutez les commandes suivantes pour vérifier la configuration :
echo $ALIBABA_CLOUD_ACCESS_KEY_ID echo $ALIBABA_CLOUD_ACCESS_KEY_SECRETLe résultat suivant indique que la configuration a réussi :
LTA**** moiEs****
Linux
Ouvrez le terminal.
-
Exécutez la commande suivante :
sudo vim /etc/profile -
Ajoutez les lignes suivantes à la fin du fichier :
export ALIBABA_CLOUD_ACCESS_KEY_ID=LTA**** export ALIBABA_CLOUD_ACCESS_KEY_SECRET=moiEs**** Appuyez sur
Escpour quitter le mode édition, saisissez:wq, puis appuyez surEnterpour enregistrer et quitter.-
Exécutez la commande suivante pour appliquer les modifications :
source /etc/profile -
Exécutez les commandes suivantes pour vérifier la configuration :
echo $ALIBABA_CLOUD_ACCESS_KEY_ID echo $ALIBABA_CLOUD_ACCESS_KEY_SECRETLe résultat suivant indique que la configuration a réussi :
LTA**** moiEs****
Windows
Interface graphique
Les étapes ci-dessous expliquent comment définir le couple AccessKey comme variables d'environnement via l'interface graphique sous Windows 10.
Sur votre bureau, cliquez avec le bouton droit sur This PC et sélectionnez Properties. Accédez à Advanced system settings > Environment Variables. Dans la section System variables ou User variables, cliquez sur New.
-
Ajoutez les variables d'environnement suivantes.
Parameter
Value
ALIBABA_CLOUD_ACCESS_KEY_ID
LTA****
ALIBABA_CLOUD_ACCESS_KEY_SECRET
moiEs****
-
Pour vérifier la configuration, ouvrez une nouvelle fenêtre d'invite de commandes et exécutez les commandes suivantes :
echo %ALIBABA_CLOUD_ACCESS_KEY_ID% echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET%Le résultat suivant indique que la configuration a réussi :
LTA**** moiEs****
Invite de commandes (CMD)
Ouvrez l'invite de commandes.
-
Exécutez les commandes suivantes pour configurer le couple AccessKey de l'utilisateur RAM.
set ALIBABA_CLOUD_ACCESS_KEY_ID=LTA**** set ALIBABA_CLOUD_ACCESS_KEY_SECRET=moiEs**** -
Pour rendre ces variables persistantes entre les sessions, exécutez les commandes suivantes :
setx ALIBABA_CLOUD_ACCESS_KEY_ID "%ALIBABA_CLOUD_ACCESS_KEY_ID%" setx ALIBABA_CLOUD_ACCESS_KEY_SECRET "%ALIBABA_CLOUD_ACCESS_KEY_SECRET%" -
Exécutez les commandes suivantes pour vérifier que les variables d'environnement sont configurées.
echo %ALIBABA_CLOUD_ACCESS_KEY_ID% echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET%Le résultat suivant indique que la configuration a réussi :
LTA**** moiEs****
Windows PowerShell
Appuyez sur
Win+X.-
Choisissez l'une des méthodes suivantes pour définir le couple AccessKey :
Session actuelle
Dans le menu qui s'affiche, sélectionnez Windows PowerShell.
-
Ajoutez les variables d'environnement suivantes pour la session actuelle.
$env:ALIBABA_CLOUD_ACCESS_KEY_ID = "LTA****" $env:ALIBABA_CLOUD_ACCESS_KEY_SECRET = "moiEs****"
Nouvelles sessions
Dans le menu qui s'affiche, sélectionnez Windows PowerShell.
-
Ajoutez les variables d'environnement suivantes pour toutes les nouvelles sessions.
[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_ID', 'LTA****', [System.EnvironmentVariableTarget]::User) [System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_SECRET', 'moiEs****', [System.EnvironmentVariableTarget]::User)
Tous les utilisateurs
Dans le menu qui s'affiche, sélectionnez Windows PowerShell (Administrator).
-
Ajoutez les variables d'environnement suivantes pour tous les utilisateurs.
[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_ID', 'LTA****', [System.EnvironmentVariableTarget]::Machine) [System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_SECRET', 'moiEs****', [System.EnvironmentVariableTarget]::Machine)
-
Pour vérifier la configuration, exécutez les commandes suivantes dans une nouvelle fenêtre PowerShell :
echo $env:ALIBABA_CLOUD_ACCESS_KEY_ID echo $env:ALIBABA_CLOUD_ACCESS_KEY_SECRETLe résultat suivant indique que la configuration a réussi :
LTA**** moiEs****
-
Votre application peut ensuite récupérer le couple AccessKey depuis les variables d'environnement. L'extrait de code Java ci-dessous illustre la création d'un client utilisant implicitement ces variables :
// The SDK client implicitly uses environment variables for authentication // when no explicit credentials are provided. CloudAccount account = new CloudAccount(ServiceSettings.getMNSAccountEndpoint());
Intégration dans le code
AvertissementIntégrer des identifiants d'accès directement dans votre code présente un risque de sécurité. En cas de fuite, des attaquants pourraient les utiliser pour accéder à vos ressources SMQ. Pour une sécurité renforcée, nous recommandons d'utiliser une méthode plus sûre, telle que la récupération des identifiants via des variables d'environnement.
CloudAccount account = new CloudAccount("LTA****", "moiEs****", ServiceSettings.getMNSAccountEndpoint()); -
Identifiants d'accès temporaires
Pour utiliser le SDK Java afin d'accéder temporairement à ApsaraMQ for Kafka, configurez des identifiants d'accès temporaires en choisissant l'une des méthodes suivantes :
Configuration des identifiants temporaires STS : Pour accéder à SMQ pendant une durée limitée, utilisez STS pour émettre un identifiant temporaire. Cette approche permet un accès sécurisé à SMQ sans exposer le couple AccessKey de votre utilisateur RAM.
Configuration d'un rôle RAM : Pour accorder l'accès à SMQ au sein de votre compte ou entre plusieurs comptes, utilisez un rôle RAM. Un utilisateur RAM peut alors endosser ce rôle pour accéder à SMQ.
Configuration d'un rôle RAM pour une instance ECS : Si vous devez accéder à votre SMQ depuis une instance ECS Alibaba Cloud, utilisez un rôle RAM d'instance ECS. Ce type de rôle associe un rôle à une instance ECS et permet d'accéder à SMQ depuis l'instance grâce à des identifiants temporaires STS. Ces derniers sont générés et mis à jour automatiquement par le système ; votre application peut les obtenir via une URL de métadonnées d'instance spécifique, sans gestion manuelle.
Identifiants d'accès temporaires STS
-
Créez un utilisateur RAM.
Pour plus d'informations, consultez la rubrique Créer un utilisateur RAM.
-
Attachez la politique
AliyunSTSAssumeRoleAccessà l'utilisateur RAM.Pour plus d'informations, consultez la rubrique Gérer les autorisations des utilisateurs RAM.
-
Utilisez l'utilisateur RAM pour appeler l'opération AssumeRole de STS afin d'obtenir des identifiants d'accès temporaires STS.
Pour plus d'informations, consultez la rubrique AssumeRole.
-
Configurez les identifiants d'accès temporaires STS.
Variables d'environnement
-
Définissez les variables d'environnement à l'aide des identifiants temporaires STS obtenus.
macOS
Ouvrez le terminal.
-
Exécutez la commande suivante :
nano ~/.bash_profile -
Ajoutez les identifiants d'accès temporaires (ID de clé d'accès, secret de clé d'accès et jeton de sécurité) à la fin du fichier.
export MNS_ACCESS_KEY_ID=LTA**** export MNS_ACCESS_KEY_SECRET=moiEs**** export MNS_SESSION_TOKEN=CAES**** Appuyez sur
Ctrl+X, puis surYpour enregistrer les modifications, et enfin surEnterpour quitter.-
Exécutez la commande suivante pour appliquer les modifications :
source ~/.bash_profile -
Exécutez les commandes suivantes pour vérifier les variables d'environnement :
echo $MNS_ACCESS_KEY_ID echo $MNS_ACCESS_KEY_SECRET echo $MNS_SESSION_TOKENVoici un exemple de résultat :
LTA**** moiEs**** CAES****
Linux
Ouvrez le terminal.
-
Exécutez la commande suivante :
sudo vim /etc/profile -
Ajoutez les identifiants d'accès temporaires (ID de clé d'accès, secret de clé d'accès et jeton de sécurité) à la fin du fichier.
export MNS_ACCESS_KEY_ID=LTA**** export MNS_ACCESS_KEY_SECRET=moiEs**** export MNS_SESSION_TOKEN=CAES**** Appuyez sur
ESCpour quitter le mode édition, saisissez:wq, puis appuyez surEnterpour enregistrer et quitter le fichier.-
Exécutez la commande suivante pour appliquer les modifications :
source /etc/profile -
Exécutez les commandes suivantes pour vérifier les variables d'environnement :
echo $MNS_ACCESS_KEY_ID echo $MNS_ACCESS_KEY_SECRET echo $MNS_SESSION_TOKENVoici un exemple de résultat :
LTA**** moiEs**** CAES****
Windows
Interface graphique
Cette section explique comment définir les identifiants d'accès temporaires STS comme variables d'environnement via l'interface graphique sous Windows 10.
Sur votre bureau, cliquez avec le bouton droit sur This PC et sélectionnez Properties > Advanced system settings > Environment Variables. Dans la section User variables ou System variables, cliquez sur New.
-
Ajoutez les variables d'environnement suivantes :
Parameter
Value
MNS_ACCESS_KEY_ID
LTA****
MNS_ACCESS_KEY_SECRET
moiEs****
MNS_SESSION_TOKEN
CAES****
-
Exécutez les commandes suivantes pour vérifier les variables d'environnement :
echo %MNS_ACCESS_KEY_ID% echo %MNS_ACCESS_KEY_SECRET% echo %MNS_SESSION_TOKEN%Voici un exemple de résultat :
LTA**** moiEs**** CAES****
Invite de commandes
Ouvrez l'invite de commandes.
-
Exécutez les commandes suivantes pour définir les identifiants d'accès temporaires (ID de clé d'accès, secret de clé d'accès et jeton de sécurité).
set MNS_ACCESS_KEY_ID=LTA**** set MNS_ACCESS_KEY_SECRET=moiEs**** set MNS_SESSION_TOKEN=CAES**** -
Exécutez les commandes suivantes pour appliquer les modifications :
setx MNS_ACCESS_KEY_ID "%MNS_ACCESS_KEY_ID%" setx MNS_ACCESS_KEY_SECRET "%MNS_ACCESS_KEY_SECRET%" setx MNS_SESSION_TOKEN "%MNS_SESSION_TOKEN%" -
Exécutez les commandes suivantes pour vérifier les variables d'environnement :
echo %MNS_ACCESS_KEY_ID% echo %MNS_ACCESS_KEY_SECRET% echo %MNS_SESSION_TOKEN%Voici un exemple de sortie :
LTA**** moiEs**** CAES****
Windows PowerShell
Appuyez sur
Win + X.-
Définissez les identifiants d'accès temporaires STS.
Session actuelle
Dans le menu qui s'affiche, sélectionnez Windows PowerShell.
-
Définissez les variables d'environnement suivantes pour la session actuelle :
$env:MNS_ACCESS_KEY_ID = "LTA****" $env:MNS_ACCESS_KEY_SECRET = "moiEs****" $env:MNS_SESSION_TOKEN = "CAE****"
Nouvelles sessions
Dans le menu qui s'affiche, sélectionnez Windows PowerShell.
-
Définissez les variables d'environnement suivantes pour toutes les nouvelles sessions :
[System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_ID', 'LTA****', [System.EnvironmentVariableTarget]::User) [System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_SECRET', 'moiEs****', [System.EnvironmentVariableTarget]::User) [System.Environment]::SetEnvironmentVariable('MNS_SESSION_TOKEN', 'CAES****', [System.EnvironmentVariableTarget]::User)
Tous les utilisateurs
Dans le menu qui s'affiche, sélectionnez Windows PowerShell (Administrator).
-
Définissez les variables d'environnement suivantes pour tous les utilisateurs :
[System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_ID', 'LTA****', [System.EnvironmentVariableTarget]::Machine) [System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_SECRET', 'moiEs****', [System.EnvironmentVariableTarget]::Machine) [System.Environment]::SetEnvironmentVariable('MNS_SESSION_TOKEN', 'CAES****', [System.EnvironmentVariableTarget]::Machine)
-
Exécutez les commandes suivantes pour vérifier les variables d'environnement :
Get-ChildItem env:MNS_ACCESS_KEY_ID Get-ChildItem env:MNS_ACCESS_KEY_SECRET Get-ChildItem env:MNS_SESSION_TOKENVoici un exemple de sortie :
LTA**** moiEs**** CAES****
-
Récupérez les identifiants d'accès temporaires STS à partir des variables d'environnement.
// Obtain the STS temporary access credentials from environment variables. String accessKeyId = System.getenv("MNS_ACCESS_KEY_ID"); String accessKeySecret = System.getenv("MNS_ACCESS_KEY_SECRET"); String sessionToken = System.getenv("MNS_SESSION_TOKEN"); AlibabaCloudCredentials credentials = new BasicSessionCredentials(accessKeyId,accessKeySecret,sessionToken); AlibabaCloudCredentialsProvider provider = new StaticCredentialsProvider(credentials);
Intégrer dans le code
AvertissementL'intégration des identifiants d'accès directement dans votre code présente un risque de sécurité. En cas de fuite, ces identifiants pourraient être utilisés par des attaquants pour accéder à vos ressources MNS. Pour renforcer la sécurité, nous vous recommandons d'utiliser une méthode plus sûre, telle que la récupération des identifiants d'accès depuis des variables d'environnement.
// WARNING: Hardcoding credentials is a security risk. String accessKeyId = "LTAI************"; // Replace with your AccessKey ID. String accessKeySecret = "K_VTN*******************"; // Replace with your AccessKey Secret. String sessionToken = "CAES********************"; // Replace with your security token. AlibabaCloudCredentials credentials = new BasicSessionCredentials(accessKeyId,accessKeySecret,sessionToken); AlibabaCloudCredentialsProvider provider = new StaticCredentialsProvider(credentials); String endpoint = ServiceSettings.getMNSAccountEndpoint(); CloudAccount account = new CloudAccount(endpoint, provider); -
Rôle RAM
-
Obtenez la paire de clés AccessKey de l'utilisateur RAM.
Pour plus d'informations, consultez la rubrique Créer une paire de clés AccessKey pour un utilisateur RAM.
ImportantAfin de réduire le risque de fuite d'une paire de clés AccessKey, nous vous recommandons de la faire tourner si elle est utilisée depuis plus de trois mois. Si une paire de clés AccessKey n'est plus nécessaire, désactivez-la et supprimez-la rapidement.
-
Obtenez l'ARN du rôle RAM cible.
RemarqueUn ARN de rôle RAM est le nom de ressource Alibaba Cloud (ARN) d'un rôle RAM, qui identifie le rôle à assumer. Il suit le format suivant : acs:ram::$accountID:role/$roleName, où $accountID correspond à l'ID de votre compte Alibaba Cloud et $roleName au nom du rôle RAM.
Pour plus d'informations, consultez la rubrique Afficher un rôle RAM.
-
Configurez la paire de clés AccessKey de l'utilisateur RAM et l'ARN du rôle RAM cible en tant qu'identifiants d'accès.
Variables d'environnement
-
Définissez les variables d'environnement à l'aide de la paire de clés AccessKey de l'utilisateur RAM et de l'ARN du rôle RAM cible.
macOS
Ouvrez le terminal.
-
Exécutez la commande suivante :
nano ~/.bash_profile -
Ajoutez la paire de clés AccessKey de l'utilisateur RAM et l'ARN du rôle RAM à la fin du fichier.
export MNS_ACCESS_KEY_ID=LTAI**** export MNS_ACCESS_KEY_SECRET=IrVTNZNy**** export MNS_STS_ROLE_ARN=acs:ram::17464958********:role/mnsststest Appuyez sur
Ctrl+X, puis surYpour enregistrer les modifications, et enfin surEnterpour quitter.-
Exécutez la commande suivante pour appliquer les modifications :
source ~/.bash_profile -
Exécutez les commandes suivantes pour vérifier les variables d'environnement :
echo $MNS_ACCESS_KEY_ID echo $MNS_ACCESS_KEY_SECRET echo $MNS_STS_ROLE_ARNVoici un exemple de sortie :
LTAI**** IrVTNZNy**** acs:ram::17464958********:role/mnsststest
Linux
Ouvrez le terminal.
-
Exécutez la commande suivante :
sudo vim /etc/profile -
Ajoutez la paire de clés AccessKey de l'utilisateur RAM et l'ARN du rôle RAM à la fin du fichier.
export MNS_ACCESS_KEY_ID=LTAI**** export MNS_ACCESS_KEY_SECRET=IrVTNZNy**** export MNS_STS_ROLE_ARN=acs:ram::17464958********:role/mnsststest Appuyez sur
ESCpour quitter le mode édition, saisissez:wq, puis appuyez surEnterpour enregistrer et quitter le fichier.-
Exécutez la commande suivante pour appliquer les modifications :
source /etc/profile -
Exécutez les commandes suivantes pour vérifier les variables d'environnement :
echo $MNS_ACCESS_KEY_ID echo $MNS_ACCESS_KEY_SECRET echo $MNS_STS_ROLE_ARNVoici un exemple de sortie :
LTAI**** IrVTNZNy**** acs:ram::17464958********:role/mnsststest
Windows
Interface graphique
Cette section explique comment utiliser l'interface graphique de Windows 10 pour définir les variables d'environnement correspondant à la paire de clés AccessKey de l'utilisateur RAM et à l'ARN du rôle RAM cible.
Sur votre bureau, faites un clic droit sur This PC, puis sélectionnez Properties > Advanced system settings > Environment Variables. Dans la section User variables ou System variables, cliquez sur New.
-
Ajoutez les variables d'environnement suivantes :
Paramètre
Valeur
MNS_ACCESS_KEY_ID
LTAI****
MNS_ACCESS_KEY_SECRET
IrVTNZNy****
MNS_STS_ROLE_ARN
acs:ram::17464958****:role/mnsststest
-
Exécutez les commandes suivantes pour vérifier les variables d'environnement :
echo %MNS_ACCESS_KEY_ID% echo %MNS_ACCESS_KEY_SECRET% echo %MNS_STS_ROLE_ARN%Voici un exemple de sortie :
LTAI**** IrVTNZNy**** acs:ram::17464958********:role/mnsststest
Invite de commandes
Ouvrez l'invite de commandes.
-
Exécutez les commandes suivantes pour définir la paire de clés AccessKey de l'utilisateur RAM et l'ARN du rôle RAM :
set MNS_ACCESS_KEY_ID=LTAI**** set MNS_ACCESS_KEY_SECRET=IrVTNZNy**** set MNS_STS_ROLE_ARN=acs:ram::17464958********:role/mnsststest -
Exécutez les commandes suivantes pour appliquer les modifications :
setx MNS_ACCESS_KEY_ID "%MNS_ACCESS_KEY_ID%" setx MNS_ACCESS_KEY_SECRET "%MNS_ACCESS_KEY_SECRET%" setx MNS_STS_ROLE_ARN "%MNS_STS_ROLE_ARN%" -
Exécutez les commandes suivantes pour vérifier les variables d'environnement :
echo %MNS_ACCESS_KEY_ID% echo %MNS_ACCESS_KEY_SECRET% echo %MNS_STS_ROLE_ARN%Voici un exemple de sortie :
LTAI**** IrVTNZNy**** acs:ram::17464958********:role/mnsststest
Windows PowerShell
Appuyez sur
Win + X.-
Définissez la paire de clés AccessKey de l'utilisateur RAM et l'ARN du rôle RAM cible.
Session actuelle
Dans le menu qui s'affiche, sélectionnez Windows PowerShell.
-
Définissez les variables d'environnement suivantes pour la session actuelle :
$env:MNS_ACCESS_KEY_ID = "LTAI****" $env:MNS_ACCESS_KEY_SECRET = "IrVTNZNy****" $env:MNS_STS_ROLE_ARN = "acs:ram::17464958********:role/mnsststest"
Nouvelles sessions
Dans le menu qui s'affiche, sélectionnez Windows PowerShell.
-
Définissez les variables d'environnement suivantes pour toutes les nouvelles sessions :
[System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_ID', 'LTAI****', [System.EnvironmentVariableTarget]::User) [System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_SECRET', 'IrVTNZNy****', [System.EnvironmentVariableTarget]::User) [System.Environment]::SetEnvironmentVariable('MNS_STS_ROLE_ARN', 'acs:ram::17464958********:role/mnsststest', [System.EnvironmentVariableTarget]::User)
Tous les utilisateurs
Dans le menu qui s'affiche, sélectionnez Windows PowerShell (Administrator).
-
Définissez les variables d'environnement suivantes pour tous les utilisateurs :
[System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_ID', 'LTAI****', [System.EnvironmentVariableTarget]::Machine) [System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_SECRET', 'IrVTNZNy****', [System.EnvironmentVariableTarget]::Machine) [System.Environment]::SetEnvironmentVariable('MNS_STS_ROLE_ARN', 'acs:ram::17464958********:role/mnsststest', [System.EnvironmentVariableTarget]::Machine)
-
Exécutez les commandes suivantes pour vérifier les variables d'environnement :
Get-ChildItem env:MNS_ACCESS_KEY_ID Get-ChildItem env:MNS_ACCESS_KEY_SECRET Get-ChildItem env:MNS_STS_ROLE_ARNVoici un exemple de sortie :
LTAI**** IrVTNZNy**** acs:ram::17464958********:role/mnsststest
-
Récupérez la paire de clés AccessKey de l'utilisateur RAM et l'ARN du rôle RAM à partir des variables d'environnement.
// The region where STSAssumeRole is authorized. This example uses China (Hangzhou). String region = "cn-hangzhou"; // Obtain the AccessKey pair (AccessKey ID and AccessKey Secret) of the RAM user from the environment variables. String accessKeyId = System.getenv("MNS_ACCESS_KEY_ID"); String accessKeySecret = System.getenv("MNS_ACCESS_KEY_SECRET"); // Obtain the RAM Role ARN from the environment variable. String roleArn = System.getenv("MNS_STS_ROLE_ARN"); // Configure the access credentials by using the AccessKey pair of the RAM user and the RAM Role ARN obtained from the environment variables. STSAssumeRoleSessionCredentialsProvider credentialsProvider = CredentialsProviderFactory .newSTSAssumeRoleSessionCredentialsProvider( region, accessKeyId, accessKeySecret, roleArn );
Intégrer dans le code
AvertissementL'intégration des identifiants d'accès directement dans votre code présente un risque de sécurité. En cas de fuite, ces identifiants pourraient être utilisés par des attaquants pour accéder à vos ressources MNS. Pour renforcer la sécurité, nous vous recommandons d'utiliser une méthode plus sûre, telle que la récupération des identifiants d'accès depuis des variables d'environnement.
// WARNING: Hardcoding credentials is a security risk. // The region ID must match the MNS endpoint. String regionId = "cn-hangzhou"; // Replace the following with your RAM user's AccessKey pair and the target RAM Role ARN. String accessKeyId = "LTAI************"; // The AccessKey ID of the RAM user. String accessKeySecret = "K_VTN*******************"; // The AccessKey Secret of the RAM user. String roleArn = "acs:ram::17464958********:role/mnsststest"; // The ARN of the RAM role to assume. DefaultProfile profile = DefaultProfile.getProfile(regionId); AlibabaCloudCredentialsProvider provider = new STSAssumeRoleSessionCredentialsProvider( new BasicCredentials(accessKeyId, accessKeySecret), roleArn, profile ); String endpoint = ServiceSettings.getMNSAccountEndpoint(); CloudAccount account = new CloudAccount(endpoint, provider); -
Rôle RAM ECS
-
Attribuez un rôle RAM à une instance ECS.
Pour plus d'informations, consultez la rubrique Attacher un rôle RAM à une instance.
-
Configurez le rôle RAM de l'instance ECS en tant qu'identifiants d'accès.
// Obtain access credentials from the 'ecs-ram-role' ECS instance RAM role. CredentialsProvider provider = new InstanceProfileCredentialsProvider("ecs-ram-role");
Pour envoyer des requêtes Simple Message Queue (SMQ) à l'aide du SDK Java, vous devez configurer les points de terminaison et les identifiants d'accès. Les services Alibaba Cloud utilisent les identifiants d'accès pour vérifier votre identité et vos autorisations d'accès. Vous pouvez sélectionner différents types d'identifiants d'accès en fonction des exigences d'authentification et d'autorisation de votre cas d'utilisation. Cette rubrique décrit comment configurer les points de terminaison, les identifiants d'accès temporaires et les identifiants d'accès à long terme.
Configurer les points de terminaison
Configurez le point de terminaison public ou interne pour ApsaraMQ dans le fichier aliyun-mns.properties. Ce fichier se trouve généralement dans ${user.home}/.aliyun-mns.properties.
Sous Linux et macOS, le fichier aliyun-mns.properties se trouve dans ~/.aliyun-mns.properties.
Sous Windows, le fichier aliyun-mns.properties se trouve dans %USERPROFILE%\.aliyun-mns.properties.
Configurez le fichier aliyun-mns.properties comme suit :
mns.accountendpoint=http://120228xxxxxxx.mns.cn-xxxxxx.aliyuncs.com
Vous pouvez trouver le point de terminaison pour ApsaraMQ dans la section Endpoint de la page Queue Details ou Topic Details de la console.