Die Ausgabe eines Zugriffsschlüssels für EC2 unter AWS ist ein Anti-Pattern. Es ist am besten, den Schlüssel nicht auszugeben, da er gestohlen und verwendet werden kann. Es ist ein gutes Muster, einen temporären Zugriffsschlüssel mit der Bezeichnung IAM-Rolle an EC2 auszugeben.
run.py
import boto3
session = boto3.session.Session(profile_name='prodaccess')
credentials = session.get_credentials()
#Fühlen Sie sich frei, diesen Wert mit boto zu verwenden.
print(credentials.access_key)
print(credentials.secret_key)
print(credentials.token)
Abrufen temporärer AWS-Anmeldeinformationen mit boto3
Es gibt eine Bibliothek namens aws-sdk-php-laravel.
aws-sdk-php-laravel Abrufen von AWS Elastic Search Service-Daten mit Laravel mithilfe der IAM-Rolle [Bereitstellung temporärer Authentifizierungsinformationen für das offizielle AWS SDK für PHP](https://docs.aws.amazon.com/ja_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"
}
}
Als offiziell
createToken ist gut und was zu tun ist.
Es gibt auch ein Beispiel hier [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