L'émission d'une clé d'accès à EC2 sur AWS est un anti-pattern. Il est préférable de ne pas émettre la clé car elle peut être volée et utilisée. Il est recommandé d'émettre une clé d'accès temporaire appelée rôle IAM à EC2.
run.py
import boto3
session = boto3.session.Session(profile_name='prodaccess')
credentials = session.get_credentials()
#N'hésitez pas à utiliser cette valeur avec boto.
print(credentials.access_key)
print(credentials.secret_key)
print(credentials.token)
Obtention d'informations d'identification AWS temporaires à l'aide de boto3
Il existe une bibliothèque appelée aws-sdk-php-laravel.
aws-sdk-php-laravel Obtenez les données AWS Elastic Search Service avec Laravel à l'aide du rôle IAM [Fournir des informations d'authentification temporaires au SDK AWS officiel pour PHP](https://docs.aws.amazon.com/en_jp/sdk-for-php/v3/developer-guide/aws-sdk-php-v3-developer -guide.pdf)
composer require aws/aws-sdk-php
composer.json
{
"require": {
"aws/aws-sdk-php-laravel": "~3.0"
}
}
Comme officiel
createToken est bon et que faire.
Il existe également un exemple ici [https://gist.github.com/sators/38dbe25f655f1c783cb2c49e9873d58a).
python
$token = $RdsAuthGenerator->createToken($clusterEndpoint . ":" . $clusterPort, $clusterRegion, $dbUsername);
$mysqli = mysqli_init();
mysqli_options($mysqli, MYSQLI_READ_DEFAULT_FILE, "./my.cnf");
$mysqli->real_connect($clusterEndpoint, $dbUsername, $token, $dbDatabase, $clusterPort, NULL, MYSQLI_CLIENT_SSL);
if ($mysqli->connect_errno) {
echo "Error: Failed to make a MySQL connection, here is why: <br />";
echo "Errno: " . $mysqli->connect_errno . "<br />";
echo "Error: " . $mysqli->connect_error . "<br />";
exit;
}
/***** Example code to perform a query and return all tables in the DB *****/
$tableList = array();
$res = mysqli_query($mysqli,"SHOW TABLES");
while($cRow = mysqli_fetch_array($res))
{
$tableList[] = $cRow[0];
}
Recommended Posts