Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Concatenamento IAM dei ruoli in Amazon Neptune
Importante
La nuova funzionalità di caricamento in blocco tra account introdotta nella versione 1.2.1.0.R3 del motore che sfrutta il concatenamento dei IAM ruoli può in alcuni casi causare un peggioramento delle prestazioni di carico di massa. Di conseguenza, gli aggiornamenti ai rilasci del motore che supportano questa funzionalità sono stati temporaneamente sospesi fino alla risoluzione del problema.
Quando si collega un ruolo al cluster, il cluster può assumere tale ruolo per accedere ai dati archiviati in Amazon S3. A partire dal rilascio del motore 1.2.1.0.R3, se quel ruolo non ha accesso a tutte le risorse necessarie, è possibile concatenare uno o più ruoli aggiuntivi che il cluster può assumere per accedere ad altre risorse. Ogni ruolo nella catena assume il ruolo successivo nella catena, fino a quando il cluster non assume il ruolo alla fine della catena.
Per concatenare i ruoli, è possibile stabilire una relazione di trust tra di essi. Ad esempio, per concatenare RoleB
a RoleA
, RoleA
deve disporre di una policy di autorizzazioni che gli consenta di assumere RoleB
e RoleB
deve disporre di una policy di trust che gli consenta di passare le proprie autorizzazioni a RoleA
. Per IAMulteriori informazioni, vedere Utilizzo dei ruoli.
Il primo ruolo di una catena deve essere collegato al cluster che sta caricando i dati.
Il primo ruolo e ogni ruolo successivo che assume il ruolo seguente nella catena devono avere:
Una policy che include una dichiarazione specifica con l'effetto
Allow
sull'azionests:AssumeRole
.L'Amazon Resource Name (ARN) del ruolo successivo in un
Resource
elemento.
Nota
Il bucket Amazon S3 di destinazione deve trovarsi nella stessa AWS regione del cluster.
Accesso multi-account tramite ruoli concatenati
È possibile concedere l'accesso multi-account concatenando uno o più ruoli che appartengono a un altro account. Quando il cluster assume temporaneamente un ruolo appartenente a un altro account, può accedere alle relative risorse.
Supponiamo, ad esempio, che l'Account A voglia accedere ai dati in un bucket Amazon S3 che appartiene all'Account B:
L'account A crea un ruolo AWS di servizio
RoleA
denominato per Neptune e lo collega a un cluster.L'Account B crea un ruolo denominato
RoleB
autorizzato ad accedere ai dati in un bucket dell'Account B.L'Account A collega una policy di autorizzazioni a
RoleA
che gli consente di assumereRoleB
.L'Account B collega una policy di trust a
RoleB
che gli consente di passare le proprie autorizzazioni aRoleA
.Per accedere ai dati nel bucket dell'Account B, l'Account A esegue un comando dello strumento di caricamento con un parametro
iamRoleArn
che concatenaRoleA
eRoleB
. Per la durata dell'operazione loader,RoleA
assume temporaneamente il ruoloRoleB
per accedere al bucket Amazon S3 nell'Account B.
Ad esempio, RoleA
avrà una policy di trust che stabilisce una relazione di trust con Neptune:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
RoleA
avrà anche una policy di autorizzazione che gli consente di assumere il ruolo RoleB
, che è di proprietà dell'Account B:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1487639602000", "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Resource": "arn:aws:iam::
(Account B ID)
:role/RoleB" } ] }
Al contrario, RoleB
avrà una policy di trust per stabilire una relazione di trust con RoleA
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Principal": { "AWS": "arn:aws:iam::
(Account A ID)
:role/RoleA" } } ] }
RoleB
avrà inoltre bisogno dell'autorizzazione per accedere ai dati nel bucket Amazon S3 situato nell'Account B.
Creazione di un AWS Security Token Service endpoint () STS VPC
Il loader Neptune richiede VPC un endpoint AWS STS per quando si IAM concatenano ruoli a cui accedere privatamente tramite indirizzi IP privati. AWS STS APIs Puoi connetterti direttamente da Amazon VPC a AWS STS un VPC Endpoint in modo sicuro e scalabile. Quando si utilizza un VPC endpoint di interfaccia, si ottiene un livello di sicurezza migliore perché non è necessario aprire firewall per il traffico in uscita. Offre inoltre gli altri vantaggi dell'utilizzo degli VPC endpoint Amazon.
Quando si utilizza un VPC endpoint, il traffico verso AWS STS non viene trasmesso su Internet e non esce mai dalla rete Amazon. Il tuo VPC è connesso in modo sicuro AWS STS senza rischi di disponibilità o limiti di larghezza di banda sul traffico di rete. Per ulteriori informazioni, consulta Utilizzo degli endpoint dell'interfaccia. AWS STS VPC
Per configurare l'accesso per AWS Security Token Service () STS
Accedi a AWS Management Console e apri la VPC console Amazon all'indirizzo https://console.aws.amazon.com/vpc/
. Nel pannello di navigazione, seleziona Endpoints (Endpoint).
Scegliere Create Endpoint (Crea endpoint).
Scegli il Nome servizio
com.amazonaws.region.sts
per l'endpoint di tipo Interfaccia.Scegli VPCquello che contiene l'istanza e l'istanza di Neptune DB. EC2
Seleziona la casella di controllo accanto alla sottorete in cui è presente l'EC2istanza. Non è possibile selezionare più sottoreti dalla stessa zona di disponibilità.
-
Per IP address type (Tipo di indirizzo IP), seleziona una delle opzioni seguenti:
IPv4— Assegna IPv4 indirizzi alle interfacce di rete degli endpoint. Questa opzione è supportata solo se tutte le sottoreti selezionate hanno intervalli di indirizzi. IPv4
IPv6— Assegna IPv6 indirizzi alle interfacce di rete degli endpoint. Questa opzione è supportata solo se tutte le sottoreti selezionate sono sottoreti -only. IPv6
Dualstack: assegna entrambi gli indirizzi alle interfacce di rete degli endpoint. IPv4 IPv6 Questa opzione è supportata solo se tutte le sottoreti selezionate hanno entrambi gli intervalli di indirizzi. IPv4 IPv6
Per Gruppi di sicurezza, selezionare i gruppi di sicurezza da associare alle interfacce di rete degli endpoint per l'endpoint. VPC È necessario selezionare tutti i gruppi di sicurezza collegati all'istanza e all'istanza di Neptune DB. EC2
Per Policy, seleziona Accesso completo per consentire tutte le operazioni da parte di tutti i principali su tutte le risorse dell'endpoint. VPC Altrimenti, seleziona Personalizzato per allegare una policy sull'VPCendpoint che controlli le autorizzazioni di cui dispongono i responsabili per eseguire azioni sulle risorse dell'endpoint. VPC Questa opzione è disponibile solo se il servizio supporta le policy degli endpoint. VPC Per ulteriori informazioni, consulta Policy di endpoint.
(Facoltativo) Per aggiungere un tag, scegli Aggiungi nuovo tag e immetti la chiave e il valore del tag desiderati.
Seleziona Crea endpoint.
Per informazioni sulla creazione dell'endpoint, consulta VPCEndpoints nella Amazon VPC User Guide. Tieni presente che Amazon STS VPC Endpoint è un prerequisito obbligatorio per il concatenamento dei IAM ruoli.
Ora che hai concesso l'accesso all' AWS STS endpoint, puoi prepararti a caricare i dati. Per ulteriori informazioni sui formati di dati supportati, consulta Formati dei dati di caricamento.
Concatenamento dei ruoli all'interno di un comando dello strumento di caricamento
È possibile specificare il concatenamento dei ruoli quando si esegue un comando loader includendo un elenco di ruoli separati da virgole nel parametro. ARNs iamRoleArn
Sebbene nella maggior parte dei casi sia necessario avere solo due ruoli in una catena, è sicuramente possibile concatenarne tre o più. Ad esempio, questo comando dello strumento di caricamento concatena tre ruoli:
curl -X POST https://localhost:8182/loader \ -H 'Content-Type: application/json' \ -d '{ "source" : "s3://
(the target bucket name)
/(the target date file name)
", "iamRoleArn" : "arn:aws:iam::(Account A ID)
:role/(RoleA)
,arn:aws:iam::(Account B ID)
:role/(RoleB)
,arn:aws:iam::(Account C ID)
:role/(RoleC)
", "format" : "csv", "region" : "us-east-1" }'