AWSChiavi di contesto della condizione globale di
Quando un principale effettua una richiesta a AWS, AWS raccoglie le informazioni di richiesta in un contesto di richiesta. È possibile utilizzare l'elemento Condition di una policy JSON per confrontare le chiavi della richiesta con i valori chiave specificati nella policy. Le informazioni sulla richiesta vengono fornite da diverse origini, tra cui il principale che effettua la richiesta, la risorsa su cui viene effettuata la richiesta e i metadati relativi alla richiesta stessa.
Le chiavi di condizione globali possono essere utilizzate in tutti i servizi AWS. Sebbene queste chiavi di condizione possano essere utilizzate in tutte le policy, la chiave non è disponibile in tutti i contesti di richiesta. Ad esempio, la chiave di condizione aws:SourceAccount è disponibile solo quando la chiamata alla risorsa viene effettuata direttamente da un principale del servizio AWS. Per ulteriori informazioni sulle circostanze in cui una chiave globale è inclusa nel contesto della richiesta, consultare le informazioni sulla disponibilità di ogni chiave.
Alcuni servizi singoli creano le proprie chiavi di condizione disponibili nel contesto della richiesta per altri servizi. Le chiavi di condizione tra servizi sono un tipo di chiave di condizione globale che includono un prefisso corrispondente al nome del servizio, ad esempio ec2: o lambda:, ma sono disponibili in altri servizi.
Le chiavi di condizione specifiche del servizio sono definite per l'uso con un singolo servizio AWS. Ad esempio, Amazon S3 consente di scrivere una policy con la chiave di condizione s3:VersionId per limitare l'accesso a una versione specifica di un oggetto Amazon S3. Questa chiave di condizione è unica per il servizio, il che significa che funziona solo con le richieste al servizio Amazon S3. Per le chiavi di condizione specifiche del servizio, consulta Operazioni, risorse e chiavi di condizione per i servizi AWS e scegli il servizio di cui desideri visualizzare le chiavi.
Nota
Se si utilizzano chiavi di condizione che sono disponibili solo in alcuni scenari, è possibile utilizzare le versioni IfExists degli operatori condizionali. Se le chiavi di condizione sono assenti da un contesto di richiesta, la policy può non riuscire a effettuare la valutazione. Ad esempio, utilizzare il seguente blocco condizionale con gli operatori ...IfExists per verificare se una richiesta proviene da uno specifico intervallo IP o da un determinato VPC. Se una o entrambe le chiavi non sono incluse nel contesto della richiesta, la condizione restituisce comunque true. I valori vengono controllati solo se la chiave specificata è inclusa nel contesto della richiesta. Per ulteriori informazioni su come viene valutata una policy quando una chiave non è presente per altri operatori, consulta Operatori di condizione.
"Condition": {
"IpAddressIfExists": {"aws:SourceIp" : ["xxx"] },
"StringEqualsIfExists" : {"aws:SourceVpc" : ["yyy"]}
}Importante
Per confrontare la condizione con un contesto di richiesta con più valori chiave, devi utilizzare gli operatori su set ForAllValues o ForAnyValue. Utilizza gli operatori di insieme solo con le chiavi della condizione multivalore. Non utilizzare operatori con chiavi di condizione a valore singolo. Per ulteriori informazioni, consulta Operatori dell'insieme per le chiavi di contesto multivalore.
| Proprietà del principale | Proprietà di una sessione di ruolo | Proprietà della rete | Le proprietà della risorsa | Proprietà della richiesta |
|---|---|---|---|---|
Chiavi di condizione sensibili
Le seguenti chiavi di condizione sono considerate sensibili. L'uso di caratteri jolly in queste chiavi di condizione non ha alcun caso d'uso valido, anche con una sottostringa del valore della chiave con un carattere jolly. Questo perché il carattere jolly può associare la chiave di condizione a qualsiasi valore, il che potrebbe rappresentare un rischio per la sicurezza.
Proprietà del principale
Utilizza le chiavi di condizione seguenti per confrontare i dettagli dell'entità che effettua la richiesta con le proprietà del principale specificate nella policy. Per un elenco dei principali che possono effettuare richieste, consulta Come specificare un principale.
aws:PrincipalArn
Utilizzare questa chiave per confrontare il nome della risorsa Amazon (ARN) del principale che ha effettuato la richiesta con l'ARN specificato nella policy. Per i ruoli IAM, il contesto della richiesta restituisce l'ARN del ruolo, non l'ARN dell'utente che ha assunto il ruolo.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta per tutte le richieste firmate. Le richieste anonime non includono questa chiave. È possibile specificare i seguenti tipi di principali in questa chiave di condizione:
-
Ruolo IAM
-
Utente IAM
-
Principale utente federato AWS STS
-
Account AWSUtente root di un
-
-
Tipo di dati: ARN
AWS consiglia di utilizzare operatori ARN invece di operatori stringa quando si confrontano gli ARN.
-
Tipo di valore: valore singolo
-
Valori di esempio L'elenco seguente mostra il valore del contesto della richiesta restituito per diversi tipi di principali che è possibile specificare nella chiave di condizione
aws:PrincipalArn:-
Ruolo IAM- Il contesto della richiesta contiene il seguente valore per la chiave di condizione
aws:PrincipalArn. Non specificare l'ARN della sessione del ruolo assunto come valore per questa chiave di condizione. Per ulteriori informazioni sul principale della sessione del ruolo assunto, consulta Principali della sessione come ruolo.arn:aws:iam::123456789012:role/role-name -
Utente IAM- Il contesto della richiesta contiene il seguente valore per la chiave di condizione
aws:PrincipalArn.arn:aws:iam::123456789012:user/user-name -
Principali utente federato AWS STS: il contesto della richiesta contiene il seguente valore per la chiave di condizione
aws:PrincipalArn.arn:aws:sts::123456789012:federated-user/user-name -
Utente root Account AWS- Il contesto della richiesta contiene il seguente valore per la chiave di condizione
aws:PrincipalArn. Quando si specifica l'ARN dell'utente root come valore per la chiave di condizioneaws:PrincipalArn, limita le autorizzazioni solo per l'utente root del Account AWS. Questo è diverso dallo specificare l'ARN dell'utente root nell'elemento principale di una policy basata sulle risorse, che delega l'autorità al Account AWS. Per ulteriori informazioni sulla specifica dell'ARN dell'utente root nell'elemento principale di una policy basata sulle risorse, consulta Principali dell'Account AWS.arn:aws:iam::123456789012:root
-
È possibile specificare l'ARN dell'utente root come valore per la chiave di condizione aws:PrincipalArn nella policy di controllo dei servizi (SCP) AWS Organizations. Le SPC sono un tipo di policy dell'organizzazione utilizzate per gestire le autorizzazioni nell'organizzazione e riguardano solo gli account dei membri nell'organizzazione. Una SCP limita le autorizzazioni per i ruoli e gli utenti IAM e negli account membri, compreso l'utente root dell'account membro. Per ulteriori informazioni sull'effetto delle SCP sulle autorizzazioni, consulta Effetti delle SCP sulle autorizzazioni nella Guida per l'utente di AWS Organizations.
aws:PrincipalAccount
Utilizzare questa chiave per confrontare l'account a cui appartiene il principale richiedente con l'identificatore dell'account specificato nella policy. Per le richieste anonime, il contesto della richiesta restituisce anonymous.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta per tutte le richieste, incluse le richieste anonime.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
Nell'esempio seguente, l'accesso è negato tranne che ai principali con il numero di account 123456789012.
aws:PrincipalOrgPaths
Utilizzare questa chiave per confrontare il percorso AWS Organizations del principale che effettua la richiesta con il percorso nella policy. Tale principale può essere un utente IAM, un ruolo IAM, un principale utente federato AWS STS o un Utente root dell'account AWS. In una policy, questa chiave di condizione garantisce che il richiedente sia un membro dell'account all'interno della radice dell'organizzazione specificata o delle unità organizzative (OU) in AWS Organizations. Un percorso AWS Organizations è una rappresentazione testuale della struttura di un'entità AWS Organizations. Per ulteriori informazioni sull'utilizzo e la comprensione dei percorsi, consulta la sezione . Informazioni sul percorso dell'entità AWS Organizations.
-
Disponibilità: questa chiave viene inclusa nel contesto della richiesta solo se il principale è membro di un'organizzazione. Le richieste anonime non includono questa chiave.
-
Tipo di dati: stringa (elenco)
-
Tipo di valore: multivalore
Nota
Gli ID organizzazione sono univoci a livello globale, ma gli ID delle unità organizzative e gli ID root sono univoci solo all'interno di un'organizzazione. Ciò significa che non ci sono due organizzazioni che condividono lo stesso ID organizzazione. Tuttavia, un'altra organizzazione potrebbe avere un'unità organizzativa o un root con il tuo stesso ID. Si consiglia di includere sempre l'ID organizzazione quando si specifica un'unità organizzativa o un root.
Ad esempio, la seguente condizione restituisce true per le entità negli account collegati direttamente all'unità organizzativa ou-ab12-22222222, ma non nelle unità organizzative figlie.
"Condition" : { "ForAnyValue:StringEquals" : { "aws:PrincipalOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/"] }}
La seguente condizione restituisce true per i principali in un account collegato direttamente all'unità organizzativa o a una delle sue unità organizzative figlie. Quando si include un carattere jolly, è necessario utilizzare l'operatore condizionale StringLike.
"Condition" : { "ForAnyValue:StringLike" : { "aws:PrincipalOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/*"] }}
La seguente condizione restituisce true per i principali in un account collegato direttamente a una delle unità organizzative figlie ma non all'unità organizzativa padre. La condizione precedente è per l'unità organizzativa o per qualsiasi figlio. La condizione seguente è solo per i figli (e tutti i figli di quei figli).
"Condition" : { "ForAnyValue:StringLike" : { "aws:PrincipalOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/ou-*"] }}
La condizione seguente consente l'accesso per ogni principale nell'organizzazione o-a1b2c3d4e5, indipendentemente dalla propria unità organizzativa padre.
"Condition" : { "ForAnyValue:StringLike" : { "aws:PrincipalOrgPaths":["o-a1b2c3d4e5/*"] }}
aws:PrincipalOrgPaths è una chiave di condizione multivalore. Le chiavi multivalore possono avere più di un valore nel contesto della richiesta. Quando si utilizzano più valori con l'operatore condizionale ForAnyValue, il percorso del principale deve corrispondere a uno dei percorsi elencati nella policy. Per ulteriori informazioni sulle chiavi di condizione multivalore, consultare Operatori dell'insieme per le chiavi di contesto multivalore.
"Condition": { "ForAnyValue:StringLike": { "aws:PrincipalOrgPaths": [ "o-a1b2c3d4e5/r-ab12/ou-ab12-33333333/*", "o-a1b2c3d4e5/r-ab12/ou-ab12-22222222/*" ] } }
aws:PrincipalOrgID
Utilizzare questa chiave per confrontare l'identificatore dell'organizzazione AWS Organizations a cui appartiene il principale richiedente con l'identificatore specificato nella policy.
-
Disponibilità: questa chiave viene inclusa nel contesto della richiesta solo se il principale è membro di un'organizzazione. Le richieste anonime non includono questa chiave.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
Questa chiave globale fornisce un'alternativa per elencare tutti gli ID account per tutti gli account AWS all'interno di un'organizzazione. È possibile utilizzare questa chiave di condizione per specificare semplicemente l'elemento Principal in una policy basata sulle risorse. È possibile specificare l'ID organizzazione nell'elemento condizionale. Quando si aggiunge e si rimuove un account, le policy che includono la chiave aws:PrincipalOrgID includono automaticamente anche gli account corretti e non necessitano di aggiornamento manuale.
Ad esempio, la seguente policy del bucket Amazon S3 consente ai membri di qualsiasi account nell'organizzazione o-xxxxxxxxxxx di aggiungere un oggetto al bucket amzn-s3-demo-bucket.
Nota
Questa condizione globale vale anche per l'account di gestione di un'organizzazione AWS. Questa policy impedisce a tutti principali esterni all'organizzazione specificata di accedere al bucket Amazon S3. Questo include qualsiasi servizio AWS che interagisca con le risorse interne, come ad esempio AWS CloudTrail che invia i dati di log ai bucket Amazon S3. Per informazioni su come concedere l'accesso in modo sicuro ai servizi AWS, vedi aws:PrincipalIsAWSService.
Per ulteriori informazioni su AWS Organizations, consultare Che cos'è AWS Organizations? nella Guida per l'utente di AWS Organizations.
aws:PrincipalTag/tag-key
Utilizzare questa chiave per confrontare il tag collegato al principale che effettua la richiesta con il tag specificato nella policy. Se il principale ha più di un tag collegato, il contesto della richiesta include una chiave aws:PrincipalTag per ogni chiave tag collegata.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta se il principale utilizza un utente IAM con tag collegati. È inclusa per un principale che utilizza un ruolo IAM con tag collegati o tag di sessione. Le richieste anonime non includono questa chiave.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
È possibile aggiungere attributi personalizzati a un utente o a un ruolo sotto forma di coppia chiave-valore. Per ulteriori informazioni sui tag in IAM, consulta Tag per risorse AWS Identity and Access Management. Puoi utilizzare aws:PrincipalTag per controllare l'accesso per i principali AWS.
Questo esempio mostra come creare una policy basata sull'identità che consenta agli utenti con il tag department=hr per gestire utenti, gruppi o ruoli IAM. Per utilizzare questa policy, sostituisci il testo segnaposto in corsivo nella policy di esempio con le tue informazioni. Quindi, segui le indicazioni fornite in Creazione di una policy o Modifica di una policy.
aws:PrincipalIsAWSService
Utilizza questa chiave per verificare se la chiamata alla risorsa viene effettuata direttamente da un principale del servizio AWS. Ad esempio, AWS CloudTrail utilizza il principale del servizio cloudtrail.amazonaws.com per scrivere log nel bucket Amazon S3. La chiave di contesto della richiesta è impostata su true (VERO) quando un servizio utilizza un principale del servizio per eseguire un'operazione diretta sulle risorse. La chiave di contesto è impostata su false se il servizio utilizza le credenziali di un principale IAM per effettuare una richiesta per conto del principale. Viene impostata su false anche se il servizio utilizza un ruolo di servizio oppure un ruolo collegato ai servizi per effettuare una chiamata per conto del principale.
-
Disponibilità: questa chiave è presente nel contesto della richiesta per tutte le richieste di API firmate che utilizzano le credenziali AWS. Le richieste anonime non includono questa chiave.
-
Tipo di dati: booleano
-
Tipo di valore: valore singolo
È possibile utilizzare questa chiave di condizione per limitare l'accesso alle identità attendibili e ai percorsi di rete previsti, garantendo al contempo l'accesso ai servizi AWS.
Nel seguente esempio di policy di bucket di Amazon S3, l'accesso al bucket è limitato a meno che la richiesta non abbia origine da vpc-111bbb22 o proviene da un principale del servizio, ad esempio CloudTrail.
Nel seguente video, scopri ulteriori informazioni su come utilizzare la chiave di condizione aws:PrincipalIsAWSService in una policy.
aws:PrincipalServiceName
Utilizza questa chiave per confrontare il nome del principale del servizio nella policy con il prinicpale del servizio che effettua richieste alle risorse. È possibile utilizzare questa chiave per verificare se la chiamata viene effettuata da un principale del servizio specifico. Quando un principale del servizio effettua una richiesta diretta alla risorsa, la chiave aws:PrincipalServiceName contiene il nome del principale del servizio. Ad esempio, il nome del principale di servizio AWS CloudTrail è cloudtrail.amazonaws.com.
-
Disponibilità: questa chiave è presente nella richiesta quando la chiamata viene effettuata da un principale del servizio AWS. Questa chiave non è presente in alcun'altra situazione, tra cui:
-
Se il servizio utilizza un ruolo di servizio oppure un ruolo collegato ai servizi per effettuare una chiamata per conto del principale.
-
Se il servizio utilizza le credenziali di un principale IAM per effettuare una richiesta per conto del principale.
-
Se la chiamata viene effettuata direttamente da un principale IAM.
-
Se la chiamata viene effettuata da un richiedente anonimo.
-
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
È possibile utilizzare questa chiave di condizione per limitare l'accesso alle identità attendibili e alle posizioni di rete previste, garantendo al contempo l'accesso a un servizio AWS.
Nel seguente esempio di policy di bucket di Amazon S3, l'accesso al bucket è limitato a meno che la richiesta non abbia origine da vpc-111bbb22 o proviene da un principale del servizio, ad esempio CloudTrail.
aws:PrincipalServiceNamesList
Questa chiave fornisce un elenco di tutti i nomi dei principali del servizio che appartengono al servizio. Questa è una chiave di condizione avanzata. È possibile utilizzarlo per impedire al servizio di accedere alla risorsa solo da una regione specifica. Alcuni servizi possono creare entità di servizio regionali per indicare una particolare istanza del servizio all'interno di una regione specifica. È possibile limitare l'accesso a una risorsa a una particolare istanza del servizio. Quando un principale del servizio effettua una richiesta diretta alla risorsa, aws:PrincipalServiceNamesList contiene un elenco non ordinato di tutti i nomi di principali del servizio associati all'istanza regionale del servizio.
-
Disponibilità: questa chiave è presente nella richiesta quando la chiamata viene effettuata da un principale del servizio AWS. Questa chiave non è presente in alcun'altra situazione, tra cui:
-
Se il servizio utilizza un ruolo di servizio oppure un ruolo collegato ai servizi per effettuare una chiamata per conto del principale.
-
Se il servizio utilizza le credenziali di un principale IAM per effettuare una richiesta per conto del principale.
-
Se la chiamata viene effettuata direttamente da un principale IAM.
-
Se la chiamata viene effettuata da un richiedente anonimo.
-
-
Tipo di dati: stringa (elenco)
-
Tipo di valore: multivalore
aws:PrincipalServiceNamesList è una chiave di condizione multivalore. Le chiavi multivalore possono avere più di un valore nel contesto della richiesta. È necessario utilizzare gli operatori di insieme ForAnyValue o ForAllValues con gli operatori di condizione di stringa quando si utilizza questa chiave. Per ulteriori informazioni sulle chiavi di condizione multivalore, consultare Operatori dell'insieme per le chiavi di contesto multivalore.
aws:PrincipalType
Utilizzare questa chiave per confrontare il tipo di principale che effettua la richiesta con il tipo di principale specificato nella policy. Per ulteriori informazioni, consulta Come specificare un principale. Per esempi specifici di valori chiave principal, vedi Valori della chiave dell'entità principale.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta per tutte le richieste, incluse le richieste anonime.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
aws:userid
Utilizzare questa chiave per confrontare l'identificatore del principale richiedente con l'ID specificato nella policy. Per gli utenti IAM, il valore del contesto della richiesta è l'ID utente. Per i ruoli IAM, questo formato di valore può variare. Per informazioni dettagliate su come vengono visualizzate le informazioni per diverse entità, consultare Come specificare un principale. Per esempi specifici di valori chiave principal, vedi Valori della chiave dell'entità principale.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta per tutte le richieste, incluse le richieste anonime.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
aws:username
Utilizzare questa chiave per confrontare il nome utente del richiedente con il nome utente specificato nella policy. Per informazioni dettagliate su come vengono visualizzate le informazioni per diverse entità, consultare Come specificare un principale. Per esempi specifici di valori chiave principal, vedi Valori della chiave dell'entità principale.
-
Disponibilità: questa chiave è sempre inclusa nel contesto della richiesta per gli utenti IAM. Le richieste anonime e le richieste effettuate utilizzando i ruoli IAM o dell'Utente root dell'account AWS non includono questa chiave. Le richieste effettuate utilizzando le credenziali di IAM Identity Center non includono questa chiave nel contesto.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
Proprietà di una sessione di ruolo
Utilizza le seguenti chiavi di condizione per confrontare le proprietà della sessione di ruolo al momento della generazione della sessione. Queste chiavi di condizione sono disponibili solo quando una richiesta viene effettuata da un principale con credenziali di sessione di ruolo o di principale utente federato. I valori di queste chiavi di condizione sono incorporati nel token di sessione del ruolo.
Un ruolo è un tipo di principale. È inoltre possibile utilizzare le chiavi di condizione della sezione Proprietà del principale per valutare le proprietà di un ruolo quando un ruolo effettua una richiesta.
aws:AssumedRoot
Utilizzare questa chiave per verificare se la richiesta è stata effettuata utilizzando AssumeRoot. AssumeRoot restituisce credenziali a breve termine per una sessione utente root con privilegi che è possibile utilizzare per eseguire azioni privilegiate sugli account membri dell'organizzazione. Per ulteriori informazioni, consulta Gestire centralmente l'accesso root per gli account membri.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta solo quando il principale utilizza credenziali da AssumeRoot per effettuare la richiesta.
-
Tipo di dati: booleano
-
Tipo di valore: valore singolo
Nell'esempio seguente, se utilizzato come policy di controllo del servizio, nega l'utilizzo delle credenziali a lungo termine di un utente root in un account membro AWS Organizations. La policy non impedisce alle sessioni AssumeRoot di eseguire le operazioni consentite da una sessione AssumeRoot.
aws:FederatedProvider
Utilizzare questa chiave per confrontare il provider dell'identità di emissione (IdP) del principale con l'IdP specificato nella policy. Ciò significa che è stato assunto un ruolo IAM utilizzando l'operazione AssumeRoleWithWebIdentity AWS STS. Quando le credenziali temporanee della sessione come ruolo risultante vengono utilizzate per effettuare una richiesta, il contesto della richiesta identifica l'IdP che ha autenticato l'identità federata originale.
-
Disponibilità: questa chiave è presente nella sessione di ruolo di un ruolo assunto utilizzando il provider OpenID Connect (OIDC) e nella policy di attendibilità dei ruoli quando viene utilizzato un provider OIDC per effettuare chiamate
AssumeRoleWithWebIdentity. -
Tipo di dati: stringa*
-
Tipo di valore: valore singolo
* Il tipo di dati dipende dal tuo IdP:
-
Se utilizzi un IdP AWS integrato, come Amazon Cognito, il valore della chiave sarà una stringa. Il valore della chiave può essere analogo al seguente:
cognito-identity.amazonaws.com. -
Se utilizzi un IdP che non è integrato in AWS, ad esempio GitHub
o Amazon EKS, il valore della chiave sarà un ARN. Il valore della chiave può essere analogo al seguente: arn:aws:iam::.111122223333:oidc-provider/oidc.eks.region.amazonaws.com/id/OIDC_Provider_ID
Per ulteriori informazioni su IdP esterni e AssumeRoleWithWebIDentity, consulta Scenari comuni. Per ulteriori informazioni, consulta Principali della sessione come ruolo.
aws:TokenIssueTime
Utilizzare questa chiave per confrontare la data e l'ora in cui sono state emesse le credenziali di sicurezza temporanee con la data e l'ora specificate nella policy.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta solo quando il principale utilizza credenziali temporanee per effettuare la richiesta. Questa chiave non è presente nelle richieste della AWS CLI, dell'API AWS o dell'SDK AWS effettuate utilizzando le chiavi di accesso.
-
Tipo di dati: data
-
Tipo di valore: valore singolo
Per sapere quali servizi supportano l'utilizzo di credenziali temporanee, consulta AWSServizi che funzionano con IAM.
aws:MultiFactorAuthAge
Utilizzare questa chiave per confrontare il numero di secondi da quando il principale richiedente è stato autorizzato utilizzando MFA con il numero specificato nella policy. Per ulteriori informazioni sulla funzionalità MFA, consultare Autenticazione a più fattori di AWS in IAM.
Importante
Questa chiave di condizione non è presente per le identità federate o le richieste effettuate utilizzando chiavi di accesso per firmare richieste AWS CLI, API AWS o SDK AWS. Per ulteriori informazioni sull'aggiunta della protezione MFA alle operazioni API con credenziali di sicurezza temporanee, consulta Accesso sicuro alle API con MFA.
Per verificare se l'autenticazione MFA viene utilizzata per convalidare le identità federate IAM, puoi passare il metodo di autenticazione dal tuo provider di identità a AWS come tag di sessione. Per informazioni dettagliate, vedi Passare i tag di sessione in AWS STS. Per applicare la MFA per le identità del Centro identità IAM, puoi abilitare gli attributi per il controllo degli accessi per passare una dichiarazione di asserzione SAML con il metodo di autenticazione dal tuo provider di identità al Centro identità IAM.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta solo quando il principale utilizza credenziali temporanee per effettuare la richiesta. Le policy con condizioni MFA possono essere collegate a:
-
Un utente o un gruppo IAM
-
Una risorsa, ad esempio un bucket Amazon S3, una coda Amazon SQS o un argomento Amazon SNS
-
La policy di attendibilità di un ruolo IAM che può essere assunto da un utente
-
-
Tipo di dati: numerico
-
Tipo di valore: valore singolo
aws:MultiFactorAuthPresent
Utilizzare questa chiave per verificare se l'autenticazione a più fattori (MFA) è stata utilizzata per convalidare le credenziali di sicurezza temporanee con le quali è stata effettuata la richiesta.
Importante
Questa chiave di condizione non è presente per le identità federate o le richieste effettuate utilizzando chiavi di accesso per firmare richieste AWS CLI, API AWS o SDK AWS. Per ulteriori informazioni sull'aggiunta della protezione MFA alle operazioni API con credenziali di sicurezza temporanee, consulta Accesso sicuro alle API con MFA.
Per verificare se l'autenticazione MFA viene utilizzata per convalidare le identità federate IAM, puoi passare il metodo di autenticazione dal tuo provider di identità a AWS come tag di sessione. Per informazioni dettagliate, vedi Passare i tag di sessione in AWS STS. Per applicare la MFA per le identità del Centro identità IAM, puoi abilitare gli attributi per il controllo degli accessi per passare una dichiarazione di asserzione SAML con il metodo di autenticazione dal tuo provider di identità al Centro identità IAM.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta solo quando il principale utilizza credenziali temporanee per effettuare la richiesta. Le policy con condizioni MFA possono essere collegate a:
-
Un utente o un gruppo IAM
-
Una risorsa, ad esempio un bucket Amazon S3, una coda Amazon SQS o un argomento Amazon SNS
-
La policy di attendibilità di un ruolo IAM che può essere assunto da un utente
-
-
Tipo di dati: booleano
-
Tipo di valore: valore singolo
Le credenziali temporanee vengono utilizzate per autenticare i ruoli IAM e gli utenti IAM con token temporanei da AssumeRole o GetSessionToken e gli utenti della Console di gestione AWS.
Le chiavi di accesso dell'utente IAM sono credenziali a lungo termine, ma in alcuni casi, AWS crea credenziali temporanee per conto degli utenti IAM per eseguire operazioni. In questi casi, la chiave aws:MultiFactorAuthPresent è presente nella richiesta ed è impostata su un valore false. Esistono due casi comuni in cui ciò può accadere:
-
Gli utenti IAM nella Console di gestione AWS utilizzano inconsapevolmente credenziali temporanee. Gli utenti accedono alla console utilizzando il nome utente e la password, che sono credenziali a lungo termine. Tuttavia, in background, la console genera credenziali temporanee per conto dell'utente.
-
Se un utente IAM effettua una chiamata a un servizio AWS, il servizio riutilizza le credenziali dell'utente per effettuare un'altra richiesta a un servizio diverso. Ad esempio, quando chiami Athena per accedere a un bucket Amazon S3 o quando usi CloudFormation per creare un'istanza Amazon EC2. Per la richiesta successiva, AWS utilizza credenziali temporanee.
Per sapere quali servizi supportano l'utilizzo di credenziali temporanee, consulta AWSServizi che funzionano con IAM.
La chiave aws:MultiFactorAuthPresent non è presente quando vengono lanciati un'API o un comando della CLI con credenziali a lungo termine, ad esempio coppie di chiavi di accesso. Pertanto, si consiglia, quando si controlla questa chiave, di utilizzare le versioni ...IfExists degli operatori di condizione.
È importante capire che il seguente elemento Condition non è un modo affidabile per controllare se una richiesta è autenticata utilizzando MFA.
##### WARNING: NOT RECOMMENDED #####
"Effect" : "Deny",
"Condition" : { "Bool" : { "aws:MultiFactorAuthPresent" : "false" } }
Questa combinazione di effetto Deny, elemento Bool e valore false nega le richieste che possono essere autenticate utilizzando MFA, ma che non lo sono. Ciò è valido solo per le credenziali temporanee che supportano l'uso di MFA. Questa istruzione non nega l'accesso alle richieste effettuate utilizzando le credenziali a lungo termine oppure alle richieste autenticate utilizzando MFA. Utilizza questo esempio con cautela in quanto la relativa logica è complessa e non verifica se l'autenticazione MFA è stata effettivamente utilizzata.
Inoltre, non utilizzare la combinazione di effetto Deny, elemento Null e true perché ha lo stesso comportamento e la logica è ancora più complessa.
Combinazione consigliata
Consigliamo di utilizzare l'operatore BoolIfExists per verificare se una richiesta viene autenticata con MFA.
"Effect" : "Deny", "Condition" : { "BoolIfExists" : { "aws:MultiFactorAuthPresent" : "false" } }
Questa combinazione di Deny, BoolIfExists e false nega le richieste che non vengono autenticate con MFA. Nello specifico, nega le richieste da credenziali temporanee che non includono MFA. Inoltre, nega le richieste effettuate utilizzando credenziali a lungo termine, ad esempio le operazioni AWS CLI o API AWS effettuate utilizzando le chiavi di accesso. L'operatore *IfExists verifica la presenza della chiave aws:MultiFactorAuthPresent e se potrebbe essere presente o meno, come indicato dalla relativa esistenza. Utilizzalo quando intendi negare qualsiasi richiesta non autenticata con MFA. Questa operazione è più sicura, ma può interrompere qualsiasi codice o script che utilizza le chiavi di accesso per accedere alla AWS CLI o all'API AWS.
Combinazioni alternative
È anche possibile utilizzare l'operatore BoolIfExists per consentire le richieste autenticate con MFA e le richieste AWS CLI o API AWS effettuate utilizzando credenziali a lungo termine.
"Effect" : "Allow", "Condition" : { "BoolIfExists" : { "aws:MultiFactorAuthPresent" : "true" } }
Questa condizione è corrispondente se la chiave esiste ed è presente o se la chiave non esiste. Questa combinazione di Allow, BoolIfExists e true consente le richieste autenticate con MFA o le richieste che non possono essere autenticate con MFA. Ciò significa che le operazioni AWS CLI, API AWS e SDK AWS sono consentite quando il richiedente utilizza le proprie chiavi di accesso a lungo termine. Questa combinazione non consente le richieste da credenziali temporanee che potrebbero ma non includono MFA.
Quando crei una policy utilizzando l'editor visivo della console IAM e scegli MFA obbligatoria, questa combinazione viene applicata. Questa impostazione richiede MFA per l'accesso alla console, ma consente l'accesso programmatico senza MFA.
In alternativa, puoi utilizzare l'operatore Bool per consentire le richieste programmatiche e della console solo quando autenticate tramite MFA.
"Effect" : "Allow",
"Condition" : { "Bool" : { "aws:MultiFactorAuthPresent" : "true" } }
Questa combinazione di Allow, Bool e true consente solo le richieste autenticate mediante MFA. Ciò è valido solo per le credenziali temporanee che supportano l'uso di MFA. Questa istruzione non consente l'accesso alle richieste eseguite utilizzando chiavi di accesso a lungo termine oppure alle richieste eseguite utilizzando credenziali temporanee senza MFA.
Non utilizzare una struttura di policy simile alle seguenti per controllare se la chiave MFA è presente:
##### WARNING: USE WITH CAUTION #####
"Effect" : "Allow",
"Condition" : { "Null" : { "aws:MultiFactorAuthPresent" : "false" } }
Questa combinazione di effetto Allow, elemento Null e valore false consente solo le richieste che possono essere autenticate mediante MFA, indipendentemente dall'autenticazione o meno della richiesta. Ciò consente tutte le richieste eseguite utilizzando credenziali temporanee e nega l'accesso alle credenziali a lungo termine. Utilizza questo esempio con cautela in quanto non verifica se l'autenticazione MFA è stata effettivamente utilizzata.
aws:ChatbotSourceArn
Utilizzare questa chiave per confrontare l'ARN della configurazione della chat di origine impostato dal principale con l'ARN di configurazione della chat specificato nella policy del ruolo IAM associato alla configurazione del canale. Puoi autorizzare le richieste in base alla sessione di assunzione del ruolo iniziata da Amazon Q Developer nelle applicazioni di chat.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta dal servizio Amazon Q Developer nelle applicazioni di chat ogni volta che si assume una sessione di ruolo. Il valore della chiave è l'ARN di configurazione della chat, ad esempio quando si esegue un comando AWS CLI da un canale di chat.
-
Tipo di dati: ARN
-
Tipo di valore: valore singolo
-
Valore di esempio –
arn:aws::chatbot::123456789021:chat-configuration/slack-channel/private_channel
La seguente policy nega che Amazon S3 inserisca le richieste nel bucket specificato per tutte le richieste provenienti da un canale Slack.
aws:Ec2InstanceSourceVpc
Questa chiave identifica il VPC al quale sono state consegnate le credenziali del ruolo IAM di Amazon EC2. È possibile utilizzare questa chiave in una policy con la chiave globale aws:SourceVPC per verificare se da un VPC (aws:SourceVPC) viene effettuata una chiamata che corrisponde al VPC al quale è stata consegnata una credenziale (aws:Ec2InstanceSourceVpc).
-
Disponibilità: questa chiave viene inclusa nel contesto della richiesta ogni volta che il richiedente firma le richieste con una credenziale di ruolo Amazon EC2. Può essere utilizzata nelle policy IAM, nelle policy di controllo dei servizi, nelle policy degli endpoint VPC e nelle policy delle risorse.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
Questa chiave può essere utilizzata con i valori identificativi del VPC, ma è particolarmente utile se impiegata come variabile in combinazione con la chiave di contesto aws:SourceVpc. La chiave di contesto aws:SourceVpc viene inclusa nel contesto della richiesta solo se il richiedente utilizza un endpoint VPC per effettuare la richiesta. L'impiego di aws:Ec2InstanceSourceVpc con aws:SourceVpc consente di utilizzare aws:Ec2InstanceSourceVpc in modo più ampio, poiché confronta dei valori che in genere cambiano insieme.
Nell'esempio precedente, l'accesso è negato se il valore di aws:SourceVpc non corrisponde al valore di aws:Ec2InstanceSourceVpc. L'istruzione della policy è limitata ai soli ruoli utilizzati come ruoli dell'istanza Amazon EC2 verificando l'esistenza della chiave di condizione ec2:SourceInstanceARN.
La policy utilizza aws:ViaAWSService per consentire a AWS di autorizzare le richieste quando le richieste vengono effettuate per conto dei ruoli dell'istanza Amazon EC2. Ad esempio, quando effettui una richiesta da un'istanza Amazon EC2 a un bucket Amazon S3 crittografato, Amazon S3 effettua una chiamata a AWS KMS per tuo conto. Alcune chiavi non sono presenti quando la richiesta viene effettuata a AWS KMS.
aws:Ec2InstanceSourcePrivateIPv4
Questa chiave identifica l'indirizzo IPv4 privato dell'interfaccia di rete elastica primaria a cui sono state consegnate le credenziali del ruolo IAM di Amazon EC2. Per assicurarti di disporre di una combinazione unica a livello globale di ID VPC e IP privato di origine, devi utilizzare questa chiave di condizione con la relativa chiave complementare aws:Ec2InstanceSourceVpc. Utilizza questa chiave con aws:Ec2InstanceSourceVpc per assicurarti che la richiesta sia stata effettuata dallo stesso indirizzo IP privato a cui sono state consegnate le credenziali.
-
Disponibilità: questa chiave viene inclusa nel contesto della richiesta ogni volta che il richiedente firma le richieste con una credenziale di ruolo Amazon EC2. Può essere utilizzata nelle policy IAM, nelle policy di controllo dei servizi, nelle policy degli endpoint VPC e nelle policy delle risorse.
-
Tipo di dati: indirizzo IP
-
Tipo di valore: valore singolo
Importante
Questa chiave non deve essere utilizzata da sola in un'istruzione Allow. Per definizione, gli indirizzi IP privati non sono univoci a livello globale. Dovresti usare la chiave aws:Ec2InstanceSourceVpc ogni volta che utilizzi la chiave aws:Ec2InstanceSourcePrivateIPv4 per specificare il VPC dal quale possono essere utilizzate le credenziali dell'istanza Amazon EC2.
L'esempio seguente è una policy di controllo dei servizi che nega l'accesso a tutte le risorse a meno che la richiesta non arrivi tramite un endpoint VPC nello stesso VPC delle credenziali del ruolo. In questo esempio, aws:Ec2InstanceSourcePrivateIPv4 limita l'origine delle credenziali a una particolare istanza in base all'IP di origine.
aws:SourceIdentity
Utilizza questa chiave per confrontare l'identità di origine impostata dal principale con l'identità di origine specificata nella policy.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta dopo che è stata impostata un'identità di origine quando un ruolo viene assunto tramite qualsiasi comando AWS STS assume-role della CLI o l'operazione API AWS STS
AssumeRole. -
Tipo di dati: stringa
-
Tipo di valore: valore singolo
È possibile utilizzare questa chiave in una policy per consentire operazioni in AWS da principali che hanno impostato un'identità di origine quando si assume un ruolo. L'attività per l'identità di origine specificata del ruolo viene visualizzata in AWS CloudTrail. In questo modo è più facile per gli amministratori determinare chi o cosa ha eseguito le operazioni con un ruolo in AWS.
A differenza di sts:RoleSessionName, dopo aver impostato l'identità di origine, il valore non può essere modificato. È presente nel contesto della richiesta di tutte le operazioni intraprese dal ruolo. Il valore persiste nelle sessioni di ruolo successive quando si utilizzano le credenziali di sessione per assumere un altro ruolo. L'assunzione di un ruolo partendo da un altro si chiama concatenamento del ruolo.
La chiave sts:SourceIdentity è presente nella richiesta quando il principale imposta inizialmente un'identità di origine mentre assume un ruolo utilizzando qualsiasi comando AWS STS assume-role della CLI o l'operazione API AWS STS AssumeRole. La chiave aws:SourceIdentity è presente nella richiesta per tutte le operazioni eseguite con una sessione di ruolo con un set di identità di origine.
La policy di attendibilità del ruolo riportata di seguito per CriticalRole nell'account 111122223333 contiene una condizione per aws:SourceIdentityche impedisce a un principale senza un'identità di origine impostata su Saanvi o Diego di assumere il ruolo.
Per ulteriori informazioni sull'utilizzo dell'identità di origine, consulta Monitoraggio e controllo delle operazioni intraprese con i ruoli assunti.
ec2:RoleDelivery
Utilizzare questa chiave per confrontare la versione del servizio di metadati dell'istanza nella richiesta firmata con le credenziali del ruolo IAM per Amazon EC2. Il servizio di metadati dell'istanza esegue la distinzione tra richieste IMDSv1 e IMDSv2 a seconda che, per una determinata richiesta, le intestazioni PUT o GET, che sono univoche per IMDSv2, siano presenti in tale richiesta.
-
Disponibilità: questa chiave viene inclusa nel contesto della richiesta ogni volta che la sessione del ruolo viene creata da un'istanza Amazon EC2.
-
Tipo di dati: numerico
-
Tipo di valore: valore singolo
-
Valori di esempio – 1.0, 2.0
Puoi configurare il servizio di metadati dell'istanza (IMDS) su ogni istanza in modo che il codice locale o gli utenti utilizzino IMDSv2. Quando specifichi l'utilizzo di IMDSv2, IMDSv1 non funziona più.
-
Instance Metadata Service Version 1 (IMDSv1): un metodo di richiesta/risposta
-
Servizio di metadati dell'istanza Versione 2 (IMDSv2): un metodo orientato alla sessione
Per informazioni su come configurare l'istanza per l'utilizzo di IMDSv2, consulta Configurare le opzioni dei metadati dell'istanza.
Nell'esempio seguente, l'accesso viene negato se il valore ec2:RoleDelivery nel contesto della richiesta è 1.0 (IMDSv1). Questa istruzione di policy può essere applicata a livello generale perché, se la richiesta non è firmata dalle credenziali del ruolo Amazon EC2, non ha alcun effetto.
Per ulteriori informazioni, consulta Esempi di policy per l'utilizzo dei metadati delle istanze.
ec2:SourceInstanceArn
Utilizzare questa chiave per confrontare l'ARN dell'istanza da cui è stata generata la sessione del ruolo.
-
Disponibilità: questa chiave viene inclusa nel contesto della richiesta ogni volta che la sessione del ruolo viene creata da un'istanza Amazon EC2.
-
Tipo di dati: ARN
-
Tipo di valore: valore singolo
-
Valore di esempio: arn:aws::ec2:us-west-2:111111111111:instance/instance-id
Per le policy di esempio, consulta Consentire a un'istanza specifica di visualizzare le risorse in altri servizi AWS.
glue:RoleAssumedBy
Il servizio AWS Glue imposta questa chiave di condizione per ogni richiesta API AWS in cui AWS Glue effettua una richiesta utilizzando un ruolo di servizio per conto del cliente (non tramite un processo o un endpoint di sviluppo, ma direttamente dal servizio AWS Glue). Utilizza questa chiave per verificare se una chiamata a una risorsa AWS proviene dal servizio AWS Glue.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta quando AWS Glue effettua una richiesta utilizzando un ruolo di servizio per conto del cliente.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
-
Valore di esempio: questa chiave è sempre impostata su
glue.amazonaws.com.
Nell'esempio seguente viene aggiunta una condizione per consentire al servizio AWS Glue di ottenere un oggetto da un bucket Amazon S3.
{ "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "StringEquals": { "glue:RoleAssumedBy": "glue.amazonaws.com" } } }
glue:CredentialIssuingService
Il servizio AWS Glue imposta questa chiave per ogni richiesta API AWS utilizzando un ruolo di servizio che proviene da un endpoint di processo o di sviluppo. Usa questa chiave per verificare se una chiamata a una risorsa AWS proviene da un endpoint di processo o di sviluppo AWS Glue.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta quando AWS Glue effettua una richiesta proveniente da un endpoint di processo o di sviluppo.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
-
Valore di esempio: questa chiave è sempre impostata su
glue.amazonaws.com.
Nell'esempio seguente viene aggiunta una condizione associata a un ruolo IAM utilizzato da un processo AWS Glue. Ciò garantisce che determinate operazioni siano permesse/negate in base al fatto che la sessione di ruolo sia utilizzata per un ambiente di runtime di un processo AWS Glue.
{ "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "StringEquals": { "glue:CredentialIssuingService": "glue.amazonaws.com" } } }
lambda:SourceFunctionArn
Utilizza questa chiave per identificare l'ARN della funzione Lambda a cui sono state consegnate le credenziali del ruolo IAM. Il servizio Lambda imposta questa chiave per ogni richiesta API AWS proveniente dall'ambiente di esecuzione della funzione. Utilizzare questa chiave per verificare se una chiamata a una risorsa AWS proviene dal codice di una funzione Lambda specifica. Lambda imposta questa chiave anche per alcune richieste che provengono dall'esterno dell'ambiente di esecuzione, come la scrittura di log su CloudWatch e l'invio di tracce a X-Ray.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta ogni volta che viene richiamato il codice della funzione Lambda.
-
Tipo di dati: ARN
-
Tipo di valore: valore singolo
-
Valore di esempio: arn:aws:lambda:us-east-1:123456789012:function:TestFunction
L'esempio seguente consente a una funzione Lambda specifica definire l'accesso di s3:PutObject al bucket specificato.
Per ulteriori informazioni, consulta Lavorare con le credenziali dell'ambiente di esecuzione Lambda nella Guida per gli sviluppatori di AWS Lambda.
ssm:SourceInstanceArn
Utilizza questa chiave per identificare l'ARN dell'istanza gestita da AWS Systems Manager a cui sono state consegnate le credenziali del ruolo IAM. Questa chiave di condizione non è presente quando la richiesta proviene da un'istanza gestita con un ruolo IAM associato al profilo dell'istanza Amazon EC2.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta ogni volta che le credenziali del ruolo vengono consegnate a un'istanza gestita da AWS Systems Manager.
-
Tipo di dati: ARN
-
Tipo di valore: valore singolo
-
Valore di esempio: arn:aws::ec2:us-west-2:111111111111:instance/instance-id
identitystore:UserId
Utilizzare questa chiave per confrontare l'identità della forza lavoro del Centro identità IAM nella richiesta firmata con l'identità specificata nella policy.
-
Disponibilità: questa chiave viene inclusa quando il chiamante della richiesta è un utente del Centro identità IAM.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
-
Valore di esempio: 94482488-3041-7026-18f3-be45837cd0e4
Puoi trovare l'ID utente di un utente nel Centro identità IAM effettuando una richiesta all'API GetUserId utilizzando la AWS CLI, l'API AWS o l'SDK AWS.
Proprietà della rete
Utilizza le chiavi di condizione seguenti per confrontare i dettagli della rete da cui è stata originata la richiesta o inviati con le proprietà della rete specificate nella policy.
aws:SourceIp
Utilizzare questa chiave per confrontare l'indirizzo IP del richiedente con l'indirizzo IP specificato nella policy. La chiave di condizione aws:SourceIp può essere utilizzata solo per intervalli di indirizzi IP pubblici.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta, tranne quando il richiedente utilizza un endpoint VPC per effettuare la richiesta.
-
Tipo di dati: indirizzo IP
-
Tipo di valore: valore singolo
La chiave di condizione aws:SourceIp può essere utilizzata in una policy per consentire ai principali di effettuare richieste solo all'interno di un intervallo IP specificato.
Nota
aws:SourceIp supporta indirizzi sia IPv4 sia IPv6 e intervalli di indirizzi IP. Per un elenco di Servizi AWS che supportano IPv6, consulta Servizi AWS che supportano IPv6 nella Guida per l'utente di VPC Amazon.
Ad esempio, puoi collegare la seguente policy basata sull'identità a un ruolo IAM. Questa policy consente all'utente di collocare oggetti nel bucket di Amazon S3 amzn-s3-demo-bucket3 se effettua la chiamata dall'intervallo di indirizzi IPv4 specificato. Questa policy consente inoltre a un servizio AWS che utilizza Inoltro delle sessioni di accesso dieseguire questa operazione per conto dell'utente.
Se devi limitare l'accesso a reti che supportano l'indirizzamento sia IPv4 che IPv6, puoi includere l'indirizzo o gli intervalli di indirizzi IP IPv4 e IPv6 nella condizione della policy IAM. La seguente policy basata sull'identità consente all'utente di collocare oggetti nel bucket di Amazon S3 amzn-s3-demo-bucket3 se l'utente effettua la chiamata dall'intervallo di indirizzi IPv4 o IPv6 specificato. Prima di includere intervalli di indirizzi IPv6 nella tua policy IAM, verifica il Servizio AWS in cui operi supporti IPv6. Per un elenco di Servizi AWS che supportano IPv6, consulta Servizi AWS che supportano IPv6 nella Guida per l'utente di VPC Amazon.
Se la richiesta proviene da un host che utilizza un endpoint Amazon VPC, la chiave aws:SourceIp non è disponibile. Si dovrebbe invece usare una chiave specifica per VPC, ad esempio aws:VpcSourceIp. Per ulteriori informazioni sull'utilizzo degli endpoint VPC, consulta la sezione Gestione delle identità e degli accessi per endpoint VPC e servizi endpoint VPC nella Guida di AWS PrivateLink.
Nota
Quando i Servizi AWS effettuano chiamate ad altri Servizi AWS per conto dell'utente (chiamate da servizio a servizio), alcuni elementi specifici del contesto di autorizzazione di rete vengono oscurati. Se la tua policy utilizza questa chiave di condizione con le istruzioni Deny, i principali Servizio AWS potrebbero essere bloccati involontariamente. Per consentire ai Servizi AWS di funzionare correttamente mantenendo i requisiti di sicurezza, escludi i principali del servizio dalle istruzioni Deny aggiungendo la chiave di condizione aws:PrincipalIsAWSService con il valore false.
aws:SourceVpc
Utilizzare questa chiave per verificare se la richiesta viaggia attraverso il VPC al quale è collegato l'endpoint VPC. In una policy è possibile utilizzare questa chiave per consentire l'accesso solo a un VPC specifico. Per ulteriori informazioni, consulta Limitazione dell'accesso a un VPC specifico nella Guida per l'utente di Amazon Simple Storage Service.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta solo se il richiedente utilizza un endpoint VPC per effettuare la richiesta.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
In una policy è possibile utilizzare questa chiave per consentire o limitare l'accesso a un VPC specifico.
Ad esempio, puoi collegare la seguente policy basata sull'identità a un ruolo IAM per PutObject al bucket Amazon S3 amzn-s3-demo-bucket3, a meno che la richiesta non venga effettuata dall'ID VPC specificato o da Servizi AWS che utilizza sessioni di accesso inoltrato (FAS) per effettuare richieste per conto del ruolo. A differenza di aws:SourceIp, è necessario utilizzare aws:ViaAWSService o aws:CalledVia per consentire le richieste FAS, poiché il VPC di origine della richiesta iniziale non viene conservato.
Nota
Questa policy non consente alcuna operazione. Utilizza questa policy in combinazione con altre policy che consentono operazioni specifiche.
Per un esempio di come applicare questa chiave in una policy basata sulle risorse, consulta Limitazione dell'accesso a un VPC specifico nella Guida per l'utente di Amazon Simple Storage Service.
aws:SourceVpce
Utilizzare questa chiave per confrontare l'identificatore dell'endpoint VPC della richiesta con l'ID endpoint specificato nella policy.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta solo se il richiedente utilizza un endpoint VPC per effettuare la richiesta.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
In una policy è possibile utilizzare questa chiave per limitare l'accesso a un endpoint VPC specifico. Per ulteriori informazioni, consulta Limitazione dell'accesso a un VPC specifico nella Guida per l'utente di Amazon Simple Storage Service. Analogamente all'utilizzo di aws:SourceVpc, è necessario utilizzare aws:ViaAWSService o aws:CalledVia per consentire le richieste effettuate da Servizi AWS utilizzando le sessioni di accesso inoltrato (FAS). Questo perché l'endpoint VPC di origine della richiesta iniziale non viene conservato.
aws:VpceAccount
Utilizza questa chiave per confrontare l'ID account AWS che possiede l'endpoint VPC tramite il quale è stata effettuata la richiesta con l'ID account specificato nella policy. Questa chiave di condizione consente di stabilire controlli del perimetro di rete assicurando che le richieste arrivino tramite endpoint VPC di proprietà di account specifici.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta quando una richiesta viene effettuata tramite un endpoint VPC. La chiave non è inclusa per le richieste effettuate tramite endpoint di servizio pubblico.
I seguenti servizi supportano questa chiave:
-
AWS App Runner (prefisso:
apprunner) -
AWS Application Discovery Service (prefisso:
discovery) -
Amazon Athena (prefisso:
athena) -
AWS Cloud Map (prefisso:
servicediscovery) -
Approfondimenti sulle applicazioni Amazon CloudWatch (prefisso:
applicationinsights) -
AWS CloudFormation (prefisso:
cloudformation) -
Amazon Comprehend Medical (prefisso:
comprehendmedical) -
Ottimizzatore di calcolo AWS (prefisso:
compute-optimizer) -
AWS DataSync (prefisso:
datasync) -
Amazon Elastic Block Store (prefisso:
ebs) -
Pianificatore Amazon EventBridge (prefisso:
scheduler) -
Amazon Data Firehose (prefisso:
firehose) -
AWS HealthImaging (prefisso:
medical-imaging) -
AWS HealthLake (prefisso:
healthlake) -
AWS HealthOmics (prefisso:
omics) -
AWS Identity and Access Management (ad eccezione dell'operazione
iam:PassRole) (prefisso:iam) -
AWS IoT FleetWise (prefisso:
iotfleetwise) -
Wireless AWS IoT (prefisso:
iotwireless) -
AWS Key Management Service (prefisso:
kms) -
AWS Lambda (prefisso:
lambda) -
AWS Payment Cryptography (prefisso:
payment-cryptography) -
Amazon Polly (prefisso:
polly) -
AWS Autorità di certificazione privata (prefisso:
acm-pca) -
Cestino AWS (prefisso:
rbin) -
Amazon Rekognition (prefisso:
rekognition) -
Service Quotas (prefisso:
servicequotas) -
Amazon Simple Storage Service (prefisso:
s3) -
Gateway di archiviazione AWS (prefisso:
storagegateway) -
Contatti Strumento di gestione degli incidenti AWS Systems Manager (prefisso:
ssm-contacts) -
Amazon Textract (prefisso:
textract) -
Amazon Transcribe (prefisso:
transcribe) -
AWS Transfer Family (prefisso:
transfer)
-
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
-
Valore di esempio –
123456789012
Puoi utilizzare questa chiave di condizione per limitare l'accesso alle risorse in modo che le richieste arrivino tramite endpoint VPC di proprietà del tuo account. Il seguente esempio di policy di bucket di Amazon S3 consente l'accesso quando la richiesta arriva tramite un endpoint VPC di proprietà dell'account specificato:
Nota
Questa chiave di condizione è attualmente supportata per un insieme di servizi AWS selezionato. L'utilizzo di questa chiave con servizi non supportati può portare a esiti di autorizzazione non intenzionali. Definisci sempre la chiave di condizione per i servizi supportati nelle tue policy.
Alcuni servizi AWS accedono alle tue risorse dalle loro reti quando agiscono per tuo conto. Se utilizzi tali servizi, dovrai modificare l'esempio di policy riportato sopra per consentire ai servizi AWS di accedere alle tue risorse dall'esterno della rete. Per ulteriori informazioni sui modelli di accesso da tenere in considerazione quando si applicano i controlli di accesso in base all'origine della richiesta, consulta Establish permissions guardrails using data perimeters.
aws:VpceOrgID
Utilizza questa chiave per confrontare l'identificatore dell'organizzazione in AWS Organizations che possiede l'endpoint VPC da cui è stata effettuata la richiesta con l'identificatore specificato nella policy. Questa chiave di condizione offre l'approccio più scalabile ai controlli del perimetro di rete, includendo automaticamente tutti gli endpoint VPC di proprietà degli account all'interno dell'organizzazione.
-
Disponibilità: questa chiave viene inclusa nel contesto della richiesta quando viene effettuata una richiesta tramite un endpoint VPC e l'account del proprietario dell'endpoint VPC è membro di un'organizzazione AWS. La chiave non è inclusa per le richieste effettuate tramite altri percorsi di rete o quando l'account del proprietario dell'endpoint VPC non fa parte di un'organizzazione.
I seguenti servizi supportano questa chiave:
-
AWS App Runner (prefisso:
apprunner) -
AWS Application Discovery Service (prefisso:
discovery) -
Amazon Athena (prefisso:
athena) -
AWS Cloud Map (prefisso:
servicediscovery) -
Approfondimenti sulle applicazioni Amazon CloudWatch (prefisso:
applicationinsights) -
AWS CloudFormation (prefisso:
cloudformation) -
Amazon Comprehend Medical (prefisso:
comprehendmedical) -
Ottimizzatore di calcolo AWS (prefisso:
compute-optimizer) -
AWS DataSync (prefisso:
datasync) -
Amazon Elastic Block Store (prefisso:
ebs) -
Pianificatore Amazon EventBridge (prefisso:
scheduler) -
Amazon Data Firehose (prefisso:
firehose) -
AWS HealthImaging (prefisso:
medical-imaging) -
AWS HealthLake (prefisso:
healthlake) -
AWS HealthOmics (prefisso:
omics) -
AWS Identity and Access Management (ad eccezione dell'operazione
iam:PassRole) (prefisso:iam) -
AWS IoT FleetWise (prefisso:
iotfleetwise) -
Wireless AWS IoT (prefisso:
iotwireless) -
AWS Key Management Service (prefisso:
kms) -
AWS Lambda (prefisso:
lambda) -
AWS Payment Cryptography (prefisso:
payment-cryptography) -
Amazon Polly (prefisso:
polly) -
AWS Autorità di certificazione privata (prefisso:
acm-pca) -
Cestino AWS (prefisso:
rbin) -
Amazon Rekognition (prefisso:
rekognition) -
Service Quotas (prefisso:
servicequotas) -
Amazon Simple Storage Service (prefisso:
s3) -
Gateway di archiviazione AWS (prefisso:
storagegateway) -
Contatti Strumento di gestione degli incidenti AWS Systems Manager (prefisso:
ssm-contacts) -
Amazon Textract (prefisso:
textract) -
Amazon Transcribe (prefisso:
transcribe) -
AWS Transfer Family (prefisso:
transfer)
-
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
-
Valori di esempio –
o-a1b2c3d4e5
Il seguente esempio di policy di controllo delle risorse nega l'accesso ad Amazon S3 e alle risorse AWS Key Management Service a meno che la richiesta non provenga da endpoint VPC di proprietà dell'organizzazione specificata o da reti di servizi AWS che agiscono per tuo conto. Alcune organizzazioni potrebbero dover modificare ulteriormente questa policy per soddisfare le esigenze della propria organizzazione, ad esempio consentire l'accesso a partner terzi. Per ulteriori informazioni sui modelli di accesso da tenere in considerazione quando si applicano i controlli di accesso in base all'origine della richiesta, consulta Establish permissions guardrails using data perimeters.
Nota
Questa chiave di condizione è attualmente supportata per un insieme di servizi AWS selezionato. L'utilizzo di questa chiave con servizi non supportati può portare a esiti di autorizzazione non intenzionali. Definisci sempre la chiave di condizione per i servizi supportati nelle tue policy.
aws:VpceOrgPaths
Utilizza questa chiave per confrontare il percorso AWS Organizations dell'endpoint VPC da cui è stata effettuata la richiesta con il percorso specificato nella policy. Questa chiave di condizione consente di implementare i controlli del perimetro di rete a livello di unità organizzativa (UO), scalando automaticamente in base all'utilizzo degli endpoint VPC man mano che si aggiungono nuovi endpoint all'interno delle unità organizzative specificate.
-
Disponibilità: questa chiave viene inclusa nel contesto della richiesta quando viene effettuata una richiesta tramite un endpoint VPC e l'account del proprietario dell'endpoint VPC è membro di un'organizzazione. La chiave non è inclusa per le richieste effettuate tramite altri percorsi di rete o quando l'account del proprietario dell'endpoint VPC non fa parte di un'organizzazione.
I seguenti servizi supportano questa chiave:
-
AWS App Runner (prefisso:
apprunner) -
AWS Application Discovery Service (prefisso:
discovery) -
Amazon Athena (prefisso:
athena) -
AWS Cloud Map (prefisso:
servicediscovery) -
Approfondimenti sulle applicazioni Amazon CloudWatch (prefisso:
applicationinsights) -
AWS CloudFormation (prefisso:
cloudformation) -
Amazon Comprehend Medical (prefisso:
comprehendmedical) -
Ottimizzatore di calcolo AWS (prefisso:
compute-optimizer) -
AWS DataSync (prefisso:
datasync) -
Amazon Elastic Block Store (prefisso:
ebs) -
Pianificatore Amazon EventBridge (prefisso:
scheduler) -
Amazon Data Firehose (prefisso:
firehose) -
AWS HealthImaging (prefisso:
medical-imaging) -
AWS HealthLake (prefisso:
healthlake) -
AWS HealthOmics (prefisso:
omics) -
AWS Identity and Access Management (ad eccezione dell'operazione
iam:PassRole) (prefisso:iam) -
AWS IoT FleetWise (prefisso:
iotfleetwise) -
Wireless AWS IoT (prefisso:
iotwireless) -
AWS Key Management Service (prefisso:
kms) -
AWS Lambda (prefisso:
lambda) -
AWS Payment Cryptography (prefisso:
payment-cryptography) -
Amazon Polly (prefisso:
polly) -
AWS Autorità di certificazione privata (prefisso:
acm-pca) -
Cestino AWS (prefisso:
rbin) -
Amazon Rekognition (prefisso:
rekognition) -
Service Quotas (prefisso:
servicequotas) -
Amazon Simple Storage Service (prefisso:
s3) -
Gateway di archiviazione AWS (prefisso:
storagegateway) -
Contatti Strumento di gestione degli incidenti AWS Systems Manager (prefisso:
ssm-contacts) -
Amazon Textract (prefisso:
textract) -
Amazon Transcribe (prefisso:
transcribe) -
AWS Transfer Family (prefisso:
transfer)
-
-
Tipo di dati: stringa (elenco)
-
Tipo di valore: multivalore
-
Valori di esempio –
o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/
Poiché aws:VpceOrgPaths è una chiave di condizione multivalore, è necessario utilizzare gli operatori dell'insieme ForAnyValue o ForAllValues con gli operatori di condizione stringa per questa chiave. Il seguente esempio di policy di bucket di Amazon S3 consente l'accesso solo quando le richieste arrivano tramite endpoint VPC di proprietà di account in unità organizzative specifiche:
Nota
Questa chiave di condizione è attualmente supportata per un insieme di servizi AWS selezionato. L'utilizzo di questa chiave con servizi non supportati può portare a esiti di autorizzazione non intenzionali. Definisci sempre la chiave di condizione per i servizi supportati nelle tue policy.
Alcuni servizi AWS accedono alle tue risorse dalle loro reti quando agiscono per tuo conto. Se utilizzi tali servizi, dovrai modificare l'esempio di policy riportato sopra per consentire ai servizi AWS di accedere alle tue risorse dall'esterno della rete. Per ulteriori informazioni sui modelli di accesso da tenere in considerazione quando si applicano i controlli di accesso in base all'origine della richiesta, consulta Establish permissions guardrails using data perimeters.
aws:VpcSourceIp
Utilizzare questa chiave per confrontare l'indirizzo IP da cui è stata effettuata una richiesta con l'indirizzo IP specificato nella policy. In una policy, la chiave corrisponde solo se la richiesta proviene dall'indirizzo IP specificato e passa attraverso un endpoint VPC.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta solo se la richiesta viene effettuata utilizzando un endpoint VPC.
-
Tipo di dati: indirizzo IP
-
Tipo di valore: valore singolo
Per ulteriori informazioni, consulta Controllo degli accessi agli endpoint VPC tramite le policy degli endpoint nella Guida per l'utente di Amazon VPC. Analogamente all'utilizzo di aws:SourceVpc, è necessario utilizzare aws:ViaAWSService o aws:CalledVia per consentire le richieste effettuate da Servizi AWS utilizzando le sessioni di accesso inoltrato (FAS). Questo perché l'IP di origine della richiesta iniziale effettuata tramite un endpoint VPC non viene conservato nelle richieste FAS.
Nota
aws:VpcSourceIp supporta indirizzi sia IPv4 sia IPv6 e intervalli di indirizzi IP. Per un elenco di Servizi AWS che supportano IPv6, consulta Servizi AWS che supportano IPv6 nella Guida per l'utente di VPC Amazon.
La chiave di condizione aws:VpcSourceIp deve essere sempre utilizzata insieme alle chiavi di condizione aws:SourceVpc o aws:SourceVpce. In caso contrario, è possibile che le chiamate API da un VPC imprevisto che utilizza lo stesso CIDR IP o uno che si sovrappone siano consentite da una policy. Ciò può verificarsi perché i CIDR IP dei due VPC non correlati possono essere uguali o sovrapporsi. Invece, nella policy dovrebbero essere utilizzati gli ID VPC o gli ID degli endpoint VPC in quanto hanno identificatori univoci globali. Questi identificatori univoci assicurano che non si verifichino risultati imprevisti.
Nota
Quando i Servizi AWS effettuano chiamate ad altri Servizi AWS per conto dell'utente (chiamate da servizio a servizio), alcuni elementi specifici del contesto di autorizzazione di rete vengono oscurati. Se la tua policy utilizza questa chiave di condizione con le istruzioni Deny, i principali Servizio AWS potrebbero essere bloccati involontariamente. Per consentire ai Servizi AWS di funzionare correttamente mantenendo i requisiti di sicurezza, escludi i principali del servizio dalle istruzioni Deny aggiungendo la chiave di condizione aws:PrincipalIsAWSService con il valore false.
Le proprietà della risorsa
Utilizzare le chiavi di condizione seguenti per confrontare i dettagli della risorsa che è la destinazione della richiesta con le proprietà della risorsa specificate nella policy.
aws:ResourceAccount
Utilizza questa chiave per confrontare l'ID Account AWS del proprietario della risorsa richiesta con l'account della risorsa nella policy. Dopodiché, puoi consentire o negare l'accesso a tale risorsa in base all'account proprietario della stessa.
-
Disponibilità: questa chiave è sempre inclusa nel contesto della richiesta per la maggior parte delle operazioni dei servizi. Le seguenti operazioni non supportano questa chiave:
-
AWS Audit Manager
-
auditmanager:UpdateAssessmentFrameworkShare
-
-
Amazon Detective
-
detective:AcceptInvitation
-
-
AWS Directory Service
-
ds:AcceptSharedDirectory
-
-
Amazon Elastic Block Store: tutte le operazioni
-
Amazon EC2
-
ec2:AcceptTransitGatewayPeeringAttachment -
ec2:AcceptVpcEndpointConnections -
ec2:AcceptVpcPeeringConnection -
ec2:CopySnapshot -
ec2:CreateTransitGatewayPeeringAttachment -
ec2:CreateVpcEndpoint -
ec2:CreateVpcPeeringConnection
-
-
Amazon EventBridge
-
events:PutEvents: EventBridgePutEventsrichiama un router di eventi in un altro account, se tale router di eventi è stato configurato come destinazione EventBridge tra account prima del 2 marzo 2023. Per ulteriori informazioni, consulta Concedere autorizzazioni per consentire eventi da altri account AWS nella Guida per l'utente di Amazon EventBridge.
-
-
Amazon GuardDuty
-
guardduty:AcceptAdministratorInvitation
-
-
Amazon Macie
-
macie2:AcceptInvitation
-
-
Servizio OpenSearch di Amazon
-
es:AcceptInboundConnection
-
-
Amazon Route 53
-
route53:AssociateVpcWithHostedZone -
route53:CreateVPCAssociationAuthorization
-
-
AWS Security Hub CSPM
-
securityhub:AcceptAdministratorInvitation
-
-
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
Nota
Per ulteriori considerazioni sulle operazioni non supportate di cui sopra, consulta il repository di esempi di policy del perimetro di dati
Questa chiave è uguale all'ID dell'Account AWS per l'account al quale appartengono le risorse valutate nella richiesta.
Per la maggior parte delle risorse presenti nel tuo account, l'ARN contiene l'ID account del proprietario della rispettiva risorsa. Per alcune risorse, come i bucket Amazon S3, l'ARN della risorsa non include l'ID account. I due esempi seguenti mostrano la differenza tra una risorsa il cui ARN contiene un ID account e un ARN Amazon S3 privo di un ID account:
-
arn:aws:iam::123456789012:role/AWSExampleRole: ruolo IAM creato e di proprietà all'interno dell'account 123456789012. -
arn:aws:s3:::amzn-s3-demo-bucket2: bucket Amazon S3 creato e posseduto all'interno dell'account111122223333, non visualizzato nell'ARN.
Utilizza la console AWS, l'API o la CLI per trovare tutte le risorse e gli ARN corrispondenti.
Scrivi una policy che nega le autorizzazioni alle risorse in base all'ID account del proprietario della risorsa. Ad esempio, la seguente policy basata sull'identità nega l'accesso alla risorsa specificata se la risorsa non appartiene all'account specificato.
Per utilizzare questa policy, sostituisci il testo segnaposto in corsivo con le tue informazioni.
Importante
Questa policy non consente alcuna operazione. Utilizza invece l'effetto Deny, che nega esplicitamente l'accesso a tutte le risorse elencate nell'istruzione che non appartengono all'account elencato. Utilizza questa policy in combinazione con altre policy che consentono l'accesso a risorse specifiche.
Questa policy nega l'accesso a tutte le risorse per uno specifico servizio AWS, salvo qualora la risorsa appartenga all'Account AWS specificato.
Nota
Alcuni Servizi AWS richiedono l'accesso alle risorse di proprietà di AWS che sono ospitate in un altro Account AWS. L'utilizzo di aws:ResourceAccount nelle tue policy basate sull'identità potrebbe influire sulla capacità della tua identità di accedere a queste risorse.
Alcuni servizi AWS, come AWS Data Exchange, hanno la necessità di accedere a risorse esterne ai tuoi Account AWS per le normali operazioni. Se usi l'elemento aws:ResourceAccount nelle tue policy, includi istruzioni aggiuntive per creare delle esenzioni per tali servizi. La policy AWS: nega l'accesso alle risorse Amazon S3 al di fuori del tuo account, tranne AWS Data Exchange di esempio illustra come negare l'accesso in base all'account della risorsa definendo al contempo delle eccezioni per le risorse di proprietà del servizio.
Utilizza questo esempio di policy come modello per creare le tue policy personalizzate. Per ulteriori informazioni, consulta la documentazione del servizio.
aws:ResourceOrgPaths
Utilizza questa chiave per confrontare il percorso di AWS Organizations della risorsa alla quale si effettua l'accesso con il percorso nella policy. In una policy, questa chiave della condizione garantisce che la risorsa appartenga a un membro dell'account all'interno del root dell'organizzazione o delle unità organizzative (UO) specificate in AWS Organizations. Un percorso AWS Organizations è una rappresentazione testuale della struttura di un'entità Organizations. Per ulteriori informazioni sull'utilizzo e la comprensione dei percorsi, consulta la sezione . Informazioni sul percorso dell'entità AWS Organizations
-
Disponibilità: questa chiave viene inclusa nel contesto della richiesta solo se l'account che possiede la risorsa è membro di un'organizzazione. Questa chiave della condizione globale non supporta le seguenti operazioni:
-
AWS Audit Manager
-
auditmanager:UpdateAssessmentFrameworkShare
-
-
Amazon Detective
-
detective:AcceptInvitation
-
-
AWS Directory Service
-
ds:AcceptSharedDirectory
-
-
Amazon Elastic Block Store: tutte le operazioni
-
Amazon EC2
-
ec2:AcceptTransitGatewayPeeringAttachment -
ec2:AcceptVpcEndpointConnections -
ec2:AcceptVpcPeeringConnection -
ec2:CopySnapshot -
ec2:CreateTransitGatewayPeeringAttachment -
ec2:CreateVpcEndpoint -
ec2:CreateVpcPeeringConnection
-
-
Amazon EventBridge
-
events:PutEvents: EventBridgePutEventsrichiama un router di eventi in un altro account, se tale router di eventi è stato configurato come destinazione EventBridge tra account prima del 2 marzo 2023. Per ulteriori informazioni, consulta Concedere autorizzazioni per consentire eventi da altri account AWS nella Guida per l'utente di Amazon EventBridge.
-
-
Amazon GuardDuty
-
guardduty:AcceptAdministratorInvitation
-
-
Amazon Macie
-
macie2:AcceptInvitation
-
-
Servizio OpenSearch di Amazon
-
es:AcceptInboundConnection
-
-
Amazon Route 53
-
route53:AssociateVpcWithHostedZone -
route53:CreateVPCAssociationAuthorization
-
-
AWS Security Hub CSPM
-
securityhub:AcceptAdministratorInvitation
-
-
-
Tipo di dati: stringa (elenco)
-
Tipo di valore: multivalore
Nota
Per ulteriori considerazioni sulle operazioni non supportate di cui sopra, consulta il repository di esempi di policy del perimetro di dati
aws:ResourceOrgPaths è una chiave di condizione multivalore. Le chiavi multivalore possono avere più di un valore nel contesto della richiesta. È necessario utilizzare gli operatori di insieme ForAnyValue o ForAllValues con gli operatori di condizione di stringa quando si utilizza questa chiave. Per ulteriori informazioni sulle chiavi di condizione multivalore, consultare Operatori dell'insieme per le chiavi di contesto multivalore.
Ad esempio, la seguente condizione restituisce True per le risorse appartenenti all'organizzazione o-a1b2c3d4e5. Quando includi un carattere jolly, è necessario utilizzare l'operatore di condizione StringLike.
"Condition": { "ForAnyValue:StringLike": { "aws:ResourceOrgPaths":["o-a1b2c3d4e5/*"] } }
La condizione seguente restituisce True alle risorse con l'ID dell'unità organizzativa ou-ab12-11111111. Assocerà le risorse di proprietà degli account collegati all'unità organizzativa ou-ab12-11111111 o a qualsiasi unità organizzativa figlia.
"Condition": { "ForAnyValue:StringLike" : { "aws:ResourceOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/*"] }}
La seguente condizione restituisce True per le risorse di proprietà degli account collegati direttamente all'ID dell'unità organizzativa ou-ab12-22222222, ma non alle unità figlie. L'esempio seguente utilizza l'operatore di condizione StringEquals per specificare il requisito di corrispondenza esatta per l'unità organizzativa e non una corrispondenza con caratteri jolly.
"Condition": { "ForAnyValue:StringEquals" : { "aws:ResourceOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/"] }}
Nota
Alcuni Servizi AWS richiedono l'accesso alle risorse di proprietà di AWS che sono ospitate in un altro Account AWS. L'utilizzo di aws:ResourceOrgPaths nelle tue policy basate sull'identità potrebbe influire sulla capacità della tua identità di accedere a queste risorse.
Alcuni servizi AWS, come AWS Data Exchange, hanno la necessità di accedere a risorse esterne ai tuoi Account AWS per le normali operazioni. Se usi la chiave aws:ResourceOrgPaths nelle tue policy, includi istruzioni aggiuntive per creare delle esenzioni per tali servizi. La policy AWS: nega l'accesso alle risorse Amazon S3 al di fuori del tuo account, tranne AWS Data Exchange di esempio illustra come negare l'accesso in base all'account della risorsa definendo al contempo delle eccezioni per le risorse di proprietà del servizio. Puoi creare una policy simile per limitare l'accesso alle risorse all'interno di un'unita organizzativa (OU) utilizzando la chiave aws:ResourceOrgPaths, tenendo conto delle risorse di proprietà del servizio.
Utilizza questo esempio di policy come modello per creare le tue policy personalizzate. Per ulteriori informazioni, consulta la documentazione del servizio.
aws:ResourceOrgID
Utilizza questa chiave per confrontare l'identificatore dell'organizzazione in AWS Organizations a cui appartiene la risorsa richiesta con l'identificatore specificato nella policy.
-
Disponibilità: questa chiave viene inclusa nel contesto della richiesta solo se l'account che possiede la risorsa è membro di un'organizzazione. Questa chiave della condizione globale non supporta le seguenti operazioni:
-
AWS Audit Manager
-
auditmanager:UpdateAssessmentFrameworkShare
-
-
Amazon Detective
-
detective:AcceptInvitation
-
-
AWS Directory Service
-
ds:AcceptSharedDirectory
-
-
Amazon Elastic Block Store: tutte le operazioni
-
Amazon EC2
-
ec2:AcceptTransitGatewayPeeringAttachment -
ec2:AcceptVpcEndpointConnections -
ec2:AcceptVpcPeeringConnection -
ec2:CopySnapshot -
ec2:CreateTransitGatewayPeeringAttachment -
ec2:CreateVpcEndpoint -
ec2:CreateVpcPeeringConnection
-
-
Amazon EventBridge
-
events:PutEvents: EventBridgePutEventsrichiama un router di eventi in un altro account, se tale router di eventi è stato configurato come destinazione EventBridge tra account prima del 2 marzo 2023. Per ulteriori informazioni, consulta Concedere autorizzazioni per consentire eventi da altri account AWS nella Guida per l'utente di Amazon EventBridge.
-
-
Amazon GuardDuty
-
guardduty:AcceptAdministratorInvitation
-
-
Amazon Macie
-
macie2:AcceptInvitation
-
-
Servizio OpenSearch di Amazon
-
es:AcceptInboundConnection
-
-
Amazon Route 53
-
route53:AssociateVpcWithHostedZone -
route53:CreateVPCAssociationAuthorization
-
-
AWS Security Hub CSPM
-
securityhub:AcceptAdministratorInvitation
-
-
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
Nota
Per ulteriori considerazioni sulle operazioni non supportate di cui sopra, consulta il repository di esempi di policy del perimetro di dati
Questa chiave globale restituisce l'ID dell'organizzazione della risorsa per una determinata richiesta. Consente di creare regole che si applicano a tutte le risorse di un'organizzazione che sono specificate nell'elemento Resource di una policy basata sull'identità. È possibile specificare l'ID organizzazione nell'elemento condizionale. Quando aggiungi e rimuovi degli account, le policy che includono la chiave aws:ResourceOrgID includono automaticamente anche gli account corretti e non necessitano dell'aggiornamento manuale.
Ad esempio, la seguente policy impedisce al principale di aggiungere oggetti alla risorsa policy-genius-dev, a meno che la risorsa Amazon S3 non appartenga alla stessa organizzazione del principale che effettua la richiesta.
Importante
Questa policy non consente alcuna operazione. Utilizza invece l'effetto Deny, che nega esplicitamente l'accesso a tutte le risorse elencate nell'istruzione che non appartengono all'account elencato. Utilizza questa policy in combinazione con altre policy che consentono l'accesso a risorse specifiche.
Nota
Alcuni Servizi AWS richiedono l'accesso alle risorse di proprietà di AWS che sono ospitate in un altro Account AWS. L'utilizzo di aws:ResourceOrgID nelle tue policy basate sull'identità potrebbe influire sulla capacità della tua identità di accedere a queste risorse.
Alcuni servizi AWS, come AWS Data Exchange, hanno la necessità di accedere a risorse esterne ai tuoi Account AWS per le normali operazioni. Se usi la chiave aws:ResourceOrgID nelle tue policy, includi istruzioni aggiuntive per creare delle esenzioni per tali servizi. La policy AWS: nega l'accesso alle risorse Amazon S3 al di fuori del tuo account, tranne AWS Data Exchange di esempio illustra come negare l'accesso in base all'account della risorsa definendo al contempo delle eccezioni per le risorse di proprietà del servizio. Puoi creare una policy simile per limitare l'accesso alle risorse all'interno dell'organizzazione utilizzando la chiave aws:ResourceOrgID, tenendo conto delle risorse di proprietà del servizio.
Utilizza questo esempio di policy come modello per creare le tue policy personalizzate. Per ulteriori informazioni, consulta la documentazione del servizio.
Nel seguente video, scopri ulteriori informazioni su come utilizzare la chiave di condizione aws:ResourceOrgID in una policy.
aws:ResourceTag/tag-key
Utilizzare questa chiave per confrontare la coppia chiave-valore del tag specificata nella policy con la coppia chiave-valore associata alla risorsa. Ad esempio, puoi richiedere che l'accesso a una risorsa sia consentito solo se la risorsa dispone di una chiave di tag "Dept" collegata al valore "Marketing". Per ulteriori informazioni, consulta Controllo dell'accesso alle risorse AWS.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta quando la risorsa richiesta dispone già di tag collegati o nelle richieste che creano una risorsa con un tag collegato. Questa chiave viene restituita solo per le risorse che supportano l'autorizzazione basata sui tag. È presente una chiave di contesto per ogni coppia chiave-valore del tag.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
Questa chiave di contesto è formattata "aws:ResourceTag/ laddove tag-key":"tag-value"tag-key e tag-value sono una coppia chiave e valore di tag. Le chiavi dei tag non prevedono una distinzione tra lettere maiuscole e minuscole. Questo significa che se specifichi "aws:ResourceTag/TagKey1": "Value1" nell'elemento condizione della policy, la condizione corrisponderà a una chiave di tag della risorsa denominata TagKey1 o tagkey1, ma non a entrambe. I valori in queste coppie chiave/valore di tag rilevano la distinzione tra maiuscole e minuscole. Questo significa che se specifichi "aws:ResourceTag/TagKey1": "Production" nell'elemento condizione della policy, la condizione corrisponderà a un valore di tag della risorsa denominato Production, ma non corrisponderà a production o PRODUCTION.
Per esempi sull'utilizzo della chiave aws:ResourceTag per controllare l'accesso alle risorse IAM, consulta Controllo dell'accesso alle risorse AWS.
Per esempi sull'utilizzo della chiave aws:ResourceTag per controllare l'accesso ad altre risorse AWS, consulta Controllo dell'accesso alle risorse AWS mediante i tag.
Per un'esercitazione sull'utilizzo della chiave di condizione aws:ResourceTag per il controllo degli accessi basato su attributi (ABAC), consulta Tutorial IAM: Definizione delle autorizzazioni per accedere alle risorse AWS in base ai tag.
Proprietà della richiesta
Utilizzare le chiavi di condizione seguenti per confrontare i dettagli della richiesta stessa e il contenuto della richiesta con le proprietà della richiesta specificate nella policy.
aws:CalledVia
Utilizza questa chiave per confrontare i servizi nella policy con i servizi che hanno effettuato richieste per conto del principale IAM (utente o ruolo). Quando un principale effettua una richiesta a un servizio AWS, tale servizio potrebbe utilizzare le credenziali del principale per effettuare richieste successive ad altri servizi. Quando la richiesta viene effettuata utilizzando le sessioni di accesso inoltrato (FAS), questa chiave viene impostata con il valore del principale del servizio. La chiave aws:CalledVia contiene un elenco ordinato di ciascun servizio nella catena che ha effettuato le richieste per conto dell'entità principale.
Per ulteriori informazioni, consulta Inoltro delle sessioni di accesso.
-
Disponibilità: questa chiave è presente nella richiesta quando un servizio che supporta
aws:CalledViautilizza le credenziali di un principale IAM per effettuare una richiesta a un altro servizio. Questa chiave non è presente se il servizio utilizza un ruolo di servizio oppure un ruolo collegato ai servizi per effettuare una chiamata per conto del principale. Questa chiave non è presente anche quando il principale effettua la chiamata direttamente. -
Tipo di dati: stringa (elenco)
-
Tipo di valore: multivalore
Per utilizzare la chiave di condizione aws:CalledVia in una policy, è necessario fornire i principali del servizio per consentire o negare le richieste del servizio AWS. Ad esempio, puoi utilizzare AWS CloudFormation per leggere e scrivere da una tabella Amazon DynamoDB. DynamoDB utilizza quindi la crittografia fornita da AWS Key Management Service (AWS KMS).
Per consentire o negare l'accesso quando qualsiasi servizio effettua una richiesta utilizzando le credenziali del principale, utilizzare la chiave di condizione aws:ViaAWSService. Questa chiave di condizione supporta i servizi AWS.
La chiave aws:CalledVia è una chiave multivalore. Tuttavia, non è possibile applicare l'ordine utilizzando questa chiave in una condizione. Usando l'esempio precedente, l'utente 1 effettua una richiesta a CloudFormation, che chiama DynamoDB, che a sua volta chiama AWS KMS. Si tratta di tre richieste distinte. La chiamata finale a AWS KMS viene eseguita dall'utente 1 tramite CloudFormation e poi DynamoDB.
In questo caso, la chiave aws:CalledVia nel contesto della richiesta include cloudformation.amazonaws.com e dynamodb.amazonaws.com, in tale ordine. Se sei interessato al solo fatto che la chiamata sia stata effettuata tramite DynamoDB in qualche punto nella catena di richieste, puoi utilizzare questa chiave di condizione nella policy.
Ad esempio, la policy seguente consente di gestire la chiave AWS KMS denominata my-example-key, ma solo se DynamoDB è uno dei servizi richiedenti. L'operatore di condizione ForAnyValue:StringEquals assicura che DynamoDB sia uno dei servizi a effettuare chiamate. Se il principale effettua la chiamata AWS KMS direttamente, la condizione restituisce false e la richiesta non è consentita da questa policy.
Se si desidera stabilire quale servizio effettua la prima o l'ultima chiamata nella catena, è possibile utilizzare le chiavi aws:CalledViaFirst e aws:CalledViaLast. Ad esempio, il criterio seguente consente di gestire la chiave denominata my-example-key in AWS KMS. Queste operazioni AWS KMS sono consentite solo se più richieste sono state incluse nella catena. La prima richiesta deve essere fatta via CloudFormation e l'ultima via DynamoDB. Se altri servizi fanno richieste nel mezzo della catena, l'operazione è ancora consentita.
Le chiavi aws:CalledViaFirst e aws:CalledViaLast sono presenti nella richiesta quando un servizio utilizza le credenziali di un'entità IAM per chiamare un altro servizio. Indicano il primo e l'ultimo servizio che ha effettuato chiamate nella catena di richieste. Ad esempio, supponiamo che CloudFormation chiami un altro servizio denominato X Service, che chiama DynamoDB, che a sua volta chiama AWS KMS. La chiamata finale a AWS KMS viene effettuata da User 1 tramite CloudFormation, quindi X Service e poi DynamoDB. La prima chiamata è stata effettuata tramite CloudFormation e l'ultima tramite DynamoDB.
aws:CalledViaFirst
Utilizza questa chiave per confrontare i servizi nella policy con il primo servizio che ha effettuato una richiesta per conto del principale IAM (utente o ruolo). Per ulteriori informazioni, consulta aws:CalledVia.
-
Disponibilità: questa chiave è presente nella richiesta quando un servizio utilizza le credenziali di un principale IAM per effettuare almeno un'altra richiesta a un servizio diverso. Questa chiave non è presente se il servizio utilizza un ruolo di servizio oppure un ruolo collegato ai servizi per effettuare una chiamata per conto del principale. Questa chiave non è presente anche quando il principale effettua la chiamata direttamente.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
aws:CalledViaLast
Utilizza questa chiave per confrontare i servizi nella policy con l'ultimo servizio che ha effettuato una richiesta per conto del principale IAM (utente o ruolo). Per ulteriori informazioni, consulta aws:CalledVia.
-
Disponibilità: questa chiave è presente nella richiesta quando un servizio utilizza le credenziali di un principale IAM per effettuare almeno un'altra richiesta a un servizio diverso. Questa chiave non è presente se il servizio utilizza un ruolo di servizio oppure un ruolo collegato ai servizi per effettuare una chiamata per conto del principale. Questa chiave non è presente anche quando il principale effettua la chiamata direttamente.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
aws:ViaAWSService
Utilizzare questa chiave per verificare se un Servizio AWS effettua una richiesta a un altro servizio per conto dell'utente tramite sessioni di accesso inoltrato (FAS).
La chiave di contesto della richiesta restituisce true quando un servizio utilizza sessioni di accesso in avanti per effettuare una richiesta per conto del principale IAM originale. La chiave di contesto della richiesta restituisce anche false quando il principale effettua direttamente la chiamata.
-
Disponibilità: questa chiave è sempre inclusa nel contesto della richiesta.
-
Tipo di dati: booleano
-
Tipo di valore: valore singolo
aws:CurrentTime
Utilizzare questa chiave per confrontare la data e l'ora della richiesta con la data e l'ora specificate nella policy. Per visualizzare una policy di esempio che utilizza la chiave di condizione, consulta AWS: consente l'accesso in base alla data e all'ora.
-
Disponibilità: questa chiave è sempre inclusa nel contesto della richiesta.
-
Tipo di dati: data
-
Tipo di valore: valore singolo
aws:EpochTime
Utilizzare questa chiave per confrontare la data e l'ora della richiesta in formato epoch o ora Unix con il valore specificato nella policy. Questa chiave accetta anche il numero di secondi dal 1 gennaio 1970.
aws:referer
Utilizzare questa chiave per confrontare il referrer della richiesta nel browser client con il referrer specificato nella policy. Il valore del contesto della richiesta aws:referer viene fornito dal chiamante in un'intestazione HTTP. L'intestazione Referer viene inclusa in una richiesta del browser Web quando si seleziona un link in una pagina Web. L'intestazione Referer contiene l'URL della pagina Web in cui è stato selezionato il link.
-
Disponibilità: questa chiave viene inclusa nel contesto della richiesta solo se la richiesta alla risorsa AWS è stata richiamata tramite il link da un URL di una pagina Web nel browser. Questa chiave non è inclusa per le richieste a livello di programmazione perché non utilizza un link del browser per accedere alla risorsa AWS.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
Ad esempio, è possibile accedere a un oggetto Amazon S3 direttamente utilizzando un URL o utilizzando l'invocazione API diretta. Per ulteriori informazioni, consulta Operazioni delle API Amazon S3 direttamente tramite un browser Web. Quando si accede a un oggetto Amazon S3 da un URL presente in una pagina Web, l'URL della pagina Web di origine viene utilizzato in aws:referer. Quando si accede a un oggetto Amazon S3 digitando l'URL nel browser, aws:referer non è presente. Quando si richiama direttamente l'API, aws:referer non è presente. È possibile utilizzare la chiave di condizione aws:referer in una policy per autorizzare le richieste effettuate da un referente specifico, ad esempio un link su una pagina Web nel dominio dell'azienda.
avvertimento
Questa chiave deve essere utilizzata con attenzione. È pericoloso includere un valore dell'intestazione del referrer pubblicamente noto. Parti non autorizzate possono utilizzare browser modificati o personalizzati per fornire qualsiasi valore aws:referer scelto. Di conseguenza, aws:referer non deve essere utilizzato per evitare che parti non autorizzate effettuino richieste AWS dirette. È disponibile solo per consentire ai clienti di proteggere i propri contenuti digitali, come i contenuti memorizzati su Amazon S3, da riferimenti su siti di terze parti non autorizzate.
aws:RequestedRegion
Utilizzare questa chiave per confrontare la regione AWS richiamata nella richiesta con la regione specificata nella policy. È possibile utilizzare questa chiave di condizione globale per controllare quali regioni possono essere richieste. Per visualizzare le regioni AWS per ogni servizio, consulta Endpoint e quote del servizio nella Riferimenti generali di Amazon Web Services.
-
Disponibilità: questa chiave è sempre inclusa nel contesto della richiesta.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
I servizi globali, ad esempio IAM, dispongono di un unico endpoint. Poiché questo endpoint si trova fisicamente nella regione Stati Uniti orientali (Virginia settentrionale), le chiamate IAM vengono sempre effettuate alla regione us-east-1. Ad esempio, se crei una policy che nega l'accesso a tutti i servizi qualora la regione richiesta non fosse us-west-2 allora le chiamate IAM non andranno mai a buon fine. Per visualizzare un esempio sulla risoluzione di questo problema, consulta NotAction con Deny.
Nota
La chiave di condizione aws:RequestedRegion consente di controllare quale endpoint di un servizio è richiamato ma non controlla l'impatto dell'operazione. Alcuni servizi hanno impatti su più regioni.
Ad esempio, Amazon S3 dispone di operazioni API che si estendono a diverse regioni.
-
È possibile richiamare
s3:PutBucketReplicationin una regione (che è interessata dalla chiave di condizioneaws:RequestedRegion) e altre regioni vengono interessate in base alle impostazioni di configurazione delle repliche. -
Puoi richiamare
s3:CreateBucketper creare un bucket in un'altra regione e utilizzare las3:LocationConstraintchiave di condizione per controllare le regioni applicabili.
Puoi usare questa chiave di contesto per limitare l'accesso ai servizi AWS all'interno di un determinato gruppo di regioni. Ad esempio, la seguente policy consente a un utente di visualizzare tutte le istanze Amazon EC2 nella Console di gestione AWS. Tuttavia consente loro di modificare solo le istanze in Irlanda (eu-west-1), a Londra (eu-west-2) o Parigi (eu-west-3).
aws:RequestTag/tag-key
Utilizzare questa chiave per confrontare la coppia chiave-valore del tag passata nella richiesta con la coppia del tag specificata nella policy. Ad esempio, è possibile controllare che la richiesta includa la chiave del tag "Dept" e che abbia il valore "Accounting". Per ulteriori informazioni, consulta Controllo dell'accesso durante le richieste AWS.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta quando le coppie chiave-valore dei tag vengono passate nella richiesta. Quando più tag vengono passati nella richiesta, è presente una chiave di contesto per ogni coppia chiave-valore dei tag.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
Questa chiave di contesto è formattata "aws:RequestTag/ laddove tag-key":"tag-value"tag-key e tag-value sono una coppia chiave e valore di tag. Le chiavi dei tag non prevedono una distinzione tra lettere maiuscole e minuscole. Questo significa che se specifichi "aws:RequestTag/TagKey1": "Value1" nell'elemento condizione della policy, la condizione corrisponderà a una chiave di tag della richiesta denominata TagKey1 o tagkey1, ma non a entrambi. I valori in queste coppie chiave/valore di tag rilevano la distinzione tra maiuscole e minuscole. Questo significa che se specifichi "aws:RequestTag/TagKey1": "Production" nell'elemento condizione della policy, la condizione corrisponderà a un valore di tag della richiesta denominato Production, ma non corrisponderà a production o PRODUCTION.
Questo esempio mostra che, sebbene la chiave abbia un singolo valore, è comunque possibile utilizzare più coppie chiave-valore in una richiesta se le chiavi sono diverse.
aws:TagKeys
Utilizzare questa chiave per confrontare le chiavi dei tag in una richiesta con quelle specificate nella policy. Nell'utilizzo delle policy per controllare gli accessi tramite tag, è consigliabile utilizzare la chiave di condizione aws:TagKeys per definire le chiavi di tag ammesse. Per esempi di policy e ulteriori informazioni, consultare Controllo dell'accesso in base alle chiavi di tag.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta se l'operazione supporta il passaggio di tag nella richiesta.
-
Tipo di dati: stringa (elenco)
-
Tipo di valore: multivalore
Questa chiave di contesto ha il formato "aws:TagKeys":", dove tag-key"tag-key è una lista di chiavi di tag senza valori (ad esempio ["Dept","Cost-Center"]).
Poiché è possibile includere più coppie chiave-valore dei tag in una richiesta, il contenuto della richiesta potrebbe essere una richiesta multivalore. In questo caso, devi usare gli operatori su set ForAllValues o ForAnyValue. Per ulteriori informazioni, consulta Operatori dell'insieme per le chiavi di contesto multivalore.
Alcuni servizi supportano il tagging con operazioni sulle risorse, come la creazione, la modifica o l'eliminazione di una risorsa. Per consentire il tagging e le operazioni come chiamata singola, è necessario creare una policy che comprende le operazioni di tagging e di modifica della risorsa. È quindi possibile utilizzare la chiave di condizione aws:TagKeys per implementare nella richiesta specifiche chiavi di tag. Ad esempio, per limitare i tag quando un utente crea uno snapshot Amazon EC2, è necessario includere nella policy l'operazione di creazione ec2:CreateSnapshot e l'operazione di tagging ec2:CreateTags. Per visualizzare una policy per questo scenario che utilizza aws:TagKeys, consulta Creazione di uno snapshot con tag nella Guida per l'utente di Amazon EC2.
aws:SecureTransport
Utilizzare questa chiave per verificare se la richiesta è stata inviata utilizzando TLS. Il contesto della richiesta restituisce true o false. In una policy, è possibile consentire operazioni specifiche solo se la richiesta viene inviata tramite TLS.
-
Disponibilità: questa chiave è sempre inclusa nel contesto della richiesta.
-
Tipo di dati: booleano
-
Tipo di valore: valore singolo
Nota
Quando i Servizi AWS effettuano chiamate ad altri Servizi AWS per conto dell'utente (chiamate da servizio a servizio), alcuni elementi specifici del contesto di autorizzazione di rete vengono oscurati. Se la tua policy utilizza questa chiave di condizione con le istruzioni Deny, i principali Servizio AWS potrebbero essere bloccati involontariamente. Per consentire ai Servizi AWS di funzionare correttamente mantenendo i requisiti di sicurezza, escludi i principali del servizio dalle istruzioni Deny aggiungendo la chiave di condizione aws:PrincipalIsAWSService con il valore false. Ad esempio:
{ "Effect": "Deny", "Action": "s3:*", "Resource": "*", "Condition": { "Bool": { "aws:SecureTransport": "false", "aws:PrincipalIsAWSService": "false" } } }
Questa policy nega l'accesso alle operazioni di Amazon S3 quando non viene utilizzato HTTPS (aws:SecureTransport è False), ma solo per i principali di servizi non AWS. Ciò garantisce che le restrizioni condizionali si applichino a tutti i principali, ad eccezione dei principali dei Servizio AWS.
aws:SourceAccount
Utilizza questa chiave per confrontare l'ID account della risorsa che effettua una richiesta da servizio a servizio con l'ID account specificato nella policy, ma solo quando la richiesta è effettuata da un principale del servizio AWS.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta solo quando la chiamata alla risorsa viene effettuata direttamente da un principale del servizio AWS per conto di una risorsa per la quale la configurazione ha attivato la richiesta da servizio a servizio. Il servizio chiamante deve passare l'ID account della risorsa originale al servizio chiamato.
Nota
Questa chiave fornisce un meccanismo uniforme per imporre un controllo confused deputy tra i Servizi AWS. Tuttavia, non tutte le integrazioni di servizi richiedono l'uso di questa chiave di condizione globale. Per ulteriori informazioni sui meccanismi specifici del servizio di chiamata per mitigare i rischi di confused deputy tra servizi, consulta la documentazione dei Servizi AWS.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
È possibile utilizzare questa chiave di condizione per garantire che un servizio di chiamata possa accedere alla risorsa solo quando la richiesta proviene da un account specifico. Ad esempio, puoi allegare la seguente policy di controllo delle risorse (RCP) per negare le richieste dei principali del servizio nei confronti dei bucket Amazon S3, a meno che non siano state attivate da una risorsa nell'account specificato. Questa policy applica il controllo solo sulle richieste dei principali del servizio ("Bool": {"aws:PrincipalIsAWSService": "true"}) che hanno la chiave aws:SourceAccount ("Null": {"aws:SourceAccount":
"false"}), in modo che le integrazioni di servizi che non richiedono l'uso di questa chiave e le chiamate da parte dei principali non vengano influenzate. Se la chiave aws:SourceAccount è presente nel contesto della richiesta, la condizione Null verrà valutata come uguale a true, determinando l'applicazione della chiave aws:SourceAccount.
Nelle policy basate sulle risorse in cui il principale è un principale Servizio AWS, utilizza la chiave per limitare le autorizzazioni concesse al servizio. Ad esempio, quando un bucket Amazon S3 è configurato per inviare notifiche a un argomento Amazon SNS, il servizio Amazon S3 richiama l'operazione API sns:Publish per tutti gli eventi configurati. Nella policy di argomento che autorizza l'operazione sns:Publish, imposta il valore della chiave di condizione sull'ID account del bucket Amazon S3.
aws:SourceArn
Utilizza questa chiave per confrontare il nome della risorsa Amazon (ARN) della risorsa che effettua una richiesta di servizio con l'ARN specificato nella policy, ma solo quando la richiesta è effettuata da un principale del servizio AWS. Quando l'ARN d'origine include l'ID account, non è necessario utilizzare aws:SourceAccount con aws:SourceArn.
Questa chiave non funziona con l'ARN del principale che effettua la richiesta. Utilizza invece aws:PrincipalArn.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta solo quando la chiamata alla risorsa viene effettuata direttamente da un principale del servizio AWS per conto di una risorsa per la quale la configurazione ha attivato la richiesta da servizio a servizio. Il servizio chiamante passa l'ARN della risorsa originale al servizio chiamato.
Nota
Questa chiave fornisce un meccanismo uniforme per imporre un controllo confused deputy tra i Servizi AWS. Tuttavia, non tutte le integrazioni di servizi richiedono l'uso di questa chiave di condizione globale. Per ulteriori informazioni sui meccanismi specifici del servizio di chiamata per mitigare i rischi di confused deputy tra servizi, consulta la documentazione dei Servizi AWS.
-
Tipo di dati: ARN
AWS consiglia di utilizzare operatori ARN invece di operatori stringa quando si confrontano gli ARN.
-
Tipo di valore: valore singolo
È possibile utilizzare questa chiave di condizione per garantire che un servizio di chiamata possa accedere alla risorsa solo quando la richiesta proviene da una risorsa specifica. Quando utilizzi una policy basata sulle risorse con un principale Servizio AWS come Principal, imposta il valore di questa chiave di condizione sull'ARN della risorsa a cui desideri limitare l'accesso. Ad esempio, quando un bucket Amazon S3 è configurato per inviare notifiche a un argomento Amazon SNS, il servizio Amazon S3 richiama l'operazione API sns:Publish per tutti gli eventi configurati. Nella policy di argomento che consente l'operazione sns:Publish, imposta il valore della chiave di condizione sull'ARN del bucket Amazon S3. Per i suggerimenti su quando utilizzare questa chiave di condizione nelle policy basate sulle risorse, consulta la documentazione per i Servizi AWS che stai utilizzando.
aws:SourceOrgID
Utilizza questa chiave per confrontare l'ID organizzazione della risorsa che effettua una richiesta da servizio a servizio con l'ID account specificato nella policy, ma solo quando la richiesta è effettuata da un principale del servizio AWS. Quando aggiungi e rimuovi gli account da un'organizzazione in AWS Organizations, le policy che includono la chiave aws:SourceOrgID includono automaticamente anche gli account corretti e non necessitano dell'aggiornamento manuale.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta solo quando la chiamata alla risorsa viene effettuata direttamente da un principale del servizio AWS per conto di una risorsa di proprietà di un account membro di un'organizzazione. Il servizio chiamante passa l'ID dell'organizzazione della risorsa originale al servizio chiamato.
Nota
Questa chiave fornisce un meccanismo uniforme per imporre un controllo confused deputy tra i Servizi AWS. Tuttavia, non tutte le integrazioni di servizi richiedono l'uso di questa chiave di condizione globale. Per ulteriori informazioni sui meccanismi specifici del servizio di chiamata per mitigare i rischi di confused deputy tra servizi, consulta la documentazione dei Servizi AWS.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
È possibile utilizzare questa chiave di condizione per garantire che un servizio di chiamata possa accedere alla risorsa solo quando la richiesta proviene da una organizzazione specifica. Ad esempio, puoi collegare la seguente policy di controllo delle risorse (RCP) per negare le richieste dei principali del servizio nei confronti dei bucket Amazon S3, a meno che non siano state attivate da una risorsa nell'organizzazione AWS specificata. Questa policy applica il controllo solo sulle richieste dei principali del servizio ("Bool": {"aws:PrincipalIsAWSService":
"true"}) che hanno la chiave aws:SourceAccount ("Null": {"aws:SourceAccount": "false"}), in modo che le integrazioni di servizi che non richiedono l'uso di questa chiave e le chiamate da parte dei principali non vengano influenzate. Se la chiave aws:SourceAccount è presente nel contesto della richiesta, la condizione Null verrà valutata come uguale a true, determinando l'applicazione della chiave aws:SourceOrgID. Utilizziamo invece aws:SourceAccount al posto di aws:SourceOrgID nell'operatore di condizione Null in modo che il controllo si applichi ancora se la richiesta proviene da un account che non appartiene a un'organizzazione.
aws:SourceOrgPaths
Utilizza questa chiave per confrontare il percorso AWS Organizations della risorsa che effettua una richiesta da servizio a servizio con l'ID account specificato nella policy, ma solo quando la richiesta è effettuata da un principale del servizio AWS. Un percorso AWS Organizations è una rappresentazione testuale della struttura di un'entità AWS Organizations. Per ulteriori informazioni sull'utilizzo e la conoscenza dei percorsi, consulta Comprendere il percorso dell'entità AWS Organizations.
-
Disponibilità: questa chiave è inclusa nel contesto della richiesta solo quando la chiamata alla risorsa viene effettuata direttamente da un principale del servizio AWS per conto di una risorsa di proprietà di un account membro di un'organizzazione. Il servizio chiamante passa il percorso dell'organizzazione della risorsa originale al servizio chiamato.
Nota
Questa chiave fornisce un meccanismo uniforme per imporre un controllo confused deputy tra i Servizi AWS. Tuttavia, non tutte le integrazioni di servizi richiedono l'uso di questa chiave di condizione globale. Per ulteriori informazioni sui meccanismi specifici del servizio di chiamata per mitigare i rischi di confused deputy tra servizi, consulta la documentazione dei Servizi AWS.
-
Tipo di dati: stringa (elenco)
-
Tipo di valore: multivalore
Utilizza questa chiave di condizione per garantire che un servizio chiamante possa accedere alla risorsa solo quando la richiesta proviene da una specifica unità organizzativa (UO) in AWS Organizations.
Analogamente a aws:SourceOrgID, per evitare l'impatto sulle integrazioni di servizi che non richiedono l'uso di questa chiave, utilizza l'operatore di condizione Null con la chiave di condizione aws:SourceAccount in modo che il controllo continui ad essere applicato se la richiesta proviene da un account che non appartiene a un'organizzazione.
{ "Condition": { "ForAllValues:StringNotLikeIfExists": { "aws:SourceOrgPaths": "o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/" }, "Null": { "aws:SourceAccount": "false" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } }
aws:SourceOrgPaths è una chiave di condizione multivalore. Le chiavi multivalore possono avere più di un valore nel contesto della richiesta. È necessario utilizzare gli operatori di insieme ForAnyValue o ForAllValues con gli operatori di condizione di stringa quando si utilizza questa chiave. Per ulteriori informazioni sulle chiavi di condizione multivalore, consultare Operatori dell'insieme per le chiavi di contesto multivalore.
aws:UserAgent
Utilizzare questa chiave per confrontare l'applicazione client del richiedente con l'applicazione specificata nella policy.
-
Disponibilità: questa chiave è sempre inclusa nel contesto della richiesta.
-
Tipo di dati: stringa
-
Tipo di valore: valore singolo
avvertimento
Questa chiave deve essere utilizzata con attenzione. Poiché il valore aws:UserAgent viene fornito dall'intermediario in un'intestazione HTTP, le parti non autorizzate possono utilizzare browser modificati o personalizzati per fornire qualsiasi valore aws:UserAgent da essi scelto. Di conseguenza, aws:UserAgent non deve essere utilizzato per evitare che parti non autorizzate effettuino richieste AWS dirette. Puoi utilizzarlo per consentire solo applicazioni client specifiche e solo dopo il test della policy.
Altre chiavi di condizione cross-service
AWS STS supporta chiavi di condizione di federazione basate su SAML e chiavi di condizione multiservizio per la federazione OIDC. Queste chiavi sono disponibili quando un utente che è stato federato tramite OIDC o SAML esegue operazioni AWS in altri servizi.