Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AWS clés contextuelles de condition globale
Lorsqu'un principal fait une demande à AWS, AWS rassemble les informations de la demande dans un contexte de demande. Vous pouvez utiliser l'Condition
élément d'une JSON politique pour comparer les clés dans le contexte de la demande avec les valeurs clés que vous spécifiez dans votre stratégie. Les informations sur les requêtes proviennent de différentes sources, notamment du principal qui fait la requête, de la ressource sur laquelle porte la requête et des métadonnées relatives à la requête elle-même.
Les clés de condition globales peuvent être utilisées dans tous les services AWS
. Bien que ces clés de condition puissent être utilisées dans toutes les politiques, elles ne sont pas disponibles dans tous les contextes de requête. Par exemple, la clé de condition aws:SourceAccount
n’est disponible que lorsque l’appel à votre ressource est effectué directement par un principal de service AWS. Pour savoir quand une clé globale figure dans le contexte de la requête, consultez les informations Disponibilité pour chaque clé.
Certains services créent leurs propres clés de condition qui sont disponibles dans le contexte de requête pour d’autres services. Les clés de condition interservices sont un type de clé de condition globale qui inclut un préfixe correspondant au nom du service, tel que ec2:
oulambda:
, mais qui est disponible dans d’autres services.
Les clés de condition spécifiques au service sont définies pour être utilisées avec un service individuel AWS . Par exemple, Amazon S3 vous permet de rédiger une politique avec la clé de condition s3:VersionId
pour limiter l’accès à une version spécifique d’un objet Amazon S3. Cette clé de condition est propre au service, ce qui signifie qu’elle ne fonctionne qu’avec les requêtes adressées au service Amazon S3. Pour les clés de condition spécifiques à un service, consultez Actions, ressources et clés de condition pour les AWS services et choisissez le service dont vous souhaitez afficher les clés.
Note
Si vous utilisez des clés de condition qui ne sont disponibles que dans certaines circonstances, vous pouvez utiliser les IfExistsversions des opérateurs de condition. Si les clés de condition ne figurent pas dans le contexte de la demande, l'évaluation de la politique peut échouer. Par exemple, utilisez le bloc de condition suivant avec ...IfExists
les opérateurs à mettre en correspondance lorsqu'une demande provient d'une plage d'adresses IP spécifique ou d'une plage d'adresses IP spécifiqueVPC. Si l'une des clés, ou les deux, ne figurent pas dans le contexte de la demande, la condition renvoie toujours true
. Les valeurs ne sont vérifiées que si la clé spécifiée figure dans le contexte de la demande. Pour plus d’informations sur la manière dont une politique est évaluée lorsqu’une clé n’est pas présente pour d’autres opérateurs, consultez la section Opérateurs de condition.
"Condition": {
"IpAddressIfExists": {"aws:SourceIp" : ["xxx"] },
"StringEqualsIfExists" : {"aws:SourceVpc" : ["yyy"]}
}
Important
Pour comparer votre condition à un contexte de demande avec plusieurs valeurs de clé, vous devez utiliser les opérateurs d'ensemble ForAllValues
ou ForAnyValue
. Utilisez des opérateurs d'ensemble uniquement avec des clés de condition à valeurs multiples. N'utilisez pas d'opérateurs d'ensemble avec des clés de condition à valeur unique. Pour de plus amples informations, veuillez consulter Clés de contexte à valeurs multiples.
Propriétés du principal | Propriétés d’une session de rôle | Propriétés du réseau | Propriétés de la ressource | Propriétés de la requête |
---|---|---|---|---|
AWS : EC2 InstanceSourcePrivate IPv4 |
Clés de condition sensibles
Les clés de condition suivantes sont considérées comme sensibles, car leurs valeurs sont générées automatiquement. Le recours à des caractères génériques dans ces clés de condition ne répond à aucun cas d’utilisation valable, même avec une sous-chaîne de la valeur de la clé contenant un caractère générique. En effet, le caractère générique peut faire correspondre la clé de la condition à n’importe quelle valeur, ce qui peut présenter un risque pour la sécurité.
Propriétés du principal
Utilisez les clés de condition suivantes pour comparer les détails concernant le principal qui effectue la requête avec les propriétés du principal que vous spécifiez dans la politique. Pour obtenir la liste des principaux qui peuvent effectuer des requêtes, consultez Comment spécifier un principal.
Table des matières
lois : PrincipalArn
Utilisez cette clé pour comparer le nom de ressource Amazon (ARN) du principal qui a fait la demande avec ARN celui que vous spécifiez dans la politique. Pour IAM les rôles, le contexte ARN de demande renvoie le rôle, et non celui ARN de l'utilisateur qui a assumé le rôle.
-
Availability (Disponibilité) : cette clé figure dans le contexte de la demande pour toutes les demandes signées. Les demandes anonymes n'incluent pas cette clé. Vous pouvez spécifier les types de mandataires suivants dans cette clé de condition :
-
Rôle IAM
-
Utilisateur IAM
-
AWS STS session utilisateur fédérée
-
Compte AWS utilisateur root
-
-
Type de données — ARN
AWS recommande d'utiliser des ARNopérateurs plutôt que des opérateurs de chaîne lors de la comparaisonARNs.
-
Type de valeur – À valeur unique
-
Valeurs d’exemple La liste suivante indique la valeur de contexte de requête renvoyée pour les différents types de principaux que vous pouvez spécifier dans la clé de condition
aws:PrincipalArn
:-
IAMrole — Le contexte de demande contient la valeur suivante pour la clé de condition
aws:PrincipalArn
. Ne spécifiez pas la session de rôle assumée ARN comme valeur pour cette clé de condition. Pour en savoir plus sur le rôle présumé de session principale, reportez-vous à la section Principaux de séance de rôle.arn:aws:iam::123456789012:role/role-name
-
IAMuser — Le contexte de demande contient la valeur suivante pour la clé de condition
aws:PrincipalArn
.arn:aws:iam::123456789012:user/
user-name
-
AWS STS sessions utilisateur fédérées : le contexte de demande contient la valeur suivante pour la clé
aws:PrincipalArn
de condition.arn:aws:sts::123456789012:federated-user/
user-name
-
Compte AWS utilisateur root — Le contexte de demande contient la valeur suivante pour la clé de condition
aws:PrincipalArn
. Lorsque vous spécifiez l'utilisateur root ARN comme valeur de la clé deaws:PrincipalArn
condition, cela limite les autorisations uniquement pour l'utilisateur root du Compte AWS. Cela est différent de la spécification de l'utilisateur root ARN dans l'élément principal d'une politique basée sur les ressources, qui délègue l'autorité au. Compte AWS Pour plus d'informations sur la spécification de l'utilisateur root ARN dans l'élément principal d'une politique basée sur les ressources, consultez. Compte AWS principesarn:aws:iam::123456789012:root
-
Vous pouvez spécifier l'utilisateur root ARN comme valeur de clé de condition aws:PrincipalArn
dans les politiques AWS Organizations de contrôle des services (SCPs). SCPssont un type de politique d'organisation utilisé pour gérer les autorisations au sein de votre organisation et n'affectent que les comptes des membres de l'organisation. An SCP restreint les autorisations accordées aux IAM utilisateurs et aux rôles dans les comptes membres, y compris l'utilisateur root du compte membre. Pour plus d'informations sur les effets SCPs sur les autorisations, consultez la section SCPEffets sur les autorisations dans le Guide de l'utilisateur des Organizations.
lois : PrincipalAccount
Utilisez cette clé pour comparer le compte auquel appartient le principal demandeur avec l'identifiant de compte spécifié dans la politique. Pour les demandes anonymes, le contexte de la demande renvoie anonymous
.
-
Disponibilité : cette clé figure dans le contexte de la demande pour toutes les demandes, y compris les requêtes anonymes.
-
Types de données – Chaîne
-
Type de valeur – À valeur unique
Dans l'exemple suivant, l'accès est refusé, sauf aux principaux possédant le numéro de compte 123456789012
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAccessFromPrincipalNotInSpecificAccount", "Action": "
service
:*", "Effect": "Deny", "Resource": [ "arn:aws:service:region:accountID:resource
" ], "Condition": { "StringNotEquals": { "aws:PrincipalAccount": [ "123456789012" ] } } } ] }
lois : PrincipalOrgPaths
Utilisez cette clé pour comparer le AWS Organizations chemin du principal qui fait la demande avec le chemin indiqué dans la politique. Ce principal peut être un IAM utilisateur, un IAM rôle, un utilisateur fédéré ou Utilisateur racine d'un compte AWS. Dans une politique, cette clé de condition garantit que le demandeur est membre du compte au sein de la racine de l'organisation ou des unités organisationnelles (OUs) spécifiées dans AWS Organizations. Un AWS Organizations chemin est une représentation textuelle de la structure d'une entité Organizations. Pour de plus amples informations sur l'utilisation et la compréhension des chemins, veuillez consulter Comprendre le chemin d'entité AWS Organizations.
-
Availability (Disponibilité) : cette clé ne figure dans le contexte de la demande que si le principal est membre d'une organisation. Les demandes anonymes n'incluent pas cette clé.
-
Type de données – Chaîne (liste)
-
Type de valeur – À valeur multiple
Note
IDsLes organisations sont uniques au niveau mondial, mais l'unité d'organisation IDs et la racine ne IDs sont uniques qu'au sein d'une organisation. Cela signifie qu'aucune organisation ne partage le même ID d'organisation. Toutefois, une autre organisation peut avoir le même ID d'unité d'organisation ou ID racine que vous. Nous vous recommandons de toujours inclure l'ID d'organisation lorsque vous spécifiez une unité d'organisation ou une racine.
Par exemple, la condition suivante renvoie true
les principaux des comptes rattachés directement à l'unité d'organisationou-ab12-22222222
, mais pas à son enfantOUs.
"Condition" : { "ForAnyValue:StringEquals" : { "aws:PrincipalOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/"] }}
La condition suivante s'applique true
aux titulaires d'un compte rattaché directement à l'UO ou à l'un de ses enfantsOUs. Lorsque vous incluez un caractère générique, vous devez utiliser l'opérateur de condition StringLike
.
"Condition" : { "ForAnyValue:StringLike" : { "aws:PrincipalOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/*"] }}
La condition suivante s'true
applique aux principaux d'un compte rattaché directement à l'un des enfantsOUs, mais pas directement à l'unité d'organisation parent. La condition précédente s'applique à l'unité d'organisation ou à tous les enfants. La condition suivante s'applique uniquement aux enfants (et aux enfants de ces enfants).
"Condition" : { "ForAnyValue:StringLike" : { "aws:PrincipalOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/ou-*"] }}
La condition suivante autorise l'accès à chaque principal de l'organisation o-a1b2c3d4e5
, quelle que soit l'unité d'organisation parent.
"Condition" : { "ForAnyValue:StringLike" : { "aws:PrincipalOrgPaths":["o-a1b2c3d4e5/*"] }}
aws:PrincipalOrgPaths
est une clé de condition à valeurs multiples. Les clés multivaluées peuvent avoir plusieurs valeurs dans le contexte de la demande. Lorsque vous utilisez plusieurs valeurs avec l'opérateur de condition ForAnyValue
, le chemin d'accès du principal doit correspondre à l'un des chemins spécifiés dans la politique. Pour de plus amples informations sur les clés de condition à valeurs multiples, veuillez consulter Clés de contexte à valeurs multiples.
"Condition": { "ForAnyValue:StringLike": { "aws:PrincipalOrgPaths": [ "o-a1b2c3d4e5/r-ab12/ou-ab12-33333333/*", "o-a1b2c3d4e5/r-ab12/ou-ab12-22222222/*" ] } }
lois : PrincipalOrg ID
Utilisez cette clé pour comparer l'identifiant de l'organisation AWS Organizations à laquelle appartient le principal demandeur avec l'identifiant spécifié dans la politique.
-
Availability (Disponibilité) : cette clé ne figure dans le contexte de la demande que si le principal est membre d'une organisation. Les demandes anonymes n'incluent pas cette clé.
-
Types de données – Chaîne
-
Type de valeur – À valeur unique
Cette clé globale constitue une alternative à la liste de tous IDs les AWS comptes d'une organisation. Vous pouvez utiliser cette clé de condition pour simplifier la spécification de l'élément Principal
d'une politique basée sur une ressource. Vous pouvez spécifier l'ID de l'organisation dans l'élément Condition. Lorsque vous ajoutez et supprimez des comptes, les politiques qui contiennent la clé aws:PrincipalOrgID
ajoutent automatiquement les bons comptes et ne nécessitent pas de mise à jour manuelle.
Par exemple, la politique de compartiment Amazon S3 suivante permet aux membres de n'importe quel compte de l'organisation o-xxxxxxxxxxx
d'ajouter un objet dans le compartiment amzn-s3-demo-bucket
.
{ "Version": "2012-10-17", "Statement": { "Sid": "AllowPutObject", "Effect": "Allow", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": {"StringEquals": {"aws:PrincipalOrgID":"o-xxxxxxxxxxx"} } } }
Note
Cette condition globale s'applique également au compte de gestion d'une organisation AWS . Cette politique empêche tous les principaux en dehors de l'organisation spécifiée d'accéder au compartiment Amazon S3. Cela inclut tous AWS les services qui interagissent avec vos ressources internes, tels que AWS CloudTrail l'envoi de données de journal vers vos compartiments Amazon S3. Pour savoir comment accorder l'accès aux AWS services en toute sécurité, consultezlois : PrincipalIs AWSService.
Pour plus d'informations AWS Organizations, voir Qu'est-ce que c'est AWS Organizations ? dans le guide de AWS Organizations l'utilisateur.
aws :PrincipalTag//tag-key
Utilisez cette clé pour comparer la balise attachée au principal effectuant la demande avec la balise spécifiée dans la politique. Si plusieurs balises sont attachées au principal, le contexte de la demande inclut une clé aws:PrincipalTag
pour chaque clé de balise attachée.
-
Disponibilité — Cette clé est incluse dans le contexte de la demande si le principal utilise un IAM utilisateur auquel des balises sont attachées. Elle est incluse pour un mandataire utilisant un rôle IAM avec des balises attachées ou des balises de session. Les demandes anonymes n'incluent pas cette clé.
-
Types de données – Chaîne
-
Type de valeur – À valeur unique
Vous pouvez ajouter des attributs personnalisés à un utilisateur ou un rôle sous la forme d'une paire clé-valeur. Pour de plus amples informations sur les balises IAM, consultez Balises pour les ressources AWS Identity and Access Management. Vous pouvez utiliser aws:PrincipalTag
pour le contrôle d'accès des principaux AWS
.
Cet exemple montre comment créer une politique basée sur l'identité qui permet aux utilisateurs dotés du department=hr
tag de gérer des IAM utilisateurs, des groupes ou des rôles. Pour utiliser cette politique, remplacez celle de italicized placeholder text
l'exemple de politique par vos propres informations. Ensuite, suivez les instructions fournies dans create a policy (créer une politique) ou edit a policy (modifier une politique).
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:*", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalTag/
department
": "hr
" } } } ] }
lois : PrincipalIs AWSService
Utilisez cette touche pour vérifier si l'appel à votre ressource est effectué directement par un directeur AWS de service. Par exemple, AWS CloudTrail utilise le principal de service cloudtrail.amazonaws.com
pour écrire des journaux dans votre compartiment Amazon S3. La clé de contexte de demande est définie sur true lorsqu'un service utilise un principal de service pour effectuer une action directe sur vos ressources. La clé de contexte est définie sur false si le service utilise les informations d'identification d'un IAM principal pour effectuer une demande au nom du principal. Elle est également définie sur false si le service utilise un rôle de service ou un rôle lié à un service pour effectuer un appel au nom du principal.
-
Disponibilité — Cette clé est présente dans le contexte de demande pour toutes les API demandes signées qui utilisent des AWS informations d'identification. Les demandes anonymes n'incluent pas cette clé.
-
Types de données – Booléen
-
Type de valeur – À valeur unique
Vous pouvez utiliser cette clé de condition pour limiter l'accès à vos identités fiables et aux emplacements réseau attendus tout en accordant l'accès aux AWS services en toute sécurité.
Dans l'exemple de politique de compartiment Amazon S3 suivant, l'accès au compartiment est restreint sauf si la demande provient vpc-111bbb22
ou provient d'un principal de service, tel que CloudTrail.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExpectedNetworkServicePrincipal", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::
amzn-s3-demo-bucket1
/AWS Logs/AccountNumber
/*", "Condition": { "StringNotEqualsIfExists": { "aws:SourceVpc": "vpc-111bbb22" }, "BoolIfExists": { "aws:PrincipalIsAWSService": "false" } } } ] }
Dans la vidéo suivante, découvrez comment utiliser la clé de condition aws:PrincipalIsAWSService
dans une politique.
lois : PrincipalServiceName
Utilisez cette clé pour comparer le nom du principal de service dans la politique au principal de service qui effectue des demandes à vos ressources. Vous pouvez utiliser cette clé pour vérifier si cet appel est effectué par un principal de service spécifique. Lorsqu'un principal de service effectue une demande directe à vos ressources, la clé aws:PrincipalServiceName
contient le nom du principal de service. Par exemple, le nom principal du AWS CloudTrail service estcloudtrail.amazonaws.com
.
-
Disponibilité — Cette clé est présente dans la demande lorsque l'appel est effectué par un directeur AWS de service. Cette clé n'est présente dans aucun autre cas, notamment les suivants :
-
Si le service utilise un rôle de service ou un rôle lié à un service pour effectuer un appel au nom du principal.
-
Si le service utilise les informations d'identification d'un IAM mandant pour faire une demande au nom du mandant.
-
Si l'appel est effectué directement par un IAM directeur.
-
Si l'appel est passé par un demandeur anonyme.
-
-
Types de données – Chaîne
-
Type de valeur – À valeur unique
Vous pouvez utiliser cette clé de condition pour limiter l'accès à vos identités fiables et aux emplacements réseau attendus tout en accordant l'accès à un AWS service en toute sécurité.
Dans l'exemple de politique de compartiment Amazon S3 suivant, l'accès au compartiment est restreint sauf si la demande provient vpc-111bbb22
ou provient d'un principal de service, tel que CloudTrail.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExpectedNetworkServicePrincipal", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::
amzn-s3-demo-bucket1
/AWS Logs/AccountNumber
/*", "Condition": { "StringNotEqualsIfExists": { "aws:SourceVpc": "vpc-111bbb22", "aws:PrincipalServiceName": "cloudtrail.amazonaws.com" } } } ] }
lois : PrincipalServiceNamesList
Cette clé fournit une liste de tous les noms des principal de service appartenant au service. Il s'agit d'une clé de condition avancée. Vous pouvez l'utiliser pour empêcher le service d'accéder à vos ressources à partir d'une région spécifique uniquement. Certains services peuvent créer des principaux de services régionaux pour indiquer une instance particulière du service dans une région spécifique. Vous pouvez limiter l'accès à une ressource à une instance particulière du service. Lorsqu'un principal de service effectue une demande directe à vos ressources, aws:PrincipalServiceNamesList
contient une liste non ordonnée de tous les noms des principaux de services associés à l'instance régionale du service.
-
Disponibilité — Cette clé est présente dans la demande lorsque l'appel est effectué par un directeur AWS de service. Cette clé n'est présente dans aucun autre cas, notamment les suivants :
-
Si le service utilise un rôle de service ou un rôle lié à un service pour effectuer un appel au nom du principal.
-
Si le service utilise les informations d'identification d'un IAM mandant pour faire une demande au nom du mandant.
-
Si l'appel est effectué directement par un IAM directeur.
-
Si l'appel est passé par un demandeur anonyme.
-
-
Type de données – Chaîne (liste)
-
Type de valeur – À valeur multiple
aws:PrincipalServiceNamesList
est une clé de condition à valeurs multiples. Les clés multivaluées peuvent avoir plusieurs valeurs dans le contexte de la demande. Vous devez utiliser les opérateurs d'ensemble ForAnyValue
ou ForAllValues
avec l'opérateur de condition de chaîne pour cette clé. Pour de plus amples informations sur les clés de condition à valeurs multiples, veuillez consulter Clés de contexte à valeurs multiples.
lois : PrincipalType
Utilisez cette clé pour comparer le type de principal qui effectue la demande avec le type de principal spécifié dans la politique. Pour plus d'informations, veuillez consulter Comment spécifier un principal. Pour des exemples spécifiques de valeurs clés principal
, veuillez consulter Valeurs de la clé du principal.
-
Disponibilité : cette clé figure dans le contexte de la demande pour toutes les demandes, y compris les requêtes anonymes.
-
Types de données – Chaîne
-
Type de valeur – À valeur unique
aws:userid
Utilisez cette clé pour comparer l'identifiant principal du demandeur avec l'ID spécifié dans la politique. Pour les utilisateurs IAM, la valeur du contexte de la demande est l'ID utilisateur. Pour les rôles IAM, ce format de valeur peut varier. Pour de plus amples informations sur l'ajout de principaux, veuillez consulter Comment spécifier un principal. Pour des exemples spécifiques de valeurs clés principal
, veuillez consulter Valeurs de la clé du principal.
-
Disponibilité : cette clé figure dans le contexte de la demande pour toutes les demandes, y compris les requêtes anonymes.
-
Types de données – Chaîne
-
Type de valeur – À valeur unique
aws:username
Utilisez cette clé pour comparer le nom d'utilisateur du demandeur avec celui spécifié dans la politique. Pour de plus amples informations sur l'ajout de principaux, veuillez consulter Comment spécifier un principal. Pour des exemples spécifiques de valeurs clés principal
, veuillez consulter Valeurs de la clé du principal.
-
Disponibilité — Cette clé est toujours incluse dans le contexte de la demande pour IAM les utilisateurs. Les demandes anonymes et les demandes effectuées à l'aide IAM des rôles Utilisateur racine d'un compte AWS ou n'incluent pas cette clé. Les demandes effectuées à l'aide des informations d'identification d'IAMIdentity Center n'incluent pas cette clé dans le contexte.
-
Type de données : chaîne
-
Type de valeur – À valeur unique
Propriétés d’une session de rôle
Utilisez les clés de condition suivantes pour comparer les propriétés de la session de rôle au moment de sa génération. Ces clés de condition ne sont disponibles que lorsqu’une requête est effectuée par un principal avec des informations d’identification de session de rôle ou d’utilisateur fédéré. Les valeurs de ces clés de condition sont intégrées dans le jeton de session du rôle.
Un rôle est un type de principal. Vous pouvez également utiliser les clés de condition de la section Propriétés du principal pour évaluer les propriétés d’un rôle lorsque ce dernier effectue une requête.
Table des matières
- lois : AssumedRoot
- lois : FederatedProvider
- lois : TokenIssueTime
- lois : MultiFactorAuthAge
- lois : MultiFactorAuthPresent
- lois : ChatbotSourceArn
- AWS : EC2 InstanceSourceVpc
- AWS : EC2 InstanceSourcePrivate IPv4
- lois : SourceIdentity
- EC2 : RoleDelivery
- EC2 : SourceInstanceArn
- colle : RoleAssumedBy
- colle : CredentialIssuingService
- lambda : SourceFunctionArn
- SMS : SourceInstanceArn
- boutique d'identité : UserId
lois : AssumedRoot
Utilisez cette clé pour vérifier si la demande a été faite à l'aide de AssumeRoot. AssumeRoot
renvoie des informations d'identification à court terme pour une session utilisateur root privilégiée que vous pouvez utiliser pour effectuer des actions privilégiées sur les comptes des membres de votre organisation. Pour de plus amples informations, veuillez consulter Gestion centralisée de l’accès root pour les comptes membres.
-
Disponibilité — Cette clé est incluse dans le contexte de la demande uniquement lorsque le principal utilise les informations d'identification de AssumeRootpour effectuer la demande.
-
Types de données – Booléen
-
Type de valeur – À valeur unique
Dans l'exemple suivant, lorsqu'il est utilisé comme politique de contrôle des services, interdit l'utilisation des informations d'identification à long terme d'un utilisateur root dans un compte AWS Organizations membre. La politique n'empêche pas les AssumeRoot
sessions d'effectuer les actions autorisées par une AssumeRoot
session.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Deny", "Action":"*", "Resource": "*", "Condition":{ "ArnLike":{ "aws:PrincipalArn":[ "arn:aws:iam::*:root" ] }, "Null":{ "aws:AssumedRoot":"true" } } } ] }
lois : FederatedProvider
Utilisez cette clé pour comparer le fournisseur d'identité (IdP) émetteur du principal avec l'IdP que vous spécifiez dans la politique. Cela signifie qu'un IAM rôle a été assumé à l'aide de l'AssumeRoleWithWebIdentity
AWS STS opération. Lorsque les informations d'identification temporaires de la séance de rôle résultante sont utilisées pour effectuer une demande, le contexte de la demande identifie l'IdP qui a authentifié l'identité fédérée d'origine.
-
Disponibilité : cette clé est présente lorsque le principal est un principal de séance de rôle et que cette séance a été émise lorsqu'un rôle a été assumé avec
AssumeRoleWithWebIdentity
. -
Type de données — Chaîne *
-
Type de valeur – À valeur unique
* Le type de données dépend de votre IdP :
-
Si vous utilisez un AWS IdP intégré, tel qu'Amazon Cognito, la valeur clé sera une chaîne. La valeur clé peut ressembler à :
cognito-identity.amazonaws.com
. -
Si vous utilisez un IdP qui n'est pas intégré à AWS, comme GitHub
ou Amazon EKS, la valeur clé sera ARN. La valeur clé peut ressembler à : arn:aws:iam::111122223333:oidc-provider/oidc.eks.region.amazonaws.com/id/OIDC_Provider_ID
.
Pour plus d'informations sur les IdPs réseaux externesAssumeRoleWithWebIDentity
, voirScénarios courants. Pour de plus amples informations, veuillez consulter Principaux de séance de rôle.
lois : TokenIssueTime
Utilisez cette clé pour comparer la date et l'heure d'émission des informations d'identification de sécurité temporaires avec celles spécifiées dans la politique.
-
Availability (Disponibilité) : cette clé figure dans le contexte de la demande uniquement lorsque le principal utilise des informations d'identification temporaires pour effectuer la demande. La clé n'est pas présente dans AWS CLI ou dans AWS API les AWS SDK demandes effectuées à l'aide de clés d'accès.
-
Type de données – Date
-
Type de valeur – À valeur unique
Pour savoir quels services prennent en charge l'utilisation d'informations d'identification temporaires, consultez AWS services qui fonctionnent avec IAM.
lois : MultiFactorAuthAge
Utilisez cette clé pour comparer le nombre de secondes écoulées depuis que le principal demandeur a été autorisé à utiliser MFA avec le nombre que vous spécifiez dans la politique. Pour plus d'informations sur MFA, consultez AWS Authentification multifactorielle dans IAM.
Important
Cette clé de condition n'est pas présente pour les identités fédérées ou les demandes effectuées à l'aide de clés d'accès pour signer AWS CLI AWS API, ou pour les AWS SDK demandes. Pour en savoir plus sur l'ajout d'MFAune protection aux API opérations utilisant des informations d'identification de sécurité temporaires, consultezAPIAccès sécurisé avec MFA.
Pour vérifier si elle MFA est utilisée pour valider les identités IAM fédérées, vous pouvez transmettre la méthode d'authentification de votre fournisseur d'identité à AWS une balise de session. Pour plus de détails, consultez Transmission des balises de session dans AWS STS. MFAPour renforcer les identités IAM d'Identity Center, vous pouvez activer les attributs de contrôle d'accès afin de transmettre une demande d'SAMLassertion avec la méthode d'authentification de votre fournisseur d'IAMidentité à Identity Center.
-
Disponibilité : cette clé figure dans le contexte de la demande uniquement lorsque le principal utilise des informations d’identification temporaires pour effectuer la requête. Des politiques MFA assorties de conditions peuvent être jointes à :
-
Un utilisateur ou un groupe IAM
-
Une ressource telle qu'un compartiment Amazon S3, une SQS file d'attente Amazon ou une SNS rubrique Amazon
-
La stratégie d'approbation d'un rôle IAM qui peut être assumée par un utilisateur
-
-
Type de données – Numérique
-
Type de valeur – À valeur unique
lois : MultiFactorAuthPresent
Utilisez cette clé pour vérifier si l'authentification multifactorielle (MFA) a été utilisée pour valider les informations de sécurité temporaires à l'origine de la demande.
Important
Cette clé de condition n'est pas présente pour les identités fédérées ou les demandes effectuées à l'aide de clés d'accès pour signer AWS CLI AWS API, ou pour les AWS SDK demandes. Pour en savoir plus sur l'ajout d'MFAune protection aux API opérations utilisant des informations d'identification de sécurité temporaires, consultezAPIAccès sécurisé avec MFA.
Pour vérifier si elle MFA est utilisée pour valider les identités IAM fédérées, vous pouvez transmettre la méthode d'authentification de votre fournisseur d'identité à AWS une balise de session. Pour plus de détails, consultez Transmission des balises de session dans AWS STS. MFAPour renforcer les identités IAM d'Identity Center, vous pouvez activer les attributs de contrôle d'accès afin de transmettre une demande d'SAMLassertion avec la méthode d'authentification de votre fournisseur d'IAMidentité à Identity Center.
-
Availability (Disponibilité) : cette clé figure dans le contexte de la demande uniquement lorsque le principal utilise des informations d'identification temporaires pour effectuer la demande. Des politiques MFA assorties de conditions peuvent être jointes à :
-
Un utilisateur ou un groupe IAM
-
Une ressource telle qu'un compartiment Amazon S3, une SQS file d'attente Amazon ou une SNS rubrique Amazon
-
La stratégie d'approbation d'un rôle IAM qui peut être assumée par un utilisateur
-
-
Types de données – Booléen
-
Type de valeur – À valeur unique
Les informations d'identification temporaires sont utilisées pour authentifier IAM les rôles et IAM les utilisateurs à l'aide de jetons temporaires provenant de AssumeRoleou GetSessionToken, et les utilisateurs du AWS Management Console.
IAMles clés d'accès utilisateur sont des informations d'identification à long terme, mais dans certains cas, elles AWS créent des informations d'identification temporaires au nom des IAM utilisateurs pour effectuer des opérations. Dans ces cas, la clé aws:MultiFactorAuthPresent
est présente dans la demande et définie sur la valeur false
. Deux scénarios courants peuvent expliquer ce comportement :
-
IAMles utilisateurs utilisent AWS Management Console sans le savoir des informations d'identification temporaires. Les utilisateurs se connectent à la console avec leur nom d'utilisateur et leur mot de passe, qui sont des informations d'identification à long terme. Toutefois, en arrière-plan, la console génère des informations d'identification temporaires pour le compte de l'utilisateur.
-
Si un IAM utilisateur appelle un AWS service, le service réutilise les informations d'identification de l'utilisateur pour faire une autre demande à un autre service. Par exemple, lorsque vous appelez Athena pour accéder à un compartiment Amazon S3 ou lorsque vous l'utilisez AWS CloudFormation pour créer une instance AmazonEC2. Pour la demande suivante, AWS utilise des informations d'identification temporaires.
Pour savoir quels services prennent en charge l'utilisation d'informations d'identification temporaires, consultez AWS services qui fonctionnent avec IAM.
La aws:MultiFactorAuthPresent
clé n'est pas présente lorsqu'une CLI commande API or est appelée avec des informations d'identification à long terme, telles que des paires de clés d'accès utilisateur. Par conséquent, nous vous recommandons d'utiliser les versions ...IfExists
des opérateurs de condition lors de la vérification de cette clé.
Il est important de comprendre que l'Condition
élément suivant n'est pas un moyen fiable de vérifier si une demande est authentifiée à l'aide MFA de.
##### WARNING: NOT RECOMMENDED #####
"Effect" : "Deny",
"Condition" : { "Bool" : { "aws:MultiFactorAuthPresent" : "false" } }
Cette combinaison de l'Deny
effet, de l'Bool
élément et de false
la valeur refuse les demandes qui peuvent être authentifiées en utilisantMFA, mais qui ne l'étaient pas. Cela s'applique uniquement aux informations d'identification temporaires qui prennent en charge l'utilisationMFA. Cette déclaration ne refuse pas l'accès aux demandes effectuées à l'aide d'informations d'identification à long terme ou aux demandes authentifiées à l'aide MFA de. Utilisez cet exemple avec prudence car sa logique est complexe et il ne permet pas de vérifier si MFA -authentication a été réellement utilisé.
De même, n'utilisez pas la combinaison de l'effet Deny
, de l'élément Null
et de true
, car elle se comporte de la même manière et sa logique est encore plus complexe.
Combinaison recommandée
Nous vous recommandons d'utiliser l'BoolIfExistsopérateur pour vérifier si une demande est authentifiée à l'aide MFA de.
"Effect" : "Deny", "Condition" : { "BoolIfExists" : { "aws:MultiFactorAuthPresent" : "false" } }
Cette combinaison de Deny
BoolIfExists
, et false
refuse les demandes qui ne sont pas authentifiées à l'aide MFA de. Plus précisément, il refuse les demandes provenant d'informations d'identification temporaires qui ne sont pas inclusesMFA. Il refuse également les demandes effectuées à l'aide d'informations d'identification à long terme, telles que AWS CLI les AWS API opérations effectuées à l'aide de clés d'accès. L'opérateur *IfExists
vérifie si la clé aws:MultiFactorAuthPresent
existe et est présente ou non. Utilisez-le lorsque vous souhaitez refuser toute demande non authentifiée à l'aide MFA de. Ceci est plus sûr, mais peut casser tout code ou script utilisant des clés d'accès pour accéder au AWS CLI ou AWS
API.
Combinaisons alternatives
Vous pouvez également utiliser l'BoolIfExistsopérateur pour autoriser les demandes MFA authentifiées et/ou les demandes effectuées à l' AWS CLI aide d'informations d'identification à long terme. AWS API
"Effect" : "Allow", "Condition" : { "BoolIfExists" : { "aws:MultiFactorAuthPresent" : "true" } }
Cette condition correspond à deux cas : si la clé existe et est présente ou si la clé n'existe pas. Cette combinaison de Allow
BoolIfExists
, et true
autorise les demandes authentifiées à l'aide deMFA, ou les demandes qui ne peuvent pas être authentifiées à l'aide de. MFA Cela signifie que AWS CLI AWS API, et les AWS SDK opérations sont autorisées lorsque le demandeur utilise ses clés d'accès à long terme. Cette combinaison n'autorise pas les demandes provenant d'informations d'identification temporaires qui pourraient être incluses, mais qui ne le sont pasMFA.
Lorsque vous créez une politique à l'aide de l'éditeur visuel de IAM console et que vous choisissez MFAObligatoire, cette combinaison est appliquée. Ce paramètre nécessite un accès MFA à la console, mais autorise un accès programmatique sans MFA accès.
Vous pouvez également utiliser l'Bool
opérateur pour autoriser les demandes programmatiques et de console uniquement lorsque vous êtes authentifié à l'aide de. MFA
"Effect" : "Allow",
"Condition" : { "Bool" : { "aws:MultiFactorAuthPresent" : "true" } }
Cette combinaison de Allow
Bool
, et true
autorise uniquement les demandes MFA authentifiées. Cela s'applique uniquement aux informations d'identification temporaires qui prennent en charge l'utilisationMFA. Cette déclaration n'autorise pas l'accès aux demandes effectuées à l'aide de clés d'accès à long terme, ni aux demandes effectuées à l'aide d'informations d'identification temporaires sansMFA.
N'utilisez pas une structure de politique similaire à la suivante pour vérifier si la MFA clé est présente :
##### WARNING: USE WITH CAUTION #####
"Effect" : "Allow",
"Condition" : { "Null" : { "aws:MultiFactorAuthPresent" : "false" } }
Cette combinaison de l'Allow
effet, de l'Null
élément et de false
la valeur autorise uniquement les demandes qui peuvent être authentifiées à l'aideMFA, que la demande soit réellement authentifiée ou non. Elle autorise toutes les demandes effectuées à l'aide d'informations d'identification temporaires et refuse l'accès aux informations d'identification à long terme. Utilisez cet exemple avec prudence car il ne permet pas de vérifier si MFA -authentication a été réellement utilisé.
lois : ChatbotSourceArn
Utilisez cette clé pour comparer la configuration de chat source ARN définie par le principal à la configuration de chat ARN que vous spécifiez dans la politique du IAM rôle associé à la configuration de votre canal. Vous pouvez autoriser les demandes en fonction de la session d'attribution de rôle initiée par AWS Chatbot.
-
Disponibilité — Cette clé est incluse dans le contexte de la demande par le AWS Chatbot service chaque fois qu'une session de rôle est assumée. La valeur clé est la configuration du chatARN, par exemple lorsque vous exécutez une AWS CLI commande depuis un canal de discussion.
-
Type de données — ARN
-
Type de valeur – À valeur unique
-
Exemple de valeur : –
arn:aws::chatbot::123456789021:chat-configuration/slack-channel/private_channel
La politique suivante refuse les requêtes put Amazon S3 put sur le compartiment spécifié pour toutes les requêtes provenant d’un canal Slack.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExampleS3Deny", "Effect": "Deny", "Action": "s3:PutObject", "Resource": "arn:aws::s3:::amzn-s3-demo-bucket/*", "Condition": { "StringLike": { "aws:ChatbotSourceArn": "arn:aws::chatbot::*:chat-configuration/slack-channel/*" } } } ] }
AWS : EC2 InstanceSourceVpc
Cette clé identifie la personne VPC à laquelle les informations d'identification du EC2 IAM rôle Amazon ont été transmises. Vous pouvez utiliser cette clé dans une politique avec la clé aws:SourceVPCglobale pour vérifier si un appel est passé à partir de a VPC (aws:SourceVPC
) qui correspond à l'VPCendroit où un identifiant a été délivré (aws:Ec2InstanceSourceVpc
).
-
Disponibilité — Cette clé est incluse dans le contexte de la demande chaque fois que le demandeur signe des demandes avec un identifiant de EC2 rôle Amazon. Il peut être utilisé dans IAM les politiques, les politiques de contrôle des services, les politiques de point de VPC terminaison et les politiques de ressources.
-
Type de données : chaîne
-
Type de valeur – À valeur unique
Cette clé peut être utilisée avec des valeurs d'VPCidentifiant, mais elle est particulièrement utile lorsqu'elle est utilisée en tant que variable associée à la clé de aws:SourceVpc
contexte. La clé de aws:SourceVpc
contexte est incluse dans le contexte de la demande uniquement si le demandeur utilise un VPC point de terminaison pour effectuer la demande. Utiliser aws:Ec2InstanceSourceVpc
avec aws:SourceVpc
permet d'utiliser aws:Ec2InstanceSourceVpc
plus largement, car la comparaison porte sur des valeurs qui changent généralement ensemble.
Note
Cette clé de condition n'est pas disponible dans EC2 -Classic.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireSameVPC", "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "StringNotEquals": { "aws:SourceVpc": "${aws:Ec2InstanceSourceVpc}" }, "Null": { "ec2:SourceInstanceARN": "false" }, "BoolIfExists": { "aws:ViaAWSService": "false" } } } ] }
Dans l'exemple ci-dessus, l'accès est refusé si la valeur aws:SourceVpc
n'est pas égale à la valeur aws:Ec2InstanceSourceVpc
. La déclaration de politique est limitée aux seuls rôles utilisés comme rôles d'EC2instance Amazon en testant l'existence de la clé de ec2:SourceInstanceARN
condition.
La politique permet aws:ViaAWSService
d' AWS autoriser les demandes lorsque les demandes sont effectuées au nom de vos rôles d'EC2instance Amazon. Par exemple, lorsque vous envoyez une demande depuis une EC2 instance Amazon à un compartiment Amazon S3 chiffré, Amazon S3 passe un appel AWS KMS en votre nom. Certaines clés ne sont pas présentes lorsque la demande est faite à AWS KMS.
AWS : EC2 InstanceSourcePrivate IPv4
Cette clé identifie l'IPv4adresse privée de l'interface Elastic Network principale à laquelle les informations d'identification du EC2 IAM rôle Amazon ont été transmises. Vous devez utiliser cette clé de condition avec sa clé associée aws:Ec2InstanceSourceVpc
pour vous assurer que vous disposez d'une combinaison unique au monde d'VPCidentifiant et d'adresse IP privée source. Utilisez cette clé avec aws:Ec2InstanceSourceVpc
pour vous assurer qu'une demande a été faite à partir de la même adresse IP privée à laquelle les informations d'identification ont été transmises.
-
Disponibilité — Cette clé est incluse dans le contexte de la demande chaque fois que le demandeur signe des demandes avec un identifiant de EC2 rôle Amazon. Il peut être utilisé dans IAM les politiques, les politiques de contrôle des services, les politiques de point de VPC terminaison et les politiques de ressources.
-
Type de données – Adresse IP
-
Type de valeur – À valeur unique
Important
Cette clé ne doit pas être utilisée seule dans une instruction Allow
. Les adresses IP privées ne sont par définition pas uniques d'un point de vue global. Vous devez utiliser la aws:Ec2InstanceSourceVpc
clé chaque fois que vous l'aws:Ec2InstanceSourcePrivateIPv4
utilisez pour spécifier à partir de laquelle les informations d'identification de VPC votre EC2 instance Amazon peuvent être utilisées.
Note
Cette clé de condition n'est pas disponible dans EC2 -Classic.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "StringNotEquals": { "aws:Ec2InstanceSourceVpc": "${aws:SourceVpc}" }, "Null": { "ec2:SourceInstanceARN": "false" }, "BoolIfExists": { "aws:ViaAWSService": "false" } } }, { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "StringNotEquals": { "aws:Ec2InstanceSourcePrivateIPv4": "${aws:VpcSourceIp}" }, "Null": { "ec2:SourceInstanceARN": "false" }, "BoolIfExists": { "aws:ViaAWSService": "false" } } } ] }
lois : SourceIdentity
Utilisez cette clé pour comparer l'identité source qui a été définie par le principal à l'identité source que vous spécifiez dans la politique.
-
Disponibilité — Cette clé est incluse dans le contexte de la demande une fois qu'une identité source a été définie lorsqu'un rôle est assumé à l'aide d'une CLI commande ou AWS STS
AssumeRole
API d'une opération AWS STS assume-rôle. -
Type de données : chaîne
-
Type de valeur – À valeur unique
Vous pouvez utiliser cette clé dans une politique pour autoriser les acteurs ayant défini une identité source à effectuer des actions lorsqu'ils assument un rôle. AWS L'activité pour l'identité source spécifiée du rôle apparaît dans AWS CloudTrail. Cela permet aux administrateurs de déterminer plus facilement qui ou quoi a effectué des actions avec un rôle dans AWS.
Contrairement à sts:RoleSessionName, une fois l'identité source définie, la valeur ne peut plus être modifiée. Elle est présente dans le contexte de la demande pour toutes les actions entreprises par le rôle. La valeur persiste dans les sessions de rôle suivantes lorsque vous utilisez les informations d'identification de session pour endosser un autre rôle. Le fait d'endosser un rôle à partir d'un autre est appelé chaînage des rôles.
La sts:SourceIdentityclé est présente dans la demande lorsque le principal définit initialement une identité source tout en assumant un rôle à l'aide d'une CLI commande ou AWS STS
AssumeRole
API d'une opération d' AWS STS assume-rôle. La clé aws:SourceIdentity
est présente dans la demande pour toutes les actions qui sont effectuées avec une session de rôle disposant d'un ensemble d'identités source.
La politique de confiance de rôle suivante pour CriticalRole
dans un compte 111122223333
contient une condition pour aws:SourceIdentity
qui empêche un principal sans identité source définie sur Saanvi ou Diego d'endosser le rôle.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AssumeRoleIfSourceIdentity", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:role/CriticalRole"}, "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity" ], "Condition": { "StringLike": { "aws:SourceIdentity": ["Saanvi","Diego"] } } } ] }
Pour en savoir plus sur les informations relatives à l'identité source, veuillez consulter Surveiller et contrôler les actions prises avec les rôles endossés.
EC2 : RoleDelivery
Utilisez cette clé pour comparer la version du service de métadonnées d'instance figurant dans la demande signée avec les informations d'identification du IAM rôle pour AmazonEC2. Le service de métadonnées d'instance fait la distinction entre les IMDSv2 demandes IMDSv1 et selon que, pour une demande donnée, GET
des en-têtes PUT
ou des en-têtes, qui sont uniques àIMDSv2, sont présents dans cette demande.
-
Disponibilité — Cette clé est incluse dans le contexte de la demande chaque fois que la session de rôle est créée par une EC2 instance Amazon.
-
Type de données – Numérique
-
Type de valeur – À valeur unique
-
Exemples de valeurs : 1,0, 2,0
Vous pouvez configurer le service de métadonnées d'instance (IMDS) sur chaque instance afin que le code local ou les utilisateurs puissent l'utiliserIMDSv2. Lorsque vous spécifiez que IMDSv2 doit être utilisé, IMDSv1 ne fonctionne plus.
-
Service de métadonnées d'instance, version 1 (IMDSv1) — Une méthode de demande/réponse
-
Service de métadonnées d'instance version 2 (IMDSv2) : méthode orientée session
Pour plus d'informations sur la configuration de votre instance à utiliserIMDSv2, consultez Configurer les options de métadonnées de l'instance.
Dans l'exemple suivant, l'accès est refusé si la RoleDelivery valeur ec2 : dans le contexte de la demande est 1.0 (IMDSv1). Cette déclaration de politique peut être appliquée de manière générale car, si la demande n'est pas signée par les informations d'identification du EC2 rôle Amazon, elle n'a aucun effet.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireAllEc2RolesToUseV2", "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "NumericLessThan": { "ec2:RoleDelivery": "2.0" } } } ] }
Pour plus d’informations, consultez Exemples de politiques pour travailler avec les métadonnées d’instance.
EC2 : SourceInstanceArn
Utilisez cette clé pour comparer l'ARNinstance à partir de laquelle la session du rôle a été générée.
-
Disponibilité — Cette clé est incluse dans le contexte de la demande chaque fois que la session de rôle est créée par une EC2 instance Amazon.
-
Type de données — ARN
-
Type de valeur – À valeur unique
-
Exemple de valeur : arn:aws::ec2:us-west-2:111111111111:instance/instance-id
Pour des exemples de politiques, consultez Accorder à une instance spécifique l’autorisation d’afficher des ressources dans d’autres services AWS.
colle : RoleAssumedBy
Le AWS Glue service définit cette clé de condition pour chaque AWS API demande effectuée AWS Glue en utilisant un rôle de service pour le compte du client (pas par un poste ou un point de terminaison de développeur, mais directement par le AWS Glue service). Utilisez cette clé pour vérifier si un appel à une AWS ressource provient du AWS Glue service.
-
Disponibilité — Cette clé est incluse dans le contexte de la demande lorsque AWS Glue vous effectuez une demande en utilisant un rôle de service pour le compte du client.
-
Type de données : chaîne
-
Type de valeur – À valeur unique
-
Exemple de valeur : cette clé est toujours définie sur
glue.amazonaws.com
.
L'exemple suivant ajoute une condition permettant au AWS Glue service d'obtenir un objet depuis un compartiment Amazon S3.
{ "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "StringEquals": { "glue:RoleAssumedBy": "glue.amazonaws.com" } } }
colle : CredentialIssuingService
Le AWS Glue service définit cette clé pour chaque AWS API demande à l'aide d'un rôle de service provenant d'un poste de travail ou d'un point de terminaison de développeur. Utilisez cette clé pour vérifier si un appel à une AWS ressource provient d'une AWS Glue tâche ou d'un point de terminaison du développeur.
-
Disponibilité — Cette clé est incluse dans le contexte de la demande lorsque vous effectuez une AWS Glue demande provenant d'un poste de travail ou d'un point de terminaison de développeur.
-
Type de données : chaîne
-
Type de valeur – À valeur unique
-
Exemple de valeur : cette clé est toujours définie sur
glue.amazonaws.com
.
L'exemple suivant ajoute une condition attachée à un IAM rôle utilisé par une AWS Glue tâche. Cela garantit que certaines actions sont autorisées/refusées selon que la session de rôle est utilisée ou non pour un environnement d'exécution de AWS Glue tâches.
{ "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "StringEquals": { "glue:CredentialIssuingService": "glue.amazonaws.com" } } }
lambda : SourceFunctionArn
Utilisez cette clé pour identifier la fonction Lambda à ARN laquelle les informations d'identification de IAM rôle ont été fournies. Le service Lambda définit cette clé pour chaque AWS API demande provenant de l'environnement d'exécution de votre fonction. Utilisez cette clé pour vérifier si un appel à une AWS ressource provient du code d'une fonction Lambda spécifique. Lambda définit également cette clé pour certaines requêtes provenant de l'extérieur de l'environnement d'exécution, telles que l'écriture de journaux CloudWatch et l'envoi de traces à X-Ray.
-
Disponibilité : cette clé est incluse dans le contexte de la requête chaque fois que le code de la fonction Lambda est invoqué.
-
Type de données — ARN
-
Type de valeur – À valeur unique
-
Exemple de valeur — arn:aws:lambda:us-east- 1:123456789012:function : TestFunction
L’exemple suivant permet à une fonction Lambda spécifique d’accéder s3:PutObject
au compartiment spécifié.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExampleSourceFunctionArn", "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "ArnEquals": { "lambda:SourceFunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:source_lambda" } } } ] }
Pour plus d’informations, consultez la section Travailler avec les informations d’identification de l’environnement d’exécution Lambda dans le Guide du développeur AWS Lambda .
SMS : SourceInstanceArn
Utilisez cette clé pour identifier l'instance AWS Systems Manager gérée à ARN laquelle les informations d'identification du IAM rôle ont été fournies. Cette clé de condition n'est pas présente lorsque la demande provient d'une instance gérée dont le IAM rôle est associé à un profil d'EC2instance Amazon.
-
Disponibilité : cette clé est incluse dans le contexte de la requête lorsque les informations d’identification des rôles sont fournies à une instance AWS Systems Manager gérée.
-
Type de données — ARN
-
Type de valeur – À valeur unique
-
Exemple de valeur : arn:aws::ec2:us-west-2:111111111111:instance/instance-id
boutique d'identité : UserId
Utilisez cette clé pour comparer IAM l'identité du personnel d'Identity Center figurant dans la demande signée avec l'identité spécifiée dans la politique.
-
Disponibilité — Cette clé est incluse lorsque l'appelant de la demande est un utilisateur d'IAMIdentity Center.
-
Type de données : chaîne
-
Type de valeur – À valeur unique
-
Exemple de valeur : 94482488-3041-7026-18f3-be45837cd0e4
Vous pouvez trouver le UserId nom d'un utilisateur dans IAM Identity Center en faisant une demande à l'GetUserIdAPIaide du AWS CLI AWS API, ou AWS SDK.
Propriétés du réseau
Utilisez les clés de condition suivantes pour comparer les détails du réseau d’où provient la requête ou par lesquels elle est passée avec les propriétés du réseau que vous spécifiez dans la politique.
Table des matières
lois : SourceIp
Utilisez cette clé pour comparer l'adresse IP du demandeur avec celle spécifiée dans la politique. La clé de condition aws:SourceIp
ne peut être utilisée que pour les plages d'adresses IP publiques.
-
Disponibilité — Cette clé est incluse dans le contexte de la demande, sauf lorsque le demandeur utilise un VPC point de terminaison pour effectuer la demande.
-
Type de données – Adresse IP
-
Type de valeur – À valeur unique
La clé de condition aws:SourceIp
peut être utilisée dans une politique pour autoriser des principaux à effectuer des demandes uniquement dans une plage IP spécifiée.
Note
aws:SourceIp
prend en charge à IPv4 la fois une IPv6 adresse ou une plage d'adresses IP. Pour obtenir la liste de Services AWS ce supportIPv6, consultez Services AWS le guide IPv6 de l'VPCutilisateur Amazon.
Par exemple, vous pouvez associer la politique basée sur l'identité suivante à un IAM rôle. Cette politique permet à l'utilisateur de placer des objets dans le compartiment amzn-s3-demo-bucket3
Amazon S3 s'il effectue l'appel depuis la plage d'IPv4adresses spécifiée. Cette politique permet également à un AWS service utilisé Transmission des sessions d'accès d'effectuer cette opération en votre nom.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PrincipalPutObjectIfIpAddress", "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket3/*", "Condition": { "IpAddress": { "aws:SourceIp": "
203.0.113.0/24
" } } } ] }
Si vous devez restreindre l'accès aux réseaux qui prennent en charge à la fois l'IPv6adressage IPv4 et l'adresse, vous pouvez inclure l'IPv6adresse IPv4 et ou des plages d'adresses IP dans la condition de IAM politique. La politique basée sur l'identité suivante permettra à l'utilisateur de placer des objets dans le compartiment amzn-s3-demo-bucket3
Amazon S3 s'il passe l'appel depuis des plages d'adresses spécifiées IPv4 ou depuis des plages d'IPv6adresses. Avant d'inclure des plages d'IPv6adresses dans votre IAM politique, vérifiez que le support avec lequel Service AWS vous travaillez est compatibleIPv6. Pour obtenir la liste de Services AWS ce supportIPv6, consultez Services AWS le guide IPv6 de l'VPCutilisateur Amazon.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PrincipalPutObjectIfIpAddress", "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket3/*", "Condition": { "IpAddress": { "aws:SourceIp": [ "
203.0.113.0/24
", "2001:DB8:1234:5678::/64
" ] } } } ] }
Si la demande provient d'un hôte qui utilise un point de VPC terminaison Amazon, la aws:SourceIp
clé n'est pas disponible. Vous devez plutôt utiliser une clé VPC spécifique telle que aws : VpcSourceIp. Pour plus d'informations sur l'utilisation des VPC points de terminaison, consultez la section Gestion des identités et des accès pour les VPC points de VPC terminaison et les services de point de terminaison dans le AWS PrivateLink Guide.
lois : SourceVpc
Utilisez cette clé pour vérifier si la demande passe par le VPC terminal auquel est attaché le VPC point de terminaison. Dans une politique, vous pouvez utiliser cette clé pour n'autoriser l'accès qu'à un élément spécifiqueVPC. Pour plus d'informations, consultez la section Restreindre l'accès à un élément spécifique VPC dans le guide de l'utilisateur d'Amazon Simple Storage Service.
-
Disponibilité — Cette clé est incluse dans le contexte de la demande uniquement si le demandeur utilise un VPC point de terminaison pour effectuer la demande.
-
Type de données : chaîne
-
Type de valeur – À valeur unique
Dans une politique, vous pouvez utiliser cette clé pour autoriser ou restreindre l'accès à un élément spécifiqueVPC.
Par exemple, vous pouvez associer la politique d'identité suivante à un IAM rôle afin de refuser l'accès PutObject
au compartiment amzn-s3-demo-bucket3
Amazon S3, sauf si la demande est faite à partir de l'VPCidentifiant spécifié ou si vous utilisez des sessions d'accès direct (FAS) pour effectuer des demandes au nom du rôle. Services AWS Contrairement àlois : SourceIp, vous devez utiliser AWS : V iaAWSService ou lois : CalledVia autoriser les FAS demandes, car la source VPC de la demande initiale n'est pas préservée.
Note
Cette politique ne permet aucune action. Utilisez cette stratégie conjointement à d'autres stratégies qui autorisent des actions spécifiques.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PutObjectIfNotVPCID", "Effect": "Deny", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket3/*", "Condition": { "StringNotEqualsIfExists": { "aws:SourceVpc": "vpc-1234567890abcdef0" }, "Bool": { "aws:ViaAWSService": "false" } } } ] }
Pour savoir comment appliquer cette clé dans une politique basée sur les ressources, consultez Restreindre l'accès à un élément spécifique VPC dans le guide de l'utilisateur d'Amazon Simple Storage Service.
lois : SourceVpce
Utilisez cette clé pour comparer l'identifiant du VPC point de terminaison de la demande avec l'identifiant du point de terminaison que vous spécifiez dans la politique.
-
Disponibilité — Cette clé est incluse dans le contexte de la demande uniquement si le demandeur utilise un VPC point de terminaison pour effectuer la demande.
-
Type de données : chaîne
-
Type de valeur – À valeur unique
Dans une politique, vous pouvez utiliser cette clé pour restreindre l'accès à un point de VPC terminaison spécifique. Pour plus d'informations, consultez Restreindre l'accès à un élément spécifique VPC dans le guide de l'utilisateur d'Amazon Simple Storage Service. De même que pour l'utilisationlois : SourceVpc, vous devez utiliser AWS : V iaAWSService ou lois : CalledVia autoriser les demandes effectuées à l' Services AWS aide de sessions d'accès avancées (FAS). Cela est dû au fait que le VPC point de terminaison source de la demande initiale n'est pas préservé.
lois : VpcSourceIp
Utilisez cette clé pour comparer l'adresse IP à partir de laquelle une demande a été effectuée avec celle spécifiée dans la politique. Dans une politique, la clé ne correspond que si la demande provient de l'adresse IP spécifiée et passe par un VPC point de terminaison.
-
Disponibilité — Cette clé est incluse dans le contexte de la demande uniquement si la demande est faite à l'aide d'un VPC point de terminaison.
-
Type de données – Adresse IP
-
Type de valeur – À valeur unique
Pour plus d'informations, consultez la section Contrôler l'accès aux VPC points de terminaison à l'aide des politiques relatives aux terminaux dans le guide de VPC l'utilisateur Amazon. De même que pour l'utilisationlois : SourceVpc, vous devez utiliser AWS : V iaAWSService ou lois : CalledVia autoriser les demandes effectuées à l' Services AWS aide de sessions d'accès avancées (FAS). Cela est dû au fait que l'adresse IP source de la demande initiale effectuée à l'aide d'un VPC point de terminaison n'est pas préservée dans les FAS demandes.
Note
aws:VpcSourceIp
prend en charge à IPv4 la fois une IPv6 adresse ou une plage d'adresses IP. Pour obtenir la liste de Services AWS ce supportIPv6, consultez Services AWS le guide IPv6 de l'VPCutilisateur Amazon.
La clé de condition aws:VpcSourceIp
doit toujours être utilisée conjointement avec le aws:SourceVpc
ou les clés de condition aws:SourceVpce
. Dans le cas contraire, il est possible VPC que les API appels provenant d'une source inattendue utilisant la même adresse IP ou une adresse IP CIDR qui se chevauche soient autorisés par une politique. Cela peut se produire parce que les adresses IP CIDRs des deux entités non liées VPCs peuvent être identiques ou se chevaucher. Les VPC points de terminaison IDs doivent plutôt être utilisés dans la politique car ils possèdent des identifiants uniques au niveau mondial. VPC IDs Ces identifiants uniques garantissent que des résultats inattendus ne se produiront pas.
Propriétés de la ressource
Utilisez les clés de condition suivantes pour comparer les détails de la ressource cible de la requête avec les propriétés de la ressource que vous spécifiez dans la politique.
Table des matières
lois : ResourceAccount
Utilisez cette clé pour comparer l'ID de l'Compte AWS du propriétaire de la ressource demandée avec le compte de la ressource dans la politique. Vous pouvez ensuite autoriser ou refuser l'accès à cette ressource en fonction du compte propriétaire de la ressource.
-
Disponibilité : cette clé figure toujours dans le contexte de la demande pour la plupart des services. Les actions suivantes ne prennent pas en charge cette clé :
-
AWS Audit Manager
-
auditmanager:UpdateAssessmentFrameworkShare
-
-
Amazon Detective
-
detective:AcceptInvitation
-
-
Amazon Elastic Block Store : toutes les actions
-
Amazon EC2
-
ec2:AcceptTransitGatewayPeeringAttachment
-
ec2:AcceptVpcEndpointConnections
-
ec2:AcceptVpcPeeringConnection
-
ec2:CopyImage
-
ec2:CopySnapshot
-
ec2:CreateTransitGatewayPeeringAttachment
-
ec2:CreateVolume
-
ec2:CreateVpcEndpoint
-
ec2:CreateVpcPeeringConnection
-
ec2:DeleteTransitGatewayPeeringAttachment
-
ec2:DeleteVpcPeeringConnection
-
ec2:RejectTransitGatewayPeeringAttachment
-
ec2:RejectVpcEndpointConnections
-
ec2:RejectVpcPeeringConnection
-
-
Amazon EventBridge
-
events:PutEvents
— EventBridgePutEvents
appels sur un bus d'événements dans un autre compte, si ce bus d'événements a été configuré comme EventBridge cible multi-comptes avant le 2 mars 2023. Pour plus d'informations, consultez la section Accorder des autorisations pour autoriser des événements provenant d'autres AWS comptes dans le guide de EventBridge l'utilisateur Amazon.
-
-
Amazon GuardDuty
-
guardduty:AcceptAdministratorInvitation
-
-
Amazon Macie
-
macie2:AcceptInvitation
-
-
Amazon OpenSearch Service
-
es:AcceptInboundConnection
-
-
Amazon Route 53
-
route53:AssociateVpcWithHostedZone
-
route53:CreateVPCAssociationAuthorization
-
route53:DeleteVPCAssociationAuthorization
-
route53:DisassociateVPCFromHostedZone
-
route53:ListHostedZonesByVPC
-
-
AWS Security Hub
-
securityhub:AcceptAdministratorInvitation
-
-
-
Types de données – Chaîne
-
Type de valeur – À valeur unique
Note
Pour des considérations supplémentaires concernant les actions non prises en charge ci-dessus, consultez le référentiel Exemples de politiques relatives aux périmètres de données
Cette clé est égale à l' Compte AWS identifiant du compte dont les ressources ont été évaluées dans la demande.
Pour la plupart des ressources de votre compte, le ARNcontient l'identifiant du compte propriétaire de cette ressource. Pour certaines ressources, telles que les compartiments Amazon S3, la ressource n'ARNinclut pas l'ID de compte. Les deux exemples suivants montrent la différence entre une ressource avec un ID de compte dans ARN le et un Amazon S3 ARN sans identifiant de compte :
-
arn:aws:iam::123456789012:role/AWSExampleRole
— IAM rôle créé et détenu dans le compte 123456789012. -
arn:aws:s3:::amzn-s3-demo-bucket2
— Le compartiment Amazon S3 a été créé et détenu dans le compte111122223333
, mais n'est pas affiché dans leARN.
Utilisez la AWS console, ou APICLI, pour trouver toutes vos ressources et les ressources correspondantesARNs.
Vous élaborez une politique qui refuse les autorisations d'accès aux ressources en fonction de l'ID de compte du propriétaire de la ressource. Par exemple, la politique basée sur l'identité suivante refuse l'accès à la ressource spécifiée si celle-ci n'appartient pas au compte spécifié.
Pour utiliser cette politique, remplacez le texte en italique de l'espace réservé dans l'exemple de politique par vos propres informations de compte.
Important
Cette politique ne permet aucune action. Au lieu de cela, elle utilise l'effet Deny
qui refuse explicitement l'accès à toutes les ressources répertoriées dans l'instruction n'appartenant pas au compte répertorié. Utilisez cette politique en combinaison avec d'autres politiques qui autorisent l'accès à des ressources spécifiques.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyInteractionWithResourcesNotInSpecificAccount", "Action": "
service
:*", "Effect": "Deny", "Resource": [ "arn:aws:service
:region
:account
:*
" ], "Condition": { "StringNotEquals": { "aws:ResourceAccount": [ "account
" ] } } } ] }
Cette politique refuse l'accès à toutes les ressources pour un AWS service spécifique, sauf si le fournisseur spécifié Compte AWS est propriétaire de la ressource.
Note
Certains Services AWS nécessitent l'accès à des ressources AWS détenues qui sont hébergées dans un autre Compte AWS. L'utilisation de aws:ResourceAccount
dans vos politiques basées sur l'identité peut avoir un impact sur la capacité de votre identité à accéder à ces ressources.
Certains AWS services, tels que AWS Data Exchange, dépendent de l'accès à des ressources extérieures aux vôtres Comptes AWS pour leurs opérations normales. Si vous utilisez l'élément aws:ResourceAccount
dans vos politiques, incluez des déclarations supplémentaires afin de créer des dérogations pour ces services. L'exemple de politique AWS: refuser l'accès aux ressources Amazon S3 en dehors de votre compte, sauf AWS Data Exchange montre comment refuser l'accès en fonction du compte de la ressource tout en définissant des exceptions pour les ressources appartenant au service.
Utilisez cet exemple de politique comme modèle pour créer vos propres politiques personnalisées. Reportez-vous à votre documentation de service pour plus d'informations.
lois : ResourceOrgPaths
Utilisez cette clé pour comparer le chemin AWS des Organizations pour la ressource consultée avec le chemin indiqué dans la politique. Dans une politique, cette clé de condition garantit que la ressource appartient à un membre du compte appartenant à la racine de l'organisation ou aux unités organisationnelles (OUs) spécifiées dans AWS Organizations. Un chemin AWS Organizations est une représentation textuelle de la structure d'une entité Organizations. Pour de plus amples informations sur l'utilisation et la compréhension des chemins, veuillez consulter Comprendre le chemin d'entité AWS Organizations.
-
Disponibilité : cette clé ne figure dans le contexte de la demande que si le compte qui possède la ressource est membre d'une organisation. Cette clé de condition globale ne prend pas en charge les actions suivantes :
-
AWS Audit Manager
-
auditmanager:UpdateAssessmentFrameworkShare
-
-
Amazon Detective
-
detective:AcceptInvitation
-
-
Amazon Elastic Block Store : toutes les actions
-
Amazon EC2
-
ec2:AcceptTransitGatewayPeeringAttachment
-
ec2:AcceptVpcEndpointConnections
-
ec2:AcceptVpcPeeringConnection
-
ec2:CopyImage
-
ec2:CopySnapshot
-
ec2:CreateTransitGatewayPeeringAttachment
-
ec2:CreateVolume
-
ec2:CreateVpcEndpoint
-
ec2:CreateVpcPeeringConnection
-
ec2:DeleteTransitGatewayPeeringAttachment
-
ec2:DeleteVpcPeeringConnection
-
ec2:RejectTransitGatewayPeeringAttachment
-
ec2:RejectVpcEndpointConnections
-
ec2:RejectVpcPeeringConnection
-
-
Amazon EventBridge
-
events:PutEvents
— EventBridgePutEvents
appels sur un bus d'événements dans un autre compte, si ce bus d'événements a été configuré comme EventBridge cible multi-comptes avant le 2 mars 2023. Pour plus d'informations, consultez la section Accorder des autorisations pour autoriser des événements provenant d'autres AWS comptes dans le guide de EventBridge l'utilisateur Amazon.
-
-
Amazon GuardDuty
-
guardduty:AcceptAdministratorInvitation
-
-
Amazon Macie
-
macie2:AcceptInvitation
-
-
Amazon OpenSearch Service
-
es:AcceptInboundConnection
-
-
Amazon Route 53
-
route53:AssociateVpcWithHostedZone
-
route53:CreateVPCAssociationAuthorization
-
route53:DeleteVPCAssociationAuthorization
-
route53:DisassociateVPCFromHostedZone
-
route53:ListHostedZonesByVPC
-
-
AWS Security Hub
-
securityhub:AcceptAdministratorInvitation
-
-
-
Type de données – Chaîne (liste)
-
Type de valeur – À valeur multiple
Note
Pour des considérations supplémentaires concernant les actions non prises en charge ci-dessus, consultez le référentiel Exemples de politiques relatives aux périmètres de données
aws:ResourceOrgPaths
est une clé de condition à valeurs multiples. Les clés multivaluées peuvent avoir plusieurs valeurs dans le contexte de la demande. Vous devez utiliser les opérateurs d'ensemble ForAnyValue
ou ForAllValues
avec l'opérateur de condition de chaîne pour cette clé. Pour de plus amples informations sur les clés de condition à valeurs multiples, veuillez consulter Clés de contexte à valeurs multiples.
Par exemple, la condition suivante renvoie True
pour les ressources qui appartiennent à l'organisation o-a1b2c3d4e5
. Lorsque vous incluez un caractère générique, vous devez utiliser l'opérateur de condition StringLike.
"Condition": { "ForAnyValue:StringLike": { "aws:ResourceOrgPaths":["o-a1b2c3d4e5/*"] } }
La condition suivante renvoie True
pour les ressources avec l'ID d'unité d'organisation ou-ab12-11111111
. Il correspondra aux ressources détenues par des comptes rattachés à l'UO ou-ab12-11111111 ou à l'un des comptes de l'enfant. OUs
"Condition": { "ForAnyValue:StringLike" : { "aws:ResourceOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/*"] }}
La condition suivante s'applique True
aux ressources détenues par des comptes directement associés à l'ID de l'unité d'ou-ab12-22222222
organisation, mais pas à l'enfantOUs. L'exemple suivant utilise l'opérateur de StringEqualscondition pour spécifier l'exigence de correspondance exacte pour l'ID d'unité d'organisation et non une correspondance générique.
"Condition": { "ForAnyValue:StringEquals" : { "aws:ResourceOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/"] }}
Note
Certains Services AWS nécessitent l'accès à des ressources AWS détenues qui sont hébergées dans un autre Compte AWS. L'utilisation de aws:ResourceOrgPaths
dans vos politiques basées sur l'identité peut avoir un impact sur la capacité de votre identité à accéder à ces ressources.
Certains AWS services, tels que AWS Data Exchange, dépendent de l'accès à des ressources extérieures aux vôtres Comptes AWS pour leurs opérations normales. Si vous utilisez la clé aws:ResourceOrgPaths
dans vos politiques, incluez des déclarations supplémentaires afin de créer des dérogations pour ces services. L'exemple de politique AWS: refuser l'accès aux ressources Amazon S3 en dehors de votre compte, sauf AWS Data Exchange montre comment refuser l'accès en fonction du compte de la ressource tout en définissant des exceptions pour les ressources appartenant au service. Vous pouvez créer une politique similaire pour restreindre l'accès aux ressources d'une unité d'organisation (UO) à l'aide de la clé aws:ResourceOrgPaths
, tout en tenant compte des ressources appartenant au service.
Utilisez cet exemple de politique comme modèle pour créer vos propres politiques personnalisées. Reportez-vous à votre documentation de service pour plus d'informations.
lois : ResourceOrg ID
Utilisez cette clé pour comparer l'identifiant de l'organisation dans AWS Organizations à laquelle appartient la ressource demandée avec l'identifiant spécifié dans la politique.
-
Disponibilité : cette clé ne figure dans le contexte de la demande que si le compte qui possède la ressource est membre d'une organisation. Cette clé de condition globale ne prend pas en charge les actions suivantes :
-
AWS Audit Manager
-
auditmanager:UpdateAssessmentFrameworkShare
-
-
Amazon Detective
-
detective:AcceptInvitation
-
-
Amazon Elastic Block Store : toutes les actions
-
Amazon EC2
-
ec2:AcceptTransitGatewayPeeringAttachment
-
ec2:AcceptVpcEndpointConnections
-
ec2:AcceptVpcPeeringConnection
-
ec2:CopyImage
-
ec2:CopySnapshot
-
ec2:CreateTransitGatewayPeeringAttachment
-
ec2:CreateVolume
-
ec2:CreateVpcEndpoint
-
ec2:CreateVpcPeeringConnection
-
ec2:DeleteTransitGatewayPeeringAttachment
-
ec2:DeleteVpcPeeringConnection
-
ec2:RejectTransitGatewayPeeringAttachment
-
ec2:RejectVpcEndpointConnections
-
ec2:RejectVpcPeeringConnection
-
-
Amazon EventBridge
-
events:PutEvents
— EventBridgePutEvents
appels sur un bus d'événements dans un autre compte, si ce bus d'événements a été configuré comme EventBridge cible multi-comptes avant le 2 mars 2023. Pour plus d'informations, consultez la section Accorder des autorisations pour autoriser des événements provenant d'autres AWS comptes dans le guide de EventBridge l'utilisateur Amazon.
-
-
Amazon GuardDuty
-
guardduty:AcceptAdministratorInvitation
-
-
Amazon Macie
-
macie2:AcceptInvitation
-
-
Amazon OpenSearch Service
-
es:AcceptInboundConnection
-
-
Amazon Route 53
-
route53:AssociateVpcWithHostedZone
-
route53:CreateVPCAssociationAuthorization
-
route53:DeleteVPCAssociationAuthorization
-
route53:DisassociateVPCFromHostedZone
-
route53:ListHostedZonesByVPC
-
-
AWS Security Hub
-
securityhub:AcceptAdministratorInvitation
-
-
-
Types de données – Chaîne
-
Type de valeur – À valeur unique
Note
Pour des considérations supplémentaires concernant les actions non prises en charge ci-dessus, consultez le référentiel Exemples de politiques relatives aux périmètres de données
Cette clé globale renvoie l'ID de l'organisation de la ressource pour une demande donnée. Elle vous permet de créer des règles qui s'appliquent à toutes les ressources d'une organisation qui sont spécifiées dans l'élément Resource
d'une politique basée sur l'identité. Vous pouvez spécifier l'ID de l'organisation dans l'élément Condition. Lorsque vous ajoutez et supprimez des comptes, les politiques qui contiennent la clé aws:ResourceOrgID
incluent automatiquement les bons comptes et vous n'avez pas besoin de la mettre à jour manuellement.
Par exemple, la politique suivante empêche le principal d'ajouter des objets à la ressource policy-genius-dev
, sauf si la ressource Amazon S3 appartient à la même organisation que le principal qui effectue la demande.
Important
Cette politique ne permet aucune action. Au lieu de cela, elle utilise l'effet Deny
qui refuse explicitement l'accès à toutes les ressources répertoriées dans l'instruction n'appartenant pas au compte répertorié. Utilisez cette politique en combinaison avec d'autres politiques qui autorisent l'accès à des ressources spécifiques.
{ "Version": "2012-10-17", "Statement": { "Sid": "DenyPutObjectToS3ResourcesOutsideMyOrganization", "Effect": "Deny", "Action": "s3:PutObject", "Resource": "arn:
partition
:s3:::policy-genius-dev/*", "Condition": { "StringNotEquals": { "aws:ResourceOrgID": "${aws:PrincipalOrgID}" } } } }
Note
Certains Services AWS nécessitent l'accès à des ressources AWS détenues qui sont hébergées dans un autre Compte AWS. L'utilisation de aws:ResourceOrgID
dans vos politiques basées sur l'identité peut avoir un impact sur la capacité de votre identité à accéder à ces ressources.
Certains AWS services, tels que AWS Data Exchange, dépendent de l'accès à des ressources extérieures aux vôtres Comptes AWS pour leurs opérations normales. Si vous utilisez la clé aws:ResourceOrgID
dans vos politiques, incluez des déclarations supplémentaires afin de créer des dérogations pour ces services. L'exemple de politique AWS: refuser l'accès aux ressources Amazon S3 en dehors de votre compte, sauf AWS Data Exchange montre comment refuser l'accès en fonction du compte de la ressource tout en définissant des exceptions pour les ressources appartenant au service. Vous pouvez créer une politique similaire pour restreindre l'accès aux ressources de votre organisation à l'aide de la clé aws:ResourceOrgID
, tout en tenant compte des ressources appartenant au service.
Utilisez cet exemple de politique comme modèle pour créer vos propres politiques personnalisées. Reportez-vous à votre documentation de service pour plus d'informations.
Dans la vidéo suivante, découvrez comment utiliser la clé de condition aws:ResourceOrgID
dans une politique.
aws :ResourceTag//tag-key
Utilisez cette clé pour comparer la paire valeur clé d'étiquette que vous spécifiez dans la politique avec la paire valeur clé attachée à la ressource. Par exemple, vous pouvez exiger que l'accès à une ressource soit autorisé uniquement si la clé de balise "Dept"
est attachée à la ressource avec la valeur "Marketing"
. Pour de plus amples informations, veuillez consulter Contrôle de l'accès aux ressources AWS.
-
Disponibilité : cette clé figure dans le contexte de la demande lorsque la ressource demandée possède déjà des balises attachées ou dans les demandes qui créent une ressource avec une balise attachée. Cette clé est renvoyée uniquement pour les ressources qui prennent en charge l'autorisation basée sur les balises. Il y a une clé de contexte pour chaque paire clé-valeur de balise.
-
Types de données – Chaîne
-
Type de valeur – À valeur unique
Cette clé de contexte est formatée à l'"aws:ResourceTag/
endroit où se tag-key
":"tag-value
"tag-key
tag-value
trouvent une clé de balise et une paire de valeurs. Les clés et les valeurs d'étiquette ne sont pas sensibles à la casse. Cela signifie que si vous spécifiez "aws:ResourceTag/TagKey1": "Value1"
dans l'élément de condition de votre politique, la condition correspond à une clé de balise de ressource nommée TagKey1
ou tagkey1
, mais pas aux deux.
Pour obtenir des exemples d'utilisation de la clé aws:ResourceTag
pour contrôler l'accès aux ressources IAM, consultez la section Contrôle de l'accès aux ressources AWS.
Pour des exemples d'utilisation de la aws:ResourceTag
clé pour contrôler l'accès à d'autres AWS ressources, consultezContrôle de l'accès aux ressources AWS à l'aide de balises.
Pour un didacticiel sur l'utilisation de la clé de aws:ResourceTag
condition pour le contrôle d'accès basé sur les attributs (ABAC), voirDidacticiel IAM : définir les autorisations d'accès aux ressources AWS en fonction des balises.
Propriétés de la requête
Utilisez les clés de condition suivantes pour comparer les détails de la requête elle-même et le contenu de la requête avec les propriétés de la requête que vous spécifiez dans la politique.
Table des matières
lois : CalledVia
Utilisez cette clé pour comparer les services de la stratégie avec les services qui ont créé des demandes au nom du mandataire IAM (utilisateur ou rôle). Lorsqu'un principal adresse une demande à un AWS service, ce service peut utiliser les informations d'identification du principal pour faire des demandes ultérieures à d'autres services. La clé aws:CalledVia
contient une liste ordonnée des services de la chaîne ayant effectué des demandes pour le compte du principal.
Par exemple, vous pouvez l'utiliser AWS CloudFormation pour lire et écrire à partir d'une table Amazon DynamoDB. DynamoDB utilise ensuite le chiffrement fourni par AWS Key Management Service ().AWS KMS
-
Disponibilité — Cette clé est présente dans la demande lorsqu'un service qui prend en charge
aws:CalledVia
utilise les informations d'identification d'un IAM principal pour faire une demande à un autre service. Cette clé n’est pas présente si le service utilise un rôle de service ou un rôle lié à un service pour effectuer un appel au nom du principal. Cette clé n'est pas non plus présente lorsque le principal effectue directement l'appel. -
Type de données – Chaîne (liste)
-
Type de valeur – À valeur multiple
Pour utiliser la clé de aws:CalledVia
condition dans une politique, vous devez fournir les principaux de service permettant d'autoriser ou de refuser les demandes AWS de service. AWS prend en charge l'utilisation des principes de service suivants avecaws:CalledVia
.
Principal du service |
---|
aoss.amazonaws.com |
athena.amazonaws.com |
backup.amazonaws.com |
cloud9.amazonaws.com |
cloudformation.amazonaws.com |
databrew.amazonaws.com |
dataexchange.amazonaws.com |
dynamodb.amazonaws.com |
imagebuilder.amazonaws.com |
kms.amazonaws.com |
mgn.amazonaws.com |
nimble.amazonaws.com |
omics.amazonaws.com |
ram.amazonaws.com |
robomaker.amazonaws.com |
servicecatalog-appregistry.amazonaws.com |
sqlworkbench.amazonaws.com |
ssm-guiconnect.amazonaws.com |
Pour autoriser ou refuser l'accès lorsqu'un service effectue une demande à l'aide des informations d'identification du principal, utilisez la clé de condition AWS : V iaAWSService
. Cette clé de condition soutient les AWS services.
La clé aws:CalledVia
est une clé à valeurs multiples. Cependant, vous ne pouvez pas imposer l'ordre en utilisant cette clé dans une condition. Dans l'exemple ci-dessus, User 1 (Utilisateur 1) effectue une demande à AWS CloudFormation, qui appelle DynamoDB, qui appelle AWS KMS. Il s'agit de trois demandes distinctes. Le dernier appel à AWS KMS est effectué par l'utilisateur 1 via DynamoDB, AWS CloudFormation puis par DynamoDB.
Dans ce cas, la clé aws:CalledVia
dans le contexte de la demande comprend cloudformation.amazonaws.com
et dynamodb.amazonaws.com
, dans cet ordre. Si vous vous souciez uniquement du fait que l'appel a été effectué via DynamoDB quelque part dans la chaîne des demandes, vous pouvez utiliser cette clé de condition dans votre politique.
Par exemple, la politique suivante permet de gérer la AWS KMS clé nomméemy-example-key
, mais uniquement si DynamoDB est l'un des services demandeurs. L'opérateur de condition ForAnyValue:StringEquals
s'assure que DynamoDB est un des services appelant. Si le principal effectue directement l'appel à AWS KMS
, la condition renvoie false
et la demande n'est pas autorisée par cette politique.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "KmsActionsIfCalledViaDynamodb", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "arn:aws:kms:
region
:111122223333
:key/my-example-key
", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": ["dynamodb.amazonaws.com"] } } } ] }
Si vous souhaitez définir le service effectuant le premier ou le dernier appel de la chaîne, vous pouvez utiliser les clés aws:CalledViaLast
et aws:CalledViaFirst
. Par exemple, la politique suivante permet de gérer la clé nommée my-example-key
dans AWS KMS. Ces AWS KMS opérations ne sont autorisées que si plusieurs demandes ont été incluses dans la chaîne. La première demande doit être faite via AWS CloudFormation et la dernière, via DynamoDB. Si d'autres services font des demandes au milieu de la chaîne, l'opération est toujours autorisée.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "KmsActionsIfCalledViaChain", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "arn:aws:kms:
region
:111122223333
:key/my-example-key
", "Condition": { "StringEquals": { "aws:CalledViaFirst": "cloudformation.amazonaws.com", "aws:CalledViaLast": "dynamodb.amazonaws.com" } } } ] }
Les clés aws:CalledViaLast
et aws:CalledViaFirst
sont présentes dans la demande lorsqu'un service utilise les informations d'identification d'un mandataire IAM pour appeler un autre service. Elles indiquent le premier et le dernier services ayant effectué des appels dans la chaîne de demandes. Supposons, par exemple, qu' AWS CloudFormation un autre service appelé DynamoDB appelle DynamoDBX Service
, qui appelle ensuite. AWS KMS Le dernier appel à AWS KMS est effectué par User 1
via AWS CloudFormation, thenX Service
, puis DynamoDB. Il a d'abord été appelé via AWS CloudFormation et appelé pour la dernière fois via DynamoDB.
lois : CalledViaFirst
Utilisez cette clé pour comparer les services de la stratégie avec le premier service ayant fait une demande au nom du mandataire IAM (utilisateur ou rôle). Pour de plus amples informations, veuillez consulter aws:CalledVia
.
-
Disponibilité — Cette clé est présente dans la demande lorsqu'un service utilise les informations d'identification d'un IAM principal pour faire au moins une autre demande à un autre service. Cette clé n’est pas présente si le service utilise un rôle de service ou un rôle lié à un service pour effectuer un appel au nom du principal. Cette clé n'est pas non plus présente lorsque le principal effectue directement l'appel.
-
Types de données – Chaîne
-
Type de valeur – À valeur unique
lois : CalledViaLast
Utilisez cette clé pour comparer les services de la stratégie avec le dernier service ayant fait une demande au nom du mandataire IAM (utilisateur ou rôle). Pour de plus amples informations, veuillez consulter aws:CalledVia
.
-
Disponibilité — Cette clé est présente dans la demande lorsqu'un service utilise les informations d'identification d'un IAM principal pour faire au moins une autre demande à un autre service. Cette clé n’est pas présente si le service utilise un rôle de service ou un rôle lié à un service pour effectuer un appel au nom du principal. Cette clé n'est pas non plus présente lorsque le principal effectue directement l'appel.
-
Types de données – Chaîne
-
Type de valeur – À valeur unique
AWS : V iaAWSService
Utilisez cette clé pour vérifier si un utilisateur Service AWS fait une demande à un autre service en votre nom à l'aide de sessions d'accès avancées (FAS).
La clé de contexte de demande true
est renvoyée lorsqu'un service utilise des sessions d'accès direct pour effectuer une demande au nom du IAM principal d'origine. La clé de contexte de demande renvoie également false
lorsque le principal effectue l'appel directement.
-
Availability (Disponibilité) : cette clé figure toujours dans le contexte de la demande.
-
Types de données – Booléen
-
Type de valeur – À valeur unique
lois : CurrentTime
Utilisez cette clé pour comparer la date et l'heure de la demande avec celles spécifiée dans la politique. Pour visualiser un exemple de politique qui utilise cette clé de condition, veuillez consulter AWS : permet l'accès en fonction de la date et de l'heure.
-
Availability (Disponibilité) : cette clé figure toujours dans le contexte de la demande.
-
Type de données – Date
-
Type de valeur – À valeur unique
lois : EpochTime
Utilisez cette clé pour comparer la date et l'heure de la demande au format Epoch ou Unix avec la valeur spécifiée dans la politique. Cette clé accepte également le nombre de secondes depuis le 1er janvier 1970.
aws:referer
Utilisez cette clé pour comparer le référent de la demande dans le navigateur client avec le référent spécifié dans la politique. La valeur du contexte de la aws:referer
demande est fournie par l'appelant dans un HTTP en-tête. L'en-tête Referer
est inclus dans une demande de navigateur Web lorsque vous sélectionnez un lien sur une page Web. L'Referer
en-tête contient le nom URL de la page Web sur laquelle le lien a été sélectionné.
-
Disponibilité — Cette clé est incluse dans le contexte de la demande uniquement si la demande à la AWS ressource a été invoquée par un lien depuis une page Web URL dans le navigateur. Cette clé n'est pas incluse pour les demandes de programmation, car elle n'utilise pas de lien de navigateur pour accéder à la ressource AWS .
-
Types de données – Chaîne
-
Type de valeur – À valeur unique
Par exemple, vous pouvez accéder à un objet Amazon S3 directement en utilisant un URL ou en utilisant un API appel direct. Pour plus d'informations, consultez la section APIOpérations Amazon S3 directement à l'aide d'un navigateur Web. Lorsque vous accédez à un objet Amazon S3 à partir URL d'un objet existant sur une page Web, URL la page Web source est utilisée dansaws:referer
. Lorsque vous accédez à un objet Amazon S3 URL en le saisissant dans votre navigateur, aws:referer
il n'est pas présent. Lorsque vous invoquez le API directement, aws:referer
il n'est pas non plus présent. Vous pouvez utiliser la clé de condition aws:referer
dans une politique pour autoriser les demandes effectuées à partir d'un référent spécifique, comme un lien sur une page Web dans le domaine de votre entreprise.
Avertissement
Utilisez cette clé avec précaution. Il est dangereux d'inclure une valeur d'en-tête de référent connue publiquement. Les tiers non autorisés peuvent utiliser des navigateurs modifiés ou personnalisés pour fournir n'importe quelle valeur aws:referer
de leur choix. Par conséquent, aws:referer
il ne doit pas être utilisé pour empêcher des parties non autorisées de faire des AWS demandes directes. Cette clé est fournie uniquement pour permettre aux clients de protéger leur contenu numérique, stocké notamment dans Amazon S3, contre tout référencement sur des sites tiers non autorisés.
lois : RequestedRegion
Utilisez cette clé pour comparer la AWS région appelée dans la demande avec la région que vous spécifiez dans la politique. Vous pouvez utiliser cette clé de condition globale pour contrôler les régions qui peuvent être demandées. Pour consulter les AWS régions de chaque service, consultez la section Points de terminaison et quotas du service dans le Référence générale d'Amazon Web Services.
-
Availability (Disponibilité) : cette clé figure toujours dans le contexte de la demande.
-
Types de données – Chaîne
-
Type de valeur – À valeur unique
Certains services globaux, tels qu'IAM, ont un point de terminaison unique. Ce point de terminaison étant physiquement situé dans la région de l'est des États-Unis (Virginie du Nord), les IAM appels sont toujours effectués vers la région us-east-1. Par exemple, si vous créez une politique qui refuse l'accès à tous les services si la région demandée n'est pas us-west-2, les appels échouent toujours. IAM Pour voir un exemple de la manière de contourner ce problème, voir NotAction avec Deny.
Note
La clé de condition aws:RequestedRegion
vous permet de contrôler le point de terminaison de service qui est appelé, mais n'a pas d'impact sur l'opération. Certains services ont des impacts entre régions.
Par exemple, Amazon S3 a API des opérations qui s'étendent à toutes les régions.
-
Vous pouvez appeler
s3:PutBucketReplication
dans une région (qui est affectée par la clé de conditionaws:RequestedRegion
), mais d'autres régions sont affectées en fonction des paramètres de configuration des réplications. -
Vous pouvez invoquer
s3:CreateBucket
pour créer un compartiment dans une autre région et utiliser la clé de conditions3:LocationConstraint
pour contrôler les régions applicables.
Vous pouvez utiliser cette clé de contexte pour limiter l'accès aux AWS services au sein d'un ensemble donné de régions. Par exemple, la politique suivante permet à un utilisateur de consulter toutes les EC2 instances Amazon dans le AWS Management Console. Cependant, elle lui permet d'apporter des modifications aux instances dans Irlande (eu-west-1), Londres (eu-west-2) ou Paris (eu-west-3).
{ "Version": "2012-10-17", "Statement": [ { "Sid": "InstanceConsoleReadOnly", "Effect": "Allow", "Action": [ "ec2:Describe*", "ec2:Export*", "ec2:Get*", "ec2:Search*" ], "Resource": "*" }, { "Sid": "InstanceWriteRegionRestricted", "Effect": "Allow", "Action": [ "ec2:Associate*", "ec2:Import*", "ec2:Modify*", "ec2:Monitor*", "ec2:Reset*", "ec2:Run*", "ec2:Start*", "ec2:Stop*", "ec2:Terminate*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": [ "eu-west-1", "eu-west-2", "eu-west-3" ] } } } ] }
aws :RequestTag//tag-key
Utilisez cette clé pour comparer la paire clé-valeur de balise qui a été transmise dans la demande avec la paire de balises spécifiée dans la politique. Par exemple, vous pouvez vérifier que la demande comprend la clé de balise "Dept"
et qu'elle a la valeur "Accounting"
. Pour de plus amples informations, veuillez consulter Contrôle de l'accès au cours des demandes AWS.
-
Disponibilité : cette clé figure dans le contexte de la demande lorsque les balises sont transmises dans la demande. Lorsque plusieurs balises sont transmises dans la demande, il y a une clé de contexte pour chaque paire clé-valeur de balise.
-
Types de données – Chaîne
-
Type de valeur – À valeur unique
Cette clé de contexte est formatée à l'"aws:RequestTag/
endroit où se tag-key
":"tag-value
"tag-key
tag-value
trouvent une clé de balise et une paire de valeurs. Les clés et les valeurs d'étiquette ne sont pas sensibles à la casse. Cela signifie que si vous spécifiez "aws:RequestTag/TagKey1": "Value1"
dans l'élément de condition de votre politique, la condition correspond à une clé de balise de demande nommée TagKey1
ou tagkey1
, mais pas aux deux.
Cet exemple montre que même si la clé est à valeur unique, vous pouvez toujours utiliser plusieurs paires clé-valeur dans une requête si les clés sont différentes.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:::instance/*", "Condition": { "StringEquals": { "aws:RequestTag/environment": [ "preprod", "production" ], "aws:RequestTag/team": [ "engineering" ] } } } }
lois : TagKeys
Utilisez cette clé pour comparer les clés de balise d’une demande avec celles spécifiées dans la politique. Nous vous recommandons, lorsque vous utilisez des politiques pour contrôler l'accès à l'aide de balises, d'utiliser la clé de condition aws:TagKeys
pour définir quelles clés de balises sont autorisées. Pour obtenir des exemples de stratégie et de plus amples informations, veuillez consulter Contrôle de l'accès en fonction des clés de balise.
-
Disponibilité : cette clé figure dans le contexte de la demande si l'opération prend en charge le passage de balises dans la demande.
-
Type de données – Chaîne (liste)
-
Type de valeur – À valeur multiple
Cette clé de contexte est formatée "aws:TagKeys":"
avec tag-key
"tag-key
une liste de clés de balise sans valeurs (par exemple,["Dept","Cost-Center"]
).
Étant donné que vous pouvez inclure plusieurs paires clé-valeur de balise dans une demande, le contenu de la demande peut être une demande à valeurs multiples. Dans ce cas, vous devez utiliser le opérateurs d'ensemble ForAllValues
ou ForAnyValue
. Pour de plus amples informations, veuillez consulter Clés de contexte à valeurs multiples.
Certains services prennent en charge le balisage avec des opérations de ressource, comme la création, la modification ou de la suppression d'une ressource. Pour autoriser le balisage et les opérations sous la forme d'un seul appel, vous devez créer une politique qui inclut à la fois l'action de balisage et celle de modification de ressource. Vous pouvez ensuite utiliser la clé de condition aws:TagKeys
pour imposer l'utilisation de clés de balise spécifiques dans la demande. Par exemple, pour limiter les balises lorsque quelqu'un crée un EC2 instantané Amazon, vous devez inclure l'action de ec2:CreateSnapshot
création et l'action de ec2:CreateTags
balisage dans la politique. Pour consulter une politique applicable à ce scénario qui utiliseaws:TagKeys
, consultez la section Création d'un instantané avec des balises dans le guide de EC2 l'utilisateur Amazon.
lois : SecureTransport
Utilisez cette clé pour vérifier si la demande a été envoyée viaTLS. Le contexte de la demande renvoie true
ou false
. Dans une politique, vous ne pouvez autoriser des actions spécifiques que si la demande est envoyée viaTLS.
-
Availability (Disponibilité) : cette clé figure toujours dans le contexte de la demande.
-
Types de données – Booléen
-
Type de valeur – À valeur unique
lois : SourceAccount
Utilisez cette clé pour comparer l'ID de compte de la ressource qui fait une service-to-service demande avec l'ID de compte que vous spécifiez dans la politique, mais uniquement lorsque la demande est faite par un principal de AWS service.
-
Disponibilité — Cette clé est incluse dans le contexte de la demande uniquement lorsque l'appel à votre ressource est effectué directement par un principal de AWS service au nom d'une ressource pour laquelle la configuration a déclenché la service-to-service demande. Le service appelant transmet l'ID de compte de la ressource au service appelé.
Note
Cette clé fournit un mécanisme uniforme pour l’application du contrôle de l’adjoint confus entre les services au sein des Services AWS. Cependant, toutes les intégrations de services ne nécessitent pas l’utilisation de cette clé de condition globale. Consultez la documentation Services AWS que vous utilisez pour plus d'informations sur les mécanismes spécifiques aux services visant à atténuer les risques liés à la confusion entre les services.
-
Type de données : chaîne
-
Type de valeur – À valeur unique
Vous pouvez utiliser cette clé de condition pour vous assurer qu’un service appelant ne peut accéder à votre ressource que si la requête provient d’un compte spécifique. Par exemple, vous pouvez joindre la politique de contrôle des ressources suivante (RCP) pour refuser les demandes des principaux de service adressées aux compartiments Amazon S3, sauf si elles ont été déclenchées par une ressource du compte spécifié. Cette politique n’applique le contrôle que sur les requêtes des principaux de service ("Bool": {"aws:PrincipalIsAWSService": "true"}
) qui ont la clé aws:SourceAccount
présente ("Null": {"aws:SourceAccount":
"false"}
), de sorte que les intégrations de services qui ne nécessitent pas l’utilisation de cette clé et les appels de vos principaux ne sont pas impactés. Si la clé aws:SourceAccount
est présente dans le contexte de la requête, la condition Null
aura la valeur true
, ce qui entraînera l’application de la clé aws:SourceAccount
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RCPEnforceConfusedDeputyProtection", "Effect": "Deny", "Principal": "*", "Action": [ "s3:*" ], "Resource": "*", "Condition": { "StringNotEqualsIfExists": { "aws:SourceAccount": "111122223333" }, "Null": { "aws:SourceAccount": "false" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } } ] }
Dans les politiques basées sur les ressources où le principal est un Service AWS mandant, utilisez la clé pour limiter les autorisations accordées au service. Par exemple, lorsqu'un compartiment Amazon S3 est configuré pour envoyer des notifications à un SNS sujet Amazon, le service Amazon S3 invoque l'sns:Publish
APIopération pour tous les événements configurés. Dans la politique de rubrique qui autorise l'opération sns:Publish
, définissez la valeur de la clé de condition sur l'ID de compte du compartiment Amazon S3.
lois : SourceArn
Utilisez cette clé pour comparer le nom de ressource Amazon (ARN) de la ressource qui fait une service-to-service demande avec celui ARN que vous spécifiez dans la politique, mais uniquement lorsque la demande est faite par un principal de AWS service. Lorsque la source ARN inclut l'identifiant du compte, il n'est pas nécessaire de l'utiliser aws:SourceAccount
avecaws:SourceArn
.
Cette clé ne fonctionne pas avec celle ARN du principal qui fait la demande. Utilisez à la place lois : PrincipalArn
.
-
Disponibilité — Cette clé est incluse dans le contexte de la demande uniquement lorsque l'appel à votre ressource est effectué directement par un principal de AWS service au nom d'une ressource pour laquelle la configuration a déclenché la service-to-service demande. Le service d'appel transmet ARN la ressource d'origine au service appelé.
Note
Cette clé fournit un mécanisme uniforme pour l’application du contrôle de l’adjoint confus entre les services au sein des Services AWS. Cependant, toutes les intégrations de services ne nécessitent pas l’utilisation de cette clé de condition globale. Consultez la documentation Services AWS que vous utilisez pour plus d'informations sur les mécanismes spécifiques aux services visant à atténuer les risques liés à la confusion entre les services.
-
Type de données — ARN
AWS recommande d'utiliser des ARNopérateurs plutôt que des opérateurs de chaîne lors de la comparaisonARNs.
-
Type de valeur – À valeur unique
Vous pouvez utiliser cette clé de condition pour vous assurer qu’un service appelant ne peut accéder à votre ressource que si la requête provient d’une ressource spécifique. Lorsque vous utilisez une politique basée sur les ressources avec un Service AWS principal comme principalPrincipal
, définissez la valeur de cette clé de condition sur celle ARN de la ressource à laquelle vous souhaitez restreindre l'accès. Par exemple, lorsqu'un compartiment Amazon S3 est configuré pour envoyer des notifications à un SNS sujet Amazon, le service Amazon S3 invoque l'sns:Publish
APIopération pour tous les événements configurés. Dans la rubrique Politique autorisant l'sns:Publish
opération, définissez la valeur de la clé de condition sur celle ARN du compartiment Amazon S3. Pour obtenir des recommandations sur le moment d'utiliser cette clé de condition dans les politiques basées sur les ressources, consultez la documentation de la clé Services AWS que vous utilisez.
lois : SourceOrg ID
Utilisez cette clé pour comparer l'ID d'organisation de la ressource qui fait une service-to-service demande avec l'ID d'organisation que vous spécifiez dans la politique, mais uniquement lorsque la demande est faite par un directeur de AWS service. Lorsque vous ajoutez et supprimez des comptes à une organisation dans AWS Organizations, les politiques qui contiennent la clé aws:SourceOrgID
incluent automatiquement les bons comptes et vous n'avez pas besoin de mettre à jour manuellement les politiques.
-
Disponibilité : cette clé est contenue dans le contexte de la demande uniquement lorsque l'appel à votre ressource est effectué directement par un principal du service AWS au nom d'une ressource appartenant à un compte membre d'une organisation. Le service appelant transmet l'ID de l'organisation de la ressource d'origine au service appelé.
Note
Cette clé fournit un mécanisme uniforme pour l’application du contrôle de l’adjoint confus entre les services au sein des Services AWS. Cependant, toutes les intégrations de services ne nécessitent pas l’utilisation de cette clé de condition globale. Consultez la documentation Services AWS que vous utilisez pour plus d'informations sur les mécanismes spécifiques aux services visant à atténuer les risques liés à la confusion entre les services.
-
Type de données : chaîne
-
Type de valeur – À valeur unique
Vous pouvez utiliser cette clé de condition pour vous assurer qu’un service appelant ne peut accéder à votre ressource que si la requête provient d’une organisation spécifique. Par exemple, vous pouvez joindre la politique de contrôle des ressources suivante (RCP) pour refuser les demandes des principaux de service adressées aux compartiments Amazon S3, sauf si elles ont été déclenchées par une ressource de l'organisation spécifiée AWS . Cette politique n’applique le contrôle que sur les requêtes des principaux de service ("Bool": {"aws:PrincipalIsAWSService":
"true"}
) qui ont la clé aws:SourceAccount
présente ("Null": {"aws:SourceAccount": "false"}
), de sorte que les intégrations de services qui ne nécessitent pas l’utilisation de la clé et les appels de vos principaux ne sont pas impactés. Si la clé aws:SourceAccount
est présente dans le contexte de la requête, la condition Null
aura la valeur true
, ce qui entraînera l’application de la clé aws:SourceOrgID
. Nous utilisons aws:SourceAccount
au lieu de aws:SourceOrgID
dans l’opérateur de condition Null
afin que le contrôle s’applique toujours si la requête provient d’un compte qui n’appartient pas à une organisation.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RCPEnforceConfusedDeputyProtection", "Effect": "Deny", "Principal": "*", "Action": [ "s3:*" ], "Resource": "*", "Condition": { "StringNotEqualsIfExists": { "aws:SourceOrgID": "o-xxxxxxxxxx" }, "Null": { "aws:SourceAccount": "false" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } } ] }
lois : SourceOrgPaths
Utilisez cette clé pour comparer le AWS Organizations chemin de la ressource qui fait une service-to-service demande avec le chemin de l'organisation que vous spécifiez dans la politique, mais uniquement lorsque la demande est faite par un directeur de AWS service. Un chemin Organizations est une représentation textuelle de la structure d'une entité Organizations. Pour de plus amples informations sur l'utilisation et la compréhension des chemins, veuillez consulter Présentation du chemin d'entité AWS Organizations.
-
Disponibilité : cette clé est contenue dans le contexte de la demande uniquement lorsque l'appel à votre ressource est effectué directement par un principal du service AWS au nom d'une ressource appartenant à un compte membre d'une organisation. Le service appelant doit transmet le chemin de l'organisation de la ressource d'origine au service appelé.
Note
Cette clé fournit un mécanisme uniforme pour l’application du contrôle de l’adjoint confus entre les services au sein des Services AWS. Cependant, toutes les intégrations de services ne nécessitent pas l’utilisation de cette clé de condition globale. Consultez la documentation Services AWS que vous utilisez pour plus d'informations sur les mécanismes spécifiques aux services visant à atténuer les risques liés à la confusion entre les services.
-
Type de données – Chaîne (liste)
-
Type de valeur – À valeur multiple
Utilisez cette clé de condition pour vous assurer qu’un service appelant ne peut accéder à votre ressource que si la requête provient d’une unité d’organisation spécifique dans AWS Organizations.
De la même manière que pour aws:SourceOrgID
, afin d’éviter tout impact sur les intégrations de services qui ne nécessitent pas l’utilisation de cette clé, utilisez l’opérateur de condition Null
avec la clé de condition aws:SourceAccount
afin que le contrôle s’applique toujours si la requête provient d’un compte qui n’appartient pas à une organisation.
{ "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
est une clé de condition à valeurs multiples. Les clés multivaluées peuvent avoir plusieurs valeurs dans le contexte de la demande. Vous devez utiliser les opérateurs d'ensemble ForAnyValue
ou ForAllValues
avec l'opérateur de condition de chaîne pour cette clé. Pour de plus amples informations sur les clés de condition à valeurs multiples, veuillez consulter Clés de contexte à valeurs multiples.
lois : UserAgent
Utilisez cette clé pour comparer l'application cliente du demandeur avec l'application spécifiée dans la politique.
-
Availability (Disponibilité) : cette clé figure toujours dans le contexte de la demande.
-
Types de données – Chaîne
-
Type de valeur – À valeur unique
Avertissement
Utilisez cette clé avec précaution. Comme la aws:UserAgent
valeur est fournie par l'appelant dans un HTTP en-tête, les parties non autorisées peuvent utiliser des navigateurs modifiés ou personnalisés pour fournir aws:UserAgent
la valeur de leur choix. Par conséquent, aws:UserAgent
il ne doit pas être utilisé pour empêcher des parties non autorisées de faire des AWS demandes directes. Vous pouvez l'utiliser pour autoriser uniquement les applications clientes spécifiques, et uniquement après avoir testé votre politique.
Autres clés de condition inter-services
AWS STS prend en charge SAMLdes clés de condition de fédération basées sur des clés de condition et des clés de condition interservices pour la OIDCfédération. Ces clés sont disponibles lorsqu'un utilisateur fédéré via SAML effectue AWS des opérations dans d'autres services.