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.
Vous pouvez utiliser Condition
cet élément dans une JSON politique pour tester la valeur des clés incluses dans le contexte de toutes les AWS demandes. Ces clés fournissent des informations sur la demande elle-même ou les ressources référencées par cette dernière. Vous pouvez vérifier que les clés disposent de valeurs spécifiées avant d'autoriser l'action demandée par l'utilisateur. Cela vous permet de contrôler de manière précise si vos déclarations JSON de politique correspondent ou non à une demande entrante. Pour plus d'informations sur l'utilisation de l'Condition
élément dans une JSON politique, consultezÉléments de politique JSON IAM : Condition.
Cette rubrique décrit les clés définies et fournies par le IAM service (avec un iam:
préfixe) et le service AWS Security Token Service (AWS STS) (avec un sts:
préfixe). Plusieurs autres AWS services fournissent également des clés spécifiques au service qui sont pertinentes pour les actions et les ressources définies par ce service. Pour plus d'informations, consultez Actions, ressources et clés de condition pour les AWS services. La documentation pour un service qui prend en charge des clés de condition possède généralement des informations supplémentaires. Par exemple, pour obtenir des informations sur les clés que pouvez utiliser dans les politiques relatives aux ressources Amazon S3, veuillez consulter clés de politique Amazon S3 dans le guide de l'utilisateur service de stockage simple Amazon.
Rubriques
Clés disponibles pour IAM
Vous pouvez utilisez les clés de condition suivantes dans des stratégies qui contrôlent l'accès aux ressources IAM :
- iam : AssociatedResourceArn
-
Fonctionne avec ARNles opérateurs.
Spécifie ARN la ressource à laquelle ce rôle sera associé sur le service de destination. La ressource appartient généralement au service auquel le principal transmet le rôle. Parfois, la ressource peut appartenir à un troisième service. Par exemple, vous pouvez transmettre un rôle à Amazon EC2 Auto Scaling qu'il utilise sur une EC2 instance Amazon. Dans ce cas, la condition correspondrait à celle ARN de l'EC2instance Amazon.
Cette clé de condition s'applique uniquement à l'PassRoleaction d'une politique. Elle ne peut pas être utilisée pour limiter une autre action.
Important
Lorsque vous utilisez la
iam:AssociatedResourceArn
condition dans une politique pour restreindre l'PassRoleaction, des considérations spéciales s'appliquent si la stratégie est destinée à définir l'accès pour l'AddRoleToInstanceProfileaction. Dans ce cas, vous ne pouvez pas spécifier de région ou d'ID d'instance dans l'EC2instanceARN. La valeur ARN doit êtrearn:aws:ec2:*:CallerAccountId:instance/*
. L'utilisation de toute autre ARN valeur peut entraîner des résultats d'évaluation inattendus.Utilisez cette clé de condition dans une politique basée sur l’identité pour permettre à une entité de transmettre un rôle, mais uniquement si ce rôle est associé à la ressource spécifiée. Par exemple, vous pouvez autoriser un IAM utilisateur ou un rôle à transmettre n'importe quel rôle au EC2 service Amazon afin qu'il soit utilisé avec les instances du Compte AWS. L'IAMutilisateur ou le rôle ne serait pas autorisé à transmettre des rôles à d'autres services.
{ "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "ec2.amazonaws.com" }, "ArnLike": { "iam:AssociatedResourceARN": [ "arn:aws:ec2:*:111122223333:instance/*" ] } } }
Note
AWS services compatibles avec iam : prennent PassedToService également en charge cette clé de condition.
- iam : AWSServiceName
-
Fonctionne avec des opérateurs de chaîne.
Spécifie le AWS service auquel ce rôle est attaché.
Dans cet exemple, vous autorisez une entité à créer un rôle lié à un service si le nom de service est access-analyzer.amazonaws.com.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "access-analyzer.amazonaws.com" } } }] }
- iam : -certification FIDO
-
Fonctionne avec des opérateurs de chaîne.
Vérifie le niveau de FIDO certification de l'MFAappareil au moment de l'enregistrement d'une clé de FIDO sécurité. La certification de l'appareil est extraite du service de métadonnées FIDO Alliance (MDS)
. Si le statut ou le niveau de certification de votre clé de FIDO sécurité change, il ne sera pas mis à jour, sauf si l'appareil est désenregistré et enregistré à nouveau pour récupérer les informations de certification mises à jour. Valeurs possibles de L1, L1plus, L2, L2plus, L3, L3plus
Dans cet exemple, vous enregistrez une clé de sécurité et récupérez la certification de FIDO niveau 1 plus pour votre appareil.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Create" } } }, { "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Activate", "iam:FIDO-certification": "L1plus" } } } ] }
- certification iam : FIDO - -140-2 FIPS
-
Fonctionne avec des opérateurs de chaîne.
Vérifie le niveau de certification de validation FIPS -140-2 de l'MFAappareil au moment de l'enregistrement d'une FIDO clé de sécurité. La certification de l'appareil est extraite du service de métadonnées FIDO Alliance (MDS)
. Si le statut ou le niveau de certification de votre clé de FIDO sécurité change, il ne sera pas mis à jour, sauf si l'appareil est désenregistré et enregistré à nouveau pour récupérer les informations de certification mises à jour. Valeurs possibles de L1, L2, L3, L4
Dans cet exemple, vous enregistrez une clé de sécurité et récupérez la certification FIPS -140-2 de niveau 2 pour votre appareil.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Create" } } }, { "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Activate", "iam:FIDO-FIPS-140-2-certification": "L2" } } } ] }
- certification iam : FIDO - -140-3 FIPS
-
Fonctionne avec des opérateurs de chaîne.
Vérifie le niveau de certification de validation FIPS -140-3 de l'MFAappareil au moment de l'enregistrement d'une FIDO clé de sécurité. La certification de l'appareil est extraite du service de métadonnées FIDO Alliance (MDS)
. Si le statut ou le niveau de certification de votre clé de FIDO sécurité change, il ne sera pas mis à jour, sauf si l'appareil est désenregistré et enregistré à nouveau pour récupérer les informations de certification mises à jour. Valeurs possibles de L1, L2, L3, L4
Dans cet exemple, vous enregistrez une clé de sécurité et récupérez la certification FIPS -140-3 de niveau 3 pour votre appareil.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Create" } } }, { "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Activate", "iam:FIDO-FIPS-140-3-certification": "L3" } } } ] }
- iam : RegisterSecurityKey
-
Fonctionne avec des opérateurs de chaîne.
Vérifie l'état actuel de l'activation de MFA l'appareil.
Valeurs possibles de
Create
ouActivate
.Dans cet exemple, vous enregistrez une clé de sécurité et récupérez la certification FIPS -140-3 de niveau 1 pour votre appareil.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Create" } } }, { "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Activate", "iam:FIDO-FIPS-140-3-certification": "L1" } } } ] }
- iam : OrganizationsPolicyId
-
Fonctionne avec des opérateurs de chaîne.
Vérifie que la politique avec l' AWS Organizations ID spécifié correspond à la politique utilisée dans la demande. Pour visualiser un exemple de stratégie IAM qui utilise cette clé de condition, consultez IAM : afficher les dernières informations consultées relatives au service pour une politique Organizations.
- iam : PassedToService
-
Fonctionne avec des opérateurs de chaîne.
Spécifie le principal du service auquel un rôle peut être transmis. Cette clé de condition s'applique uniquement à l'PassRoleaction d'une politique. Elle ne peut pas être utilisée pour limiter une autre action.
Lorsque vous utilisez cette clé de condition dans une politique, spécifiez le service à l'aide d'un principal service. Un principal de service est le nom d'un service qui peut être spécifié dans l'élément
Principal
d'une politique. Il s'agit du format habituel :SERVICE_NAME_URL.amazonaws.com
.Vous pouvez utiliser
iam:PassedToService
pour limiter vos utilisateurs de sorte qu'ils puissent transmettre des rôles uniquement à des services spécifiques. Par exemple, un utilisateur peut créer un rôle de service qui l'autorise CloudWatch à écrire des données de journal dans un compartiment Amazon S3 en son nom. Ensuite, l'utilisateur doit attacher une politique d'autorisation et une politique d'approbation au nouveau rôle de service. Dans ce cas, la politique d'approbation doit spécifiercloudwatch.amazonaws.com
dans l'élémentPrincipal
. Pour consulter une politique qui permet à l'utilisateur de transmettre le rôle CloudWatch, consultezIAM : transmettre un rôle IAM à un service AWS spécifique.En utilisant cette clé de condition, vous pouvez vous assurer que les utilisateurs créent des rôles de service uniquement pour les services que vous spécifiez. Par exemple, si un utilisateur appliquant la politique précédente tente de créer un rôle de service pour AmazonEC2, l'opération échouera. L'échec est dû au fait que l'utilisateur n'est pas autorisé à transmettre le rôle à AmazonEC2.
Parfois, vous transmettez un rôle à un service, qui le transmet ensuite à un service différent.
iam:PassedToService
inclut uniquement le service final qui endosse le rôle, et non le service intermédiaire qui transmet le rôle.Note
Certains services ne prennent pas en charge cette clé de condition.
- iam : PermissionsBoundary
-
Fonctionne avec ARNles opérateurs.
Vérifie que la stratégie spécifiée est attachée en tant que limite d'autorisations sur la ressource du mandataire IAM. Pour plus d’informations, consultez Limites d'autorisations pour les entités IAM.
- IAM : Politique ARN
-
Fonctionne avec ARNles opérateurs.
Vérifie le nom de ressource Amazon (ARN) d'une politique gérée dans les demandes impliquant une politique gérée. Pour de plus amples informations, veuillez consulter Contrôle de l'accès aux politiques.
- Liam :/ResourceTag
key-name
-
Fonctionne avec des opérateurs de chaîne.
Vérifie que l'étiquette attachée à la ressource d'identité (utilisateur ou rôle) correspond aux nom et valeur de la clé spécifiée.
Note
IAMet AWS STS supportent à la fois la clé de
iam:ResourceTag
IAM condition et la clé de conditionaws:ResourceTag
globale.Vous pouvez ajouter des attributs personnalisés aux IAM ressources sous la forme d'une paire clé-valeur. Pour plus d'informations sur le balisage pour les ressources IAM, consultez Balises pour les ressources AWS Identity and Access Management. Vous pouvez utiliser
ResourceTag
pour contrôler l'accès aux ressources AWS , y compris les ressources IAM. Cependant, comme IAM ne prend pas en charge les balises pour les groupes, vous ne pouvez pas utiliser de balises pour contrôler l'accès aux groupes.Cet exemple montre comment vous pouvez créer une politique basée sur l'identité qui autorise la suppression des utilisateurs avec la balise
status=terminated
. Pour utiliser cette politique, remplacez celle deitalicized 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:DeleteUser", "Resource": "*", "Condition": {"StringEquals": {"iam:ResourceTag/
status
": "terminated
"}} }] }
Clés disponibles pour la AWS OIDC fédération
Vous pouvez utiliser OIDC la fédération pour fournir des informations de sécurité temporaires aux utilisateurs authentifiés via un fournisseur d'identité compatible OpenID Connect (IdP) auprès d'un fournisseur d'identité IAM OpenID OIDC Connect () de votre compte. AWS Amazon Cognito GitHub, Login with Amazon et Google sont des exemples de tels fournisseurs. Des jetons d’identité et des jetons d’accès provenant de votre propre IdP peuvent être utilisés, ainsi que des jetons de compte de service accordés aux charges de travail d’Amazon Elastic Kubernetes Service.
Vous pouvez utiliser les clés contextuelles de AWS OIDC condition pour rédiger des politiques qui limitent l'accès des utilisateurs fédérés aux ressources associées à un fournisseur, une application ou un utilisateur spécifique. Ces clés sont généralement utilisées dans la politique d'approbation d'un rôle. Définissez les clés de condition en utilisant le nom du OIDC fournisseur (token.actions.githubusercontent.com
) suivi d'une réclamation (:aud
) :token.actions.githubusercontent.com:aud
.
Certaines clés OIDC de condition de fédération peuvent être utilisées dans la session de rôle pour autoriser l'accès aux ressources. Si la valeur est Oui dans la colonne Disponible dans la session, vous pouvez utiliser ces clés de condition dans les politiques pour définir les accès des utilisateurs dans d'autres AWS services. Lorsqu'une réclamation n'est pas disponible en session, la clé de contexte de OIDC condition ne peut être utilisée que dans une politique de confiance des rôles pour l'AssumeRoleWithWebIdentityauthentification initiale.
Sélectionnez votre IdP pour voir comment les revendications de votre IdP sont mappées pour IAM conditionner le contexte. AWS Vous trouverez plus d'informations sur les touches pour GitHub et Google dans l'onglet Par défaut.
La valeur par défaut répertorie les OIDC revendications standard et la manière dont elles sont associées aux clés de contexte de AWS STS condition insérées AWS. Vous pouvez utiliser ces clés pour contrôler l'accès à un rôle. Pour ce faire, comparez les clés de AWS STS condition aux valeurs de la colonne de JWTréclamation IdP. Utilisez ce mappage si votre IdP n’est pas répertorié dans les options de l’onglet.
GitHub Les workflows Actions et Google en sont quelques exemples IdPs qui utilisent l'implémentation par défaut dans leur jeton OIDC JWT d'identification.
AWS STS clé de condition | Demande d'IdP JWT | Disponible dans la session |
---|---|---|
amr |
amr |
Oui |
aud |
azp Si aucune valeur n’est définie pour |
Oui |
Non |
||
oaud |
aud |
Non |
sub |
sub |
Oui |
Pour plus d'informations sur l'utilisation des clés contextuelles de OIDC condition avec GitHub, consultezConfiguration d'un rôle pour le fournisseur d'identité OIDC GitHub. Pour de plus amples informations sur les champs Google aud
et azp
, veuillez consulter le guide Google Identity Platform OpenID Connect
- amr
-
Fonctionne avec des opérateurs de chaîne. La clé comporte plusieurs valeurs, ce qui signifie que vous l'analysez dans une politique à l'aide d'opérateurs de définition de condition.
Exemple :
token.actions.githubusercontent.com:amr
La référence des méthodes d’authentification inclut les informations de connexion de l’utilisateur. Elle contient les valeurs suivantes :
-
Si l'utilisateur n'est pas authentifié, la clé contient uniquement
unauthenticated
. -
Si l’utilisateur est authentifié, la clé contient la valeur
authenticated
et le nom du fournisseur de connexions utilisé dans l’appel (accounts.google.com
).
-
- aud
-
Fonctionne avec des opérateurs de chaîne.
Exemples :
-
accounts.google.com:aud
-
token.actions.githubusercontent.com:aud
Utilisez la clé de condition
aud
pour vérifier que le public correspond à celui spécifié dans la politique. Vous pouvez utiliser la clé aud avec la clé sub pour le même fournisseur d’identité.Cette clé de condition est définie à partir des champs de jeton suivants :
-
aud
pour le client Google OAuth 2.0 IDs de votre application, lorsque leazp
champ n'est pas défini. Lorsque le champazp
est défini, le champaud
correspond à la clé de conditionaccounts.google.com:oaud
. -
azp
lorsque le champazp
est défini. Cela peut se produire pour les applications hybrides dans lesquelles une application Web et une application Android ont un identifiant client Google OAuth 2.0 différent mais partagent le même APIs projet Google.
Lorsque vous écrivez une politique à l'aide de la clé de condition
accounts.google.com:aud
, vous devez savoir si l'application est une application hybride qui définit le champazp
.Champ non défini
azp
L'exemple de politique suivant fonctionne pour les applications non hybrides qui ne définissent pas le champ
azp
. Dans ce cas, la valeur du champ de jeton d'ID Googleaud
correspond à la fois aux valeurs de clé de conditionaccounts.google.com:aud
etaccounts.google.com:oaud
.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"Federated": "accounts.google.com"}, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "accounts.google.com:aud": "aud-value", "accounts.google.com:oaud": "aud-value", "accounts.google.com:sub": "sub-value" } } } ] }
Champ défini
azp
L'exemple de politique suivant fonctionne pour les applications hybrides qui définissent le champ
azp
. Dans ce cas, la valeur du champ de jeton d'ID Googleaud
correspond uniquement à la valeur de clé de conditionaccounts.google.com:oaud
. La valeur du champazp
correspond à la valeur de clé de conditionaccounts.google.com:aud
.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"Federated": "accounts.google.com"}, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "accounts.google.com:aud": "azp-value", "accounts.google.com:oaud": "aud-value", "accounts.google.com:sub": "sub-value" } } } ] }
-
-
Fonctionne avec des opérateurs de chaîne.
Exemple :
accounts.google.com:email
Cette clé de condition valide l’adresse e-mail de l’utilisateur. La valeur de cette demande peut ne pas être unique à ce compte et peut changer au fil du temps. Par conséquent, vous ne devez pas utiliser cette valeur comme identifiant principal pour vérifier votre enregistrement d’utilisateur.
- oaud
-
Fonctionne avec des opérateurs de chaîne.
Exemple :
accounts.google.com:oaud
Cette clé spécifie l’autre public (
aud
) auquel ce jeton d’ID est destiné. Il doit s'agir de l'un des clients OAuth 2.0 IDs de votre application. - sub
-
Fonctionne avec des opérateurs de chaîne.
Exemples :
-
accounts.google.com:sub
-
token.actions.githubusercontent.com:sub
Utilisez ces clés pour vérifier que le sujet correspond à celui spécifié dans la politique. Vous pouvez utiliser la clé
sub
avec la cléaud
pour le même fournisseur d'identité.Dans la politique de confiance des rôles suivante, la clé de
sub
condition limite le rôle à la GitHib branche nomméedemo
.{ "Version": "2012-10-17", "Statement": [ "Condition": { "StringEquals": { "token.actions.githubusercontent.com:aud": "sts.amazonaws.com", "token.actions.githubusercontent.com:sub": "repo:octo-org/octo-repo:ref:refs/heads/demo" } } ] }
-
Plus d'informations sur OIDC la fédération
Clés disponibles pour la AWS STS
fédération SAML basée
Si vous travaillez avec une fédération SAML basée sur AWS Security Token Service (AWS STS), vous pouvez inclure des clés de condition supplémentaires dans la politique.
SAMLpolitiques de confiance dans les rôles
Dans la politique d'approbation d'un rôle, vous pouvez inclure les clés suivantes afin d'établir si le principal est autorisé à endosser le rôle. À l'exception desaml:doc
, toutes les valeurs sont dérivées de l'SAMLassertion. Tous les éléments de la liste sont disponibles dans l'éditeur visuel de la console IAM lorsque vous créez ou modifiez une stratégie avec des conditions. Les éléments marqués d'un [[]
peuvent avoir une valeur qui est une liste du type spécifié.
- saml:aud
-
Fonctionne avec des opérateurs de chaîne.
Point de terminaison URL auquel SAML les assertions sont présentées. La valeur de cette clé provient du champ
SAML Recipient
de l'assertion, non du champAudience
. - échantillon : commonName []
-
Fonctionne avec des opérateurs de chaîne.
Attribut
commonName
. - saml:cn[]
-
Fonctionne avec des opérateurs de chaîne.
Attribut
eduOrg
. - saml:doc
-
Fonctionne avec des opérateurs de chaîne.
Représente le principal utilisé pour endosser le rôle. Le format est
account-ID
/provider-friendly-name
, par exemple123456789012/SAMLProviderName
. La valeur Account-ID fait référence au compte auquel appartient le SAML fournisseur. - saml:edupersonaffiliation[]
-
Fonctionne avec des opérateurs de chaîne.
Attribut
eduPerson
. - saml:edupersonassurance[]
-
Fonctionne avec des opérateurs de chaîne.
Attribut
eduPerson
. - saml:edupersonentitlement[]
-
Fonctionne avec des opérateurs de chaîne.
Attribut
eduPerson
. - saml:edupersonnickname[]
-
Fonctionne avec des opérateurs de chaîne.
Attribut
eduPerson
. - saml:edupersonorgdn
-
Fonctionne avec des opérateurs de chaîne.
Attribut
eduPerson
. - saml:edupersonorgunitdn[]
-
Fonctionne avec des opérateurs de chaîne.
Attribut
eduPerson
. - saml:edupersonprimaryaffiliation
-
Fonctionne avec des opérateurs de chaîne.
Attribut
eduPerson
. - saml:edupersonprimaryorgunitdn
-
Fonctionne avec des opérateurs de chaîne.
Attribut
eduPerson
. - saml:edupersonprincipalname
-
Fonctionne avec des opérateurs de chaîne.
Attribut
eduPerson
. - saml:edupersonscopedaffiliation[]
-
Fonctionne avec des opérateurs de chaîne.
Attribut
eduPerson
. - saml:edupersontargetedid[]
-
Fonctionne avec des opérateurs de chaîne.
Attribut
eduPerson
. - saml:eduorghomepageuri[]
-
Fonctionne avec des opérateurs de chaîne.
Attribut
eduOrg
. - saml:eduorgidentityauthnpolicyuri[]
-
Fonctionne avec des opérateurs de chaîne.
Attribut
eduOrg
. - saml:eduorglegalname[]
-
Fonctionne avec des opérateurs de chaîne.
Attribut
eduOrg
. - saml:eduorgsuperioruri[]
-
Fonctionne avec des opérateurs de chaîne.
Attribut
eduOrg
. - saml:eduorgwhitepagesuri[]
-
Fonctionne avec des opérateurs de chaîne.
Attribut
eduOrg
. - échantillon : givenName []
-
Fonctionne avec des opérateurs de chaîne.
Attribut
givenName
. - saml:iss
-
Fonctionne avec des opérateurs de chaîne.
L'émetteur, qui est représenté par unURN.
- saml:mail[]
-
Fonctionne avec des opérateurs de chaîne.
Attribut
mail
. - saml:name[]
-
Fonctionne avec des opérateurs de chaîne.
Attribut
name
. - saml:namequalifier
-
Fonctionne avec des opérateurs de chaîne.
Une valeur de hachage basée sur le nom convivial du SAML fournisseur. La valeur est la concaténation des valeurs suivantes, dans l'ordre et séparées par le caractère '/' :
-
Valeur de la réponse
Issuer
(saml:iss
) -
ID du compte
AWS
. -
Le nom convivial (la dernière partie duARN) du SAML fournisseur dans IAM
La concaténation de l'identifiant du compte et du nom convivial du SAML fournisseur est disponible pour les IAM politiques en tant que clé.
saml:doc
Pour de plus amples informations, veuillez consulter Identification unique des utilisateurs dans la fédération SAML. -
- échantillon : organizationStatus []
-
Fonctionne avec des opérateurs de chaîne.
Attribut
organizationStatus
. - échantillon : primaryGroup SID []
-
Fonctionne avec des opérateurs de chaîne.
Attribut
primaryGroupSID
. - saml:sub
-
Fonctionne avec des opérateurs de chaîne.
Objet de la demande, qui inclut une valeur qui identifie de manière unique un utilisateur individuel au sein d'une organisation (par exemple,
_cbb88bf52c2510eabe00c1642d4643f41430fe25e3
). - saml:sub_type
-
Fonctionne avec des opérateurs de chaîne.
Cette clé peut avoir la valeur
persistent
ou être composée de l'intégralitéFormat
URI desNameID
élémentsSubject
et utilisés dans votre SAML assertion.transient
La valeurpersistent
indique que la valeur desaml:sub
reste la même pour l'utilisateur entre les sessions. Si la valeur esttransient
, l'utilisateur a une valeursaml:sub
différente pour chaque session. Pour plus d'informations sur l'attributNameID
de l'élémentFormat
, consultez Configuration d’assertions SAML pour la réponse d’authentification. - saml:surname[]
-
Fonctionne avec des opérateurs de chaîne.
Attribut
surnameuid
. - saml:uid[]
-
Fonctionne avec des opérateurs de chaîne.
Attribut
uid
. - saml:x500 [] UniqueIdentifier
-
Fonctionne avec des opérateurs de chaîne.
Attribut
x500UniqueIdentifier
.
Pour des informations générales eduPerson
et des eduOrg
attributs, consultez le site Web du REFEDS WikieduPerson
attributs, consultez la section Spécification des classes d'eduPerson objets (201602).
Les clés de condition dont le type est une liste peuvent inclure plusieurs valeurs. Pour créer des conditions dans la politique pour des valeurs de liste, vous pouvez utiliser des opérateurs de définition (ForAllValues
, ForAnyValue
). Par exemple, pour autoriser un utilisateur dont l'affiliation est « faculté » ou « personnel » (mais pas « étudiant »), vous pouvez utiliser la condition suivante :
"Condition": {
"ForAllValues:StringLike": {
"saml:edupersonaffiliation":[ "faculty", "staff"]
}
}
Clés contextuelles de AWS STS fédération SAML basées sur plusieurs services
Certaines clés de condition de fédération SAML basées sur la fédération peuvent être utilisées dans des demandes ultérieures pour autoriser AWS des opérations dans d'autres services et AssumeRole
appels. Il s'agit des clés de condition suivantes qui peuvent être utilisées dans les politiques de confiance des rôles lorsque les principaux fédérés assument un autre rôle, et dans les politiques de ressources d'autres AWS services pour autoriser l'accès aux ressources par des principaux fédérés. Pour plus d'informations sur l'utilisation de ces clés, consultez À propos de la fédération SAML basée sur la version 2.0.
Sélectionnez une clé de condition pour voir la description.
Note
Aucune autre clé SAML de condition de fédération ne peut être utilisée après la réponse d'authentification initiale du fournisseur d'identité externe (IdP).
Clés disponibles pour AWS STS
Vous pouvez utiliser les clés de condition suivantes dans IAM les politiques de confiance des rôles pour les rôles assumés à l'aide d'opérations AWS Security Token Service (AWS STS).
- saml:sub
-
Fonctionne avec des opérateurs de chaîne.
Objet de la demande, qui inclut une valeur qui identifie de manière unique un utilisateur individuel au sein d'une organisation (par exemple,
_cbb88bf52c2510eabe00c1642d4643f41430fe25e3
). - sièges : AWSServiceName
-
Fonctionne avec des opérateurs de chaîne.
Utilisez cette clé pour spécifier un service dans lequel un jeton porteur fonctionne. Lorsque vous utilisez cette clé de condition dans une politique, spécifiez le service à l'aide d'un principal service. Un principal de service est le nom d'un service qui peut être spécifié dans l'élément
Principal
d'une politique. Par exemple,codeartifact.amazonaws.com
c'est le principal du AWS CodeArtifact service.Disponibilité : cette clé est présente dans les demandes qui obtiennent un jeton porteur. Vous ne pouvez pas appeler directement pour AWS STS obtenir un jeton au porteur. Lorsque vous effectuez certaines opérations dans d'autres services, le service demande le jeton au porteur en votre nom.
Certains AWS services nécessitent que vous soyez autorisé à obtenir un jeton de support de AWS STS service avant de pouvoir accéder à leurs ressources par programmation. Par exemple, AWS CodeArtifact exige des principaux qu'ils utilisent des jetons porteurs pour effectuer certaines opérations. La commande
aws codeartifact get-authorization-token
renvoie un jeton porteur. Vous pouvez ensuite utiliser le jeton porteur pour effectuer des AWS CodeArtifact opérations. Pour de plus amples informations sur les jetons porteurs, veuillez consulter Jeton porteur de service.Vous pouvez utiliser cette clé de condition pour permettre aux entités d'obtenir un jeton porteur à utiliser avec un service spécifique.
- sièges : DurationSeconds
-
Fonctionne avec des opérateurs numériques.
Utilisez cette clé pour spécifier la durée (en secondes) que le principal peut utiliser pour obtenir un jeton au AWS STS porteur.
Disponibilité : cette clé est présente dans les demandes qui obtiennent un jeton porteur. Vous ne pouvez pas appeler directement pour AWS STS obtenir un jeton au porteur. Lorsque vous effectuez certaines opérations dans d'autres services, le service demande le jeton au porteur en votre nom. La clé n'est pas présente pour les opérations AWS STS assume-role.
Certains AWS services nécessitent que vous soyez autorisé à obtenir un jeton de support de AWS STS service avant de pouvoir accéder à leurs ressources par programmation. Par exemple, AWS CodeArtifact exige des principaux qu'ils utilisent des jetons porteurs pour effectuer certaines opérations. La commande
aws codeartifact get-authorization-token
renvoie un jeton porteur. Vous pouvez ensuite utiliser le jeton porteur pour effectuer des AWS CodeArtifact opérations. Pour de plus amples informations sur les jetons porteurs, veuillez consulter Jeton porteur de service. - sièges : ExternalId
-
Fonctionne avec des opérateurs de chaîne.
Utilisez cette clé pour exiger qu'un mandataire fournisse un identifiant spécifique lors de la prise en charge d'un rôle IAM.
Disponibilité — Cette clé est présente dans la demande lorsque le principal fournit un identifiant externe tout en assumant un rôle à l'aide du AWS CLI or AWS API.
Identifiant unique qui peut être requis lorsque vous endossez un rôle dans un autre compte. Si l'administrateur du compte auquel appartient le rôle vous a fourni un ID externe, indiquez cette valeur dans le paramètre
ExternalId
. Cette valeur peut être n'importe quelle chaîne, comme une phrase de passe ou un numéro de compte. La fonction principale de l’ID externe est de traiter et de prévenir le problème du délégué confus. Pour de plus amples informations sur l'ID externe et le problème du député confus, veuillez consulter Accès à des Comptes AWS appartenant à des tiers.La valeur
ExternalId
peut avoir un minimum de 2 caractères et un maximum de 1 224 caractères. La valeur doit être alphanumérique sans espaces. Elle peut également inclure les symboles suivants : signe plus (+), signe égal (=), virgule (,), point (.), arobase (@), deux points (:), barre oblique (/) et tiret (-). - sts :RequestContext/touche contextuelle
-
Fonctionne avec des opérateurs de chaîne.
Utilisez cette clé pour comparer les paires clé-valeur du contexte de session intégrées dans l'assertion contextuelle signée par l'émetteur du jeton sécurisé transmise dans la demande avec les paires clé-valeurs spécifiées dans la politique de confiance des rôles.
Disponibilité — Cette clé est présente dans la demande lorsqu'une assertion de contexte est fournie dans le paramètre de
ProvidedContexts
demande tout en assumant un rôle à l'aide de l' AWS STS AssumeRoleAPIopération.Cette clé de contexte a le format suivant :
"sts:RequestContext/context-key":"context-value"
oùcontext-key
etcontext-value
constituent une paire clé-valeur de contexte. Lorsque plusieurs clés de contexte sont intégrées dans l'assertion de contexte signée transmise dans la demande, il y a une clé de contexte pour chaque paire clé-valeur. Vous devez autoriser l'actionsts:SetContext
dans la politique de confiance des rôles afin de permettre à un principal de définir des clés de contexte dans le jeton de session obtenu. Pour en savoir plus sur les clés IAM contextuelles d'Identity Center prises en charge qui peuvent être utilisées avec cette clé, consultez les clés de AWS STS condition pour IAM Identity Center dans le guide de AWS IAM Identity Center l'utilisateur.Vous pouvez utiliser cette clé dans une politique de confiance des rôles pour appliquer un contrôle d'accès précis basé sur l'utilisateur ou ses attributs lorsqu'il endosse un rôle. Une fois le rôle assumé, l'activité apparaît dans les AWS CloudTrail journaux de l'
AdditionalEventData
attribut, contenant les paires clé-valeur du contexte de session définies par le fournisseur de contexte dans la demande d'attribution du rôle. Cela permet aux administrateurs de différencier plus facilement les sessions de rôle lorsqu'un rôle est utilisé par différents principaux. Les paires clé-valeur sont définies par le fournisseur de contexte spécifié, et non par AWS CloudTrail ou. AWS STS Cela permet au fournisseur de contexte de contrôler le contexte inclus dans les CloudTrail journaux et les informations de session. - sièges : RequestContextProviders
-
Fonctionne avec ARNles opérateurs.
Utilisez cette clé pour comparer le fournisseur de contexte de ARN la demande avec le fournisseur de contexte ARN spécifié dans la politique d'approbation des rôles.
Disponibilité — Cette clé est présente dans la demande lorsqu'une assertion de contexte est fournie dans le paramètre de
ProvidedContexts
demande tout en assumant un rôle à l'aide de l' AWS STS AssumeRoleAPIopération.L'exemple de condition suivant vérifie que le fournisseur de contexte ARN transmis à la demande correspond à ce qui est ARN spécifié dans la condition de politique de confiance dans les rôles.
"Condition": { "ForAllValues:ArnEquals": { "sts:RequestContextProviders": [ "arn:aws:iam::aws:contextProvider/IdentityCenter" ] } }
- sièges : RoleSessionName
-
Fonctionne avec des opérateurs de chaîne.
Utilisez cette clé pour comparer le nom de session spécifié par un principal lorsqu'il endosse un rôle avec la valeur spécifiée dans la politique.
Disponibilité — Cette clé est présente dans la demande lorsque le principal assume le rôle à l' AWS Management Console aide de toute CLI commande assume-role ou de toute AWS STS
AssumeRole
API opération.Vous pouvez utiliser cette clé dans une politique d'approbation de rôle pour exiger que vos utilisateurs fournissent un nom de session spécifique lorsqu'ils endossent un rôle. Par exemple, vous pouvez exiger que les utilisateurs IAM spécifient leur propre nom d'utilisateur comme nom de session. Une fois que l'utilisateur IAM assume le rôle, l'activité apparaît dans les journaux AWS CloudTrail sous le nom de session correspondant à son nom d'utilisateur. Cela permet aux administrateurs de différencier plus facilement les sessions de rôle lorsqu'un rôle est utilisé par différents principaux.
La stratégie d'approbation de rôle suivante exige que les utilisateurs IAM dans le compte
111122223333
fournissent leur nom d'utilisateur IAM comme nom de session lorsqu'ils assument le rôle. Cette exigence est appliquée à l'aide de la variable de conditionaws:username
dans la clé de condition. Cette stratégie permet aux utilisateurs IAM d'assumer le rôle auquel la stratégie est attachée. Cette stratégie empêche quiconque utilise des informations d'identification temporaires d'assumer le rôle, car la variableusername
est uniquement présente pour les utilisateurs IAM.Important
Vous pouvez utiliser n'importe quelle clé de condition à valeur unique comme variable. Vous ne pouvez pas utiliser de clé de condition à valeurs multiples en tant que variable.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RoleTrustPolicyRequireUsernameForSessionName", "Effect": "Allow", "Action": "sts:AssumeRole", "Principal": {"AWS": "arn:aws:iam::111122223333:root"}, "Condition": { "StringLike": {"sts:RoleSessionName": "${aws:username}"} } } ] }
Lorsqu'un administrateur consulte le AWS CloudTrail journal d'une action, il peut comparer le nom de session aux noms d'utilisateur de son compte. Dans l'exemple suivant, l'utilisateur appelé
matjac
a effectué l'opération en utilisant le rôle appeléMateoRole
. L'administrateur peut alors contacter Mateo Jackson, dont le nom d'utilisateur estmatjac
."assumedRoleUser": { "assumedRoleId": "AROACQRSTUVWRAOEXAMPLE:
matjac
", "arn": "arn:aws:sts::111122223333:assumed-role/MateoRole
/matjac
" }Si vous autorisez l'accès entre comptes à l'aide de rôles, les utilisateurs d'un compte peuvent endosser un rôle dans un autre compte. L'utilisateur ARN du rôle assumé répertorié dans CloudTrail inclut le compte sur lequel le rôle existe. Il n'inclut pas le compte de l'utilisateur qui a endossé le rôle. Les utilisateurs ne sont uniques qu'au sein d'un compte. Par conséquent, nous vous recommandons d'utiliser cette méthode pour vérifier les CloudTrail journaux uniquement pour les rôles assumés par les utilisateurs dans les comptes que vous administrez. Vos utilisateurs peuvent utiliser le même nom d'utilisateur dans plusieurs comptes.
- sièges : SourceIdentity
-
Fonctionne avec des opérateurs de chaîne.
Utilisez cette clé pour comparer l'identité source spécifiée par un principal lorsqu'il endosse un rôle avec la valeur spécifiée dans la politique.
Disponibilité — Cette clé est présente dans la demande lorsque le principal fournit 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.Vous pouvez utiliser cette clé dans une politique d'approbation de rôle pour exiger que vos utilisateurs définissent une identité source spécifique lorsqu'ils endossent un rôle. Par exemple, vous pouvez exiger que votre main-d'œuvre ou vos identités fédérées spécifient une valeur pour l'identité source. Vous pouvez configurer votre fournisseur d'identité (IdP) de sorte qu'il utilise l'un des attributs associés à vos utilisateurs, un nom d'utilisateur ou un e-mail par exemple, comme identité source. L'IdP transmet ensuite l'identité source en tant qu'attribut dans les assertions ou les revendications auxquelles il envoie. AWS La valeur de l'attribut d'identité source identifie l'utilisateur ou l'application qui endosse le rôle.
Une fois que l'utilisateur endosse le rôle, l'activité apparaît dans les journaux AWS CloudTrail avec la valeur d'identité source qui a été définie. Cela permet aux administrateurs de déterminer plus facilement qui ou quoi a effectué des actions avec un rôle dans AWS. Vous devez octroyer des autorisations pour l'action
sts:SetSourceIdentity
afin d'autoriser une identité à définir une identité source.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 effectuées avec le rôle par l'identité source. 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.
Vous pouvez utiliser la clé de condition aws:SourceIdentityglobale pour contrôler davantage l'accès aux AWS ressources en fonction de la valeur de l'identité de la source dans les demandes suivantes.
La politique de confiance des rôles suivante permet
AdminUser
à l'IAMutilisateur d'assumer un rôle dans le compte111122223333
. Elle octroie également l'autorisation à l'interfaceAdminUser
de définir une identité source, dans la mesure où l'identité source définie correspond àDiegoRamirez
.{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAdminUserAssumeRole", "Effect": "Allow", "Principal": {"AWS": " arn:aws:iam::111122223333:user/AdminUser"}, "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity" ], "Condition": { "StringEquals": {"sts:SourceIdentity": "DiegoRamirez"} } } ] }
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.
- sièges : TaskPolicyArn
-
Fonctionne avec ARNles opérateurs.
Utilisez cette clé pour comparer la politique ARN d'une AssumeRoot demande sts : avec la politique ARN spécifiée dans la stratégie.
Disponibilité — Cette clé est présente dans la demande lorsque vous faites une demande à l'aide de sts : AssumeRoot.
Vous pouvez utiliser cette clé de condition dans une politique pour limiter les actions qu’un compte de gestion ou un administrateur délégué peut effectuer au cours d’une session d’utilisateur racine privilégié. Pour de plus amples informations, veuillez consulter Réaliser une tâche privilégiée sur un compte membre AWS Organizations.
- sièges : TransitiveTagKeys
-
Fonctionne avec des opérateurs de chaîne.
Utilisez cette clé pour comparer les clés des balises de session transitoire de la demande avec celles spécifiées dans la politique.
Availability (Disponibilité) : cette clé est présente dans la demande lorsque vous effectuez une demande à l'aide d'informations d'identification de sécurité temporaires. Il s'agit notamment des informations d'identification créées à l'aide d'une opération assume-rôle, ou de l'opération
GetFederationToken
.Lorsque vous effectuez une demande à l'aide d'informations d'identification de sécurité temporaires, le contexte de la demande inclut la clé de contexte
aws:PrincipalTag
. Cette clé inclut une liste de balises de session, de balises de session transitoire et de balises de rôle. Les balises de session transitoires sont des balises qui perdurent pendant toutes les sessions ultérieures 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.Vous pouvez utiliser cette clé de condition dans une politique pour exiger la définition de balises de session spécifiques comme transitoires lorsque vous endossez un rôle ou fédérez un utilisateur.