Obtention d'informations d'identification AWS temporaires en PHP, Python

introduction

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.

Utilisé en Python

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

Utiliser avec PHP

Utilisé à Laravel

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

Utilisez directement le SDK PHP

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

Obtention d'informations d'identification AWS temporaires en PHP, Python
[Python] Scraping dans AWS Lambda
Ecrire une fonction AWS Lambda en Python
Évitez les boucles imbriquées en PHP et Python
(Pour moi-même) Flask_AWS_1 (Installer PHP, MySQL, phpMyAdmin, Python dans l'environnement virtuel AWS)
Quadtree en Python --2
Python en optimisation
CURL en Python
Géocodage en python
SendKeys en Python
Méta-analyse en Python
Unittest en Python
Époque en Python
Discord en Python
Allemand en Python
DCI en Python
tri rapide en python
nCr en python
N-Gram en Python
Programmation avec Python
Plink en Python
Constante en Python
FizzBuzz en Python
Sqlite en Python
Étape AIC en Python
LINE-Bot [0] en Python
CSV en Python
POST JSON avec Python et recevez avec PHP
Assemblage inversé avec Python
Premiers pas avec AWS IoT facilement en Python
Réflexion en Python
Constante en Python
nCr en Python.
format en python
Scons en Python 3
Puyopuyo en python
python dans virtualenv
PPAP en Python
Quad-tree en Python
Combinaison de regroupement en Python / Ruby / PHP / Golang (Go)
Réflexion en Python
Chimie avec Python
Hashable en Python
DirectLiNGAM en Python
LiNGAM en Python
Aplatir en Python
Aplatir en python
[AWS IoT] Enregistrer des éléments dans AWS IoT à l'aide du SDK AWS IoT Python
Operators ++, - ne peut pas être utilisé en python (différence de php)
[Python] Retry processing (Exponential Backoff) mémo dans AWS Lambda
Gérer les nombres premiers avec Python / Ruby / PHP / Golang (Go)
Développement du kit SDK AWS pour Python (Boto3) dans Visual Studio 2017
Comment gérer JSON en Ruby, Python, JavaScript, PHP
Liste triée en Python
AtCoder # 36 quotidien avec Python
Texte de cluster en Python
AtCoder # 2 tous les jours avec Python
Daily AtCoder # 32 en Python