View a markdown version of this page

Usa le chiavi di condizione VPC per controllare l'accesso federato - AWS Identity and Access Management

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à.

Usa le chiavi di condizione VPC per controllare l'accesso federato

Gli utenti federati possono assumere ruoli utilizzando AssumeRoleWithSAML o AssumeRoleWithWebIdentity tramite un endpoint VPC. Quando lo fanno, puoi utilizzare le chiavi di VPC-specific condizione nella politica di fiducia del ruolo o nelle politiche di controllo delle risorse (RCP) per limitare la provenienza di queste richieste. Ciò fornisce un limite a livello di rete oltre ai controlli a livello di identità nella politica di fiducia.

Come funzionano le chiavi di condizione VPC per le richieste federate

Le chiavi di condizione disponibili nel contesto della richiesta dipendono dal percorso di rete della richiesta federata.

Disponibilità delle chiavi di condizione VPC per percorso di rete

Chiave di condizione

Tramite endpoint VPC

Tramite Internet pubblico

Description

aws:SourceVpc

No

ID VPC attraversato dalla richiesta

aws:SourceVpcArn

No

ARN del VPC attraversato dalla richiesta

aws:SourceVpce

No

ID dell'endpoint VPC attraversato dalla richiesta

aws:VpcSourceIp

No

Indirizzo IP privato del chiamante all'interno del VPC

aws:SourceIp

No

Indirizzo IP pubblico del chiamante

Se la tua policy di fiducia utilizza aws:SourceVpc o è contenuta aws:SourceVpce in una Allow dichiarazione e la richiesta non proviene da un endpoint VPC, la condizione non corrisponde e nega AWS implicitamente la richiesta. aws:SourceVpcArn Ciò richiede effettivamente che le richieste federate attraversino l'endpoint VPC per avere successo.

Importante

Per le richieste effettuate tramite un endpoint VPC, non aws:SourceIp è compilato. Utilizzatelo invece aws:VpcSourceIp per le restrizioni IP-based .

Si consiglia di utilizzare politiche aws:SourceVpcArn anziché aws:SourceVpc attendibili. Gli ID VPC sono unici a livello regionale ma non globale, mentre aws:SourceVpcArn includono la regione e l'account, fornendo un'identificazione univoca a livello globale del VPC.

Nota

Il valore audience (aud) negli esempi OIDC seguenti utilizzasts.amazonaws.com, che è l'impostazione predefinita per Amazon EKS. Per altri provider OIDC, sostituiscilo con il valore di audience configurato per la tua applicazione (ad esempio, un ID client o un URI dell'applicazione).

Esempio: limita la federazione OIDC a un VPC specifico

La seguente politica di fiducia consente a un provider OIDC di assumere il ruolo solo quando la richiesta proviene da un VPC specifico tramite un endpoint VPC.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowOIDCFromVpc", "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/idp.example.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "idp.example.com:aud": "sts.amazonaws.com", "aws:SourceVpcArn": "arn:aws:ec2:us-west-2:111122223333:vpc/vpc-111bbb22" } } } ] }

AWS nega implicitamente le richieste dall'esterno del VPC specificato perché la aws:SourceVpcArn condizione non corrisponde. Non è necessaria alcuna dichiarazione di negazione esplicita.

Esempio: limita la federazione SAML a un endpoint VPC specifico

La seguente politica di fiducia consente a un provider SAML di assumere il ruolo solo quando la richiesta arriva attraverso un endpoint VPC specifico.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSAMLFromVpce", "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:saml-provider/ExampleProvider" }, "Action": "sts:AssumeRoleWithSAML", "Condition": { "StringEquals": { "SAML:aud": "https://signin.aws.amazon.com/saml", "aws:SourceVpce": "vpce-0abcdef1234567890" } } } ] }

Using aws:SourceVpce instead of aws:SourceVpc fornisce un controllo più granulare quando si hanno più endpoint VPC nello stesso VPC e si desidera limitare l'accesso a un endpoint specifico.

Esempio: limita la federazione OIDC per intervallo IP privato all'interno di un VPC

La seguente politica di attendibilità limita la federazione alle richieste provenienti da una sottorete specifica all'interno del VPC. Utilizzalo aws:VpcSourceIp per IP-based le restrizioni sulle richieste effettuate tramite un endpoint VPC.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowOIDCFromSubnet", "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/idp.example.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "idp.example.com:aud": "sts.amazonaws.com", "aws:SourceVpcArn": "arn:aws:ec2:us-west-2:111122223333:vpc/vpc-111bbb22" }, "IpAddress": { "aws:VpcSourceIp": "10.0.1.0/24" } } } ] }
Importante

Non utilizzare aws:SourceIp con intervalli IP privati per le richieste tramite un endpoint VPC. La aws:SourceIp chiave non è disponibile per le richieste degli endpoint VPC. Usare invece aws:VpcSourceIp.

Esempio: limita la federazione SAML a più VPC

La seguente politica di fiducia consente a un provider SAML di assumere il ruolo di uno qualsiasi dei diversi VPC. Ciò è utile quando l'organizzazione ha più VPC in ambienti o regioni diversi che richiedono l'accesso federato allo stesso ruolo.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSAMLFromMultipleVpcs", "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:saml-provider/ExampleProvider" }, "Action": "sts:AssumeRoleWithSAML", "Condition": { "StringEquals": { "SAML:aud": "https://signin.aws.amazon.com/saml", "aws:SourceVpcArn": [ "arn:aws:ec2:us-west-2:111122223333:vpc/vpc-111aaa11", "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-222bbb22" ] } } } ] }

Esempio: Combina VPC e condizioni specifiche del provider

Puoi combinare le chiavi delle condizioni del VPC con condizioni specifiche del provider come audience (aud) e subject (sub) per un controllo granulare degli accessi. La seguente politica di attendibilità limita l'assunzione del ruolo a un utente federato specifico e richiede che la richiesta provenga da un VPC specifico.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowOIDCUserFromVpc", "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/idp.example.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "idp.example.com:aud": "sts.amazonaws.com", "idp.example.com:sub": "user123", "aws:SourceVpcArn": "arn:aws:ec2:us-west-2:111122223333:vpc/vpc-111bbb22" } } } ] }

Ciò combina controlli a livello di identità (limitati a un utente federato specifico) con controlli a livello di rete (limitati a un VPC specifico), fornendo una difesa approfondita.

Esempio: utilizzare un RCP per limitare l'accesso federato a un VPC specifico

La seguente politica di controllo delle risorse (RCP) AssumeRoleWithSAML nega le AssumeRoleWithWebIdentity richieste a meno che non provengano da un VPC specifico. A differenza delle politiche di fiducia che si applicano per ruolo, una politica di controllo delle risorse (RCP) si applica a tutti i ruoli negli account di destinazione. Ciò fornisce un limite di rete centralizzato.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyFederatedAccessOutsideVpc", "Effect": "Deny", "Principal": "*", "Action": [ "sts:AssumeRoleWithWebIdentity", "sts:AssumeRoleWithSAML" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:SourceVpcArn": "arn:aws:ec2:us-west-2:111122223333:vpc/vpc-111bbb22" }, "Null": { "aws:SourceVpcArn": "false" } } } ] }

La Null condizione garantisce che la negazione si applichi solo quando aws:SourceVpcArn è presente nel contesto della richiesta (ovvero, la richiesta proviene da un endpoint VPC ma dal VPC sbagliato). Senza di essa, anche le richieste sulla rete Internet pubblica (dove aws:SourceVpcArn è assente) verrebbero respinte da. StringNotEquals Se rimuovi il Null segno di spunta, il rifiuto si applica anche alle richieste che non attraversano alcun endpoint VPC, incluse le richieste sulla rete Internet pubblica. Consigliamo di eseguire test approfonditi prima di rimuovere il Null controllo negli ambienti di produzione.