Passar tags de sessão no AWS STS
As etiquetas de sessão são atributos de par de chave-valor que você passa ao assumir uma função do IAM ou federar um usuário no AWS STS. Isso é feito criando uma solicitação da AWS CLI ou da API da AWS por meio do AWS STS ou do seu provedor de identidade (IdP). Ao usar o AWS STS para solicitar credenciais de segurança temporárias, você gera uma sessão. As sessões expiram e têm credenciais, tais como um par de chaves de acesso e um token de sessão. Quando você usa as credenciais de sessão para fazer uma solicitação subsequente, o contexto de solicitação inclui a chave de contexto aws:PrincipalTag
. Você pode usar a chave aws:PrincipalTag
no elemento Condition
de suas políticas para permitir ou negar acesso com base nessas tags.
Ao usar credenciais temporárias para fazer uma solicitação, seu principal pode incluir um conjunto de tags. Essas tags vêm das seguintes fontes:
-
Tags de sessão: as etiquetas que foram passadas quando você assumiu a função ou federou o usuário usando a AWS CLI ou a API da AWS. Para obter mais informações sobre essas operações, consulte a Operações de marcação de sessão.
-
Etiquetas de sessão transitivas recebidas: essas etiquetas foram herdadas de uma sessão anterior em uma cadeia de funções. Para obter mais informações, consulte Encadeamento de funções com tags de sessão mais adiante neste tópico.
-
Etiquetas do IAM: as etiquetas anexadas à sua função assumida no IAM.
Tópicos
- Operações de marcação de sessão
- Coisas a saber sobre tags de sessão
- Permissões necessárias para adicionar tags de sessão
- Passar tags de sessão usando AssumeRole
- Passar tags de sessão usando AssumeRoleWithSAML
- Passar tags de sessão usando AssumeRoleWithWebIdentity
- Passar tags de sessão usando GetFederationToken
- Encadeamento de funções com tags de sessão
- Usar tags de sessão para ABAC
- Visualizar etiquetas da sessão no CloudTrail
Operações de marcação de sessão
Você pode passar tags de sessão usando as seguintes operações do AWS CLI ou API da AWS em AWS STS. O recurso Switch Role (Alternar função) do AWS Management Console não permite que você passe tags de sessão.
Você também pode definir as tags de sessão como transitivas. As tags transitivas persistem durante o encadeamento de funções. Para ter mais informações, consulte Encadeamento de funções com tags de sessão.
A tabela a seguir compara os métodos de passagem de tags de sessão.
Operation | Quem pode assumir a função | Método para passar tags | Método para definir tags transitivas |
---|---|---|---|
Operação da CLI assume-role ou da API AssumeRole |
Usuário ou sessão do IAM | Parâmetro da API Tags ou opção da CLI --tags |
Parâmetro da API TransitiveTagKeys ou opção da CLI --transitive-tag-keys |
Operação da CLI assume-role-with-saml ou da API AssumeRoleWithSAML |
Qualquer usuário autenticado usando um provedor de identidade SAML | Atributo SAML PrincipalTag |
Atributo SAML TransitiveTagKeys |
Operação da CLI assume-role-with-web-identity ou da API AssumeRoleWithWebIdentity |
Qualquer usuário autenticado usando um provedor OIDC | Token OIDC PrincipalTag |
Token OIDC TransitiveTagKeys |
Operação da CLI get-federation-token ou da API GetFederationToken |
Usuário raiz ou usuário do IAM | Parâmetro da API Tags ou opção da CLI --tags |
Sem compatibilidade |
As operações que oferecem suporte à etiquetamento de sessão podem falhar nas seguintes condições:
-
Você passar mais de 50 tags de sessão.
-
O texto simples das chaves de etiqueta de sessão exceder 128 caracteres.
-
O texto simples dos valores de etiqueta de sessão exceder 256 caracteres.
-
O tamanho total do texto simples das políticas da sessão exceder 2048 caracteres.
-
O tamanho total compactado das políticas e etiquetas de sessão combinadas for muito grande. Se a operação falhar, a mensagem de erro indicará, em porcentagem, o quão perto as políticas e etiquetas combinadas estão do limite de tamanho superior.
Coisas a saber sobre tags de sessão
Antes de usar tags de sessão, revise os seguintes detalhes sobre sessões e tags.
-
Ao usar etiquetas de sessão, as políticas de confiança para todas as funções conectadas ao provedor de identidade (IdP) que está passando etiquetas devem ter a permissão sts:TagSession. Para funções sem essa permissão na política de confiança, a operação
AssumeRole
falhará. -
Quando você solicita uma sessão, você pode especificar etiquetas de entidades de segurança como as etiquetas de sessão. As tags se aplicam às solicitações feitas usando as credenciais da sessão.
-
As etiquetas de sessão são pares de chave-valor. Por exemplo, para adicionar informações de contato a uma sessão, você pode adicionar a chave de tag de sessão
email
e o valor da tagjohndoe@example.com
. -
As etiquetas de sessão devem seguir as regras para nomear etiquetas no IAM e no AWS STS. Este tópico inclui informações sobre diferenciação de maiúsculas e minúsculas e prefixos restritos que se aplicam às tags de sessão.
-
As novas etiquetas de sessão substituem a função assumida existente ou as etiquetas de usuário federado pela mesma chave de etiqueta, independentemente da capitalização dos caracteres.
-
Você não pode passar tags de sessão usando o AWS Management Console.
-
As tags de sessão são válidas somente para a sessão atual.
-
As tags de sessão oferecem suporte ao encadeamento de funções. Por padrão, o AWS STS não passa etiquetas para sessões de função subsequentes. No entanto, você pode definir tags de sessão como transitivas. As etiquetas transitivas persistem durante o encadeamento de funções e substituem os valores
ResourceTag
correspondentes após a avaliação da política de confiança de função. Para ter mais informações, consulte Encadeamento de funções com tags de sessão. -
Você pode usar tags de sessão para controlar o acesso a recursos ou para controlar quais tags podem ser passadas para uma sessão subsequente. Para ter mais informações, consulte Tutorial do IAM: Usar etiquetas de sessão SAML para ABAC.
-
Você pode visualizar as etiquetas de entidades de segurança da sua sessão, incluindo as etiquetas de sessão, nos logs do AWS CloudTrail. Para ter mais informações, consulte Visualizar etiquetas da sessão no CloudTrail.
-
Você deve passar um único valor para cada etiqueta de sessão. O AWS STS não oferece suporte a etiquetas de sessão de vários valores.
-
Você pode passar, no máximo, 50 tags de sessão. O número e o tamanho dos recursos do IAM em uma conta da AWS são limitados. Para ter mais informações, consulte IAM e cotas do AWS STS.
-
Uma conversão da AWS compacta as políticas de sessão passadas e as etiquetas de sessão combinadas em um formato binário compactado que tem um limite separado. Se você exceder esse limite, a mensagem de erro da AWS CLI ou da API da AWS mostrará, em porcentagem, o quão perto as políticas e etiquetas combinadas estão do limite de tamanho superior.
Permissões necessárias para adicionar tags de sessão
Além da ação que corresponde à operação da API, é necessário ter a seguinte ação somente com permissão em sua política:
sts:TagSession
Importante
Ao usar tags de sessão, as políticas de confiança da função para todas as funções conectadas a um provedor de identidade (IdP) devem ter a sts:TagSession
permissão. A operação AssumeRole
falhará em qualquer função conectada a um IdP que esteja passando etiquetas de sessão sem essa permissão. Se você não quiser atualizar a política de confiança de função para cada função, use uma instância de IdP separada para passar as tags da sessão. Em seguida, adicione a permissão sts:TagSession
apenas às funções conectadas ao IdP separado.
Você pode usar a ação sts:TagSession
com as chaves de condição a seguir.
-
aws:PrincipalTag
: compara a etiqueta anexada à entidade de segurança que está fazendo a solicitação com a etiqueta que você especificou na política. Por exemplo, você pode permitir que um principal passe tags de sessão somente se o principal que está fazendo a solicitação tiver as tags especificadas. -
aws:RequestTag
: compara o par de chave-valor da etiqueta passado na solicitação com o par de etiquetas que você especificou na política. Por exemplo, você pode permitir que o principal passe as tags de sessão especificadas, mas somente com os valores especificados. -
aws:ResourceTag
: compara o par de chave-valor da etiqueta que você especificou na política com o par de chave-valor anexado ao recurso. Por exemplo, você pode permitir que a entidade de segurança passe etiquetas de sessão somente se a função que ela estiver assumindo incluir as etiquetas especificadas. -
aws:TagKeys
: compara as chaves de etiqueta em uma solicitação com as chaves que você especificou na política. Por exemplo, você pode permitir que o principal passe apenas tags de sessão com as chaves de tag especificadas. Essa chave de condição limita o conjunto máximo de tags de sessão que podem ser passadas. -
sts:TransitiveTagKeys
: compara as chaves de etiqueta de sessão transitiva na solicitação com aquelas especificadas na política. Por exemplo, você pode criar uma política para permitir que um principal defina apenas tags específicas como transitivas. As tags transitivas persistem durante o encadeamento de funções. Para ter mais informações, consulte Encadeamento de funções com tags de sessão.
Por exemplo, a política de confiança da função a seguir permite que o usuário test-session-tags
assuma a função com a política anexada. Ao assumir a função, esse usuário deve usar a AWS CLI ou API da AWS para passar as três tags de sessão necessárias e o ID externo necessário. Além disso, o usuário pode optar por definir as tags Project
e Department
como transitivas.
exemplo Exemplo de política de confiança de função para tags de sessão
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIamUserAssumeRole", "Effect": "Allow", "Action": "sts:AssumeRole", "Principal": {"AWS": "arn:aws:iam::
123456789012
:user/test-session-tags
"}, "Condition": { "StringLike": { "aws:RequestTag/Project
": "*", "aws:RequestTag/CostCenter
": "*", "aws:RequestTag/Department
": "*" }, "StringEquals": {"sts:ExternalId": "Example987
"} } }, { "Sid": "AllowPassSessionTagsAndTransitive", "Effect": "Allow", "Action": "sts:TagSession", "Principal": {"AWS": "arn:aws:iam::123456789012
:user/test-session-tags
"}, "Condition": { "StringLike": { "aws:RequestTag/Project
": "*", "aws:RequestTag/CostCenter
": "*" }, "StringEquals": { "aws:RequestTag/Department
": [ "Engineering
", "Marketing
" ] }, "ForAllValues:StringEquals": { "sts:TransitiveTagKeys": [ "Project
", "Department
" ] } } } ] }
O que essa política faz?
-
A instrução
AllowIamUserAssumeRole
permite que o usuáriotest-session-tags
assuma a função com a política anexada. Ao assumir a função, esse usuário deve passar as tags de sessão necessárias e o ID externo.-
O primeiro bloco condicional dessa instrução requer que o usuário passe as tags de sessão
Project
,CostCenter
eDepartment
. Os valores da etiqueta não importam nesta instrução, portanto, você pode usar caracteres curinga (*) para os valores de etiqueta. Esse bloqueio garante que o usuário passe pelo menos essas três etiquetas de sessão. Caso contrário, haverá falha na operação. O usuário pode passar tags adicionais. -
O segundo bloco de condição requer que o usuário passe um ID externo com o valor
Example987
.
-
-
A instrução
AllowPassSessionTagsAndTransitive
permite a ação somente com permissãosts:TagSession
. Esta ação deve ser permitida antes que o usuário possa passar tags de sessão. Se sua política incluir a primeira instrução sem a segunda instrução, o usuário não poderá assumir a função.-
O primeiro bloco de condição dessa instrução permite que o usuário passe qualquer valor para as tags de sessão
CostCenter
eProject
. É possível fazer isso usando curingas (*) para o valor de tag na política, o que requer o uso do operador de condição StringLike . -
O segundo bloco de condição permite que o usuário passe somente o valor
Engineering
ouMarketing
para a tag de sessãoDepartment
. -
O terceiro bloco de condição lista o conjunto máximo de etiquetas que você pode definir como transitivas. O usuário pode optar por definir um subconjunto ou nenhuma tag como transitiva. O usuário não pode definir etiquetas adicionais como transitivas. Você pode exigir que ele defina pelo menos uma das tags como transitivas adicionando outro bloco de condição que inclui
"Null":{"sts:TransitiveTagKeys":"false"}
.
-
Passar tags de sessão usando AssumeRole
A operação AssumeRole
retorna um conjunto de credenciais temporárias que você pode usar para acessar recursos da AWS. Você pode usar o usuário do IAM ou credenciais de função para chamar AssumeRole
. Para passar tags de sessão ao assumir uma função, use a opção --tags
da AWS CLI ou o parâmetro Tags
da API da AWS.
Para definir tags como transitivas, use a opção --transitive-tag-keys
da AWS CLI ou o parâmetro TransitiveTagKeys
da API da AWS. As tags transitivas persistem durante o encadeamento de funções. Para ter mais informações, consulte Encadeamento de funções com tags de sessão.
O exemplo a seguir mostra uma solicitação de exemplo que usa AssumeRole
. Neste exemplo, ao assumir a função my-role-example
, você cria uma sessão chamada my-session
. Adicione os pares de chave-valor da tag de sessão Project
= Automation
, CostCenter
= 12345
e Department
= Engineering
. Defina também as tags Project
e Department
como transitivas especificando suas chaves. Você deve passar um único valor para cada etiqueta de sessão. O AWS STS não oferece suporte a etiquetas de sessão de vários valores.
exemplo Exemplo de solicitação da CLI AssumeRole
aws sts assume-role \ --role-arn arn:aws:iam::123456789012:role/my-role-example \ --role-session-name my-session \ --tags Key=Project,Value=Automation Key=CostCenter,Value=12345 Key=Department,Value=Engineering \ --transitive-tag-keys Project Department \ --external-id Example987
Passar tags de sessão usando AssumeRoleWithSAML
A operação AssumeRoleWithSAML
é autenticada com o uso de federação baseada em SAML. Essa operação retorna um conjunto de credenciais temporárias que você pode usar para acessar recursos da AWS. Para obter mais informações sobre como usar a federação baseada em SAML para acesso ao AWS Management Console, consulte Habilitar o acesso de usuários federados SAML 2.0 ao AWS Management Console. Para obter detalhes sobre acesso à AWS CLI ou à API da AWS, consulte Federação SAML 2.0. Para obter um tutorial sobre como configurar a federação do SAML para seus usuários do Active Directory, consulte AWS Federated Authentication with Active Directory Federation Services (ADFS)
Como administrador, você pode permitir que os membros do diretório da empresa se agrupem na AWS usando a operação AssumeRoleWithSAML
da AWS STS. Para isso, é necessário concluir as seguintes tarefas:
A AWS inclui provedores de identidade com experiência de ponta a ponta certificada para etiquetas de sessão com suas soluções de identidade. Para saber como usar esses provedores de identidade para configurar tags de sessão, consulte Integrar provedores de soluções SAML de terceiros com a AWS.
Para passar atributos SAML como tags de sessão, inclua o elemento Attribute
com o atributo Name
definido como https://aws.amazon.com/SAML/Attributes/PrincipalTag:
. Use o elemento {TagKey}
AttributeValue
para especificar o valor da tag. Inclua um elemento Attribute
separado para cada tag de sessão.
Por exemplo, vamos supor que você queira passar os seguintes atributos de identidade como tags de sessão:
-
Project:Automation
-
CostCenter:12345
-
Department:Engineering
Para passar esses atributos, inclua os seguintes elementos em sua declaração do SAML.
exemplo Exemplo de trecho de uma declaração SAML
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:Project"> <AttributeValue>Automation</AttributeValue> </Attribute> <Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:CostCenter"> <AttributeValue>12345</AttributeValue> </Attribute> <Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:Department"> <AttributeValue>Engineering</AttributeValue> </Attribute>
Para definir as etiquetas anteriores como transitivas, inclua outro elemento Attribute
com o atributo Name
definido como https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys
. As tags transitivas persistem durante o encadeamento de funções. Para ter mais informações, consulte Encadeamento de funções com tags de sessão.
Para definir as etiquetas Project
e Department
como transitivas, use o seguinte atributo multivalor:
exemplo Exemplo de trecho de uma declaração SAML
<Attribute Name="https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys"> <AttributeValue>Project</AttributeValue> <AttributeValue>Department</AttributeValue> </Attribute>
Passar tags de sessão usando AssumeRoleWithWebIdentity
Use a federação compatível com OpenID Connect (OIDC) para autenticar a operação AssumeRoleWithWebIdentity
. Essa operação retorna um conjunto de credenciais temporárias que você pode usar para acessar recursos da AWS. Para obter mais informações sobre como usar a federação de identidades da web para AWS Management Console acesso, consulte Federação OIDC.
Para passar tags de sessão do OpenID Connect (OIDC), é necessário incluir as tags de sessão no JSON Web Token (JWT). Inclua tags de sessão no namespace https://aws.amazon.com/
do token ao enviar a solicitação AssumeRoleWithWebIdentity
. Para saber mais sobre tokens e reivindicações OIDC, consulte Usar tokens com grupos de usuários no Guia do desenvolvedor Amazon Cognito.
Por exemplo, o JWT decodificado a seguir usa um token para chamar AssumeRoleWithWebIdentity
com as etiquetas de sessão Project
, CostCenter
e Department
. O token também define as tags Project
e CostCenter
como transitivas. As tags transitivas persistem durante o encadeamento de funções. Para ter mais informações, consulte Encadeamento de funções com tags de sessão.
exemplo Exemplo de JSON Web Token decodificado
{ "sub": "johndoe", "aud": "ac_oic_client", "jti": "ZYUCeRMQVtqHypVPWAN3VB", "iss": "https://xyz.com", "iat": 1566583294, "exp": 1566583354, "auth_time": 1566583292, "https://aws.amazon.com/tags": { "principal_tags": { "Project": ["Automation"], "CostCenter": ["987654"], "Department": ["Engineering"] }, "transitive_tag_keys": [ "Project", "CostCenter" ] } }
Passar tags de sessão usando GetFederationToken
GetFederationToken
permite federar seu usuário. Essa operação retorna um conjunto de credenciais temporárias que você pode usar para acessar recursos da AWS. Para adicionar tags à sua sessão de usuário federado, use a opção --tags
da AWS CLI ou o parâmetro Tags
da API da AWS. Não é possível definir etiquetas de sessão como transitivas ao usar oGetFederationToken
porque você não pode usar as credenciais temporárias para assumir uma função. Não é possível usar encadeamento de função neste caso.
O exemplo a seguir mostra uma solicitação de exemplo usando GetFederationToken
. Neste exemplo, ao solicitar o token, você cria uma sessão chamada my-fed-user
. Adicione os pares de chave-valor da tag de sessão Project
= Automation
e Department
= Engineering
.
exemplo Exemplo de solicitação da CLI GetFederationToken
aws sts get-federation-token \ --name my-fed-user \ --tags key=Project,value=Automation key=Department,value=Engineering
Quando você usa as credenciais temporárias retornadas pela operação GetFederationToken
, as etiquetas da entidade de segurança da sessão incluem as etiquetas do usuário e as etiquetas passadas da sessão.
Encadeamento de funções com tags de sessão
Você pode assumir uma função e usar as credenciais temporárias para assumir outra função. É possível continuar de sessão em sessão. Isso é chamado de encadeamento de funções. Ao passar tags de sessão enquanto assume uma função, você pode definir as chaves como transitivas. Isso garante que essas tags de sessão passem para sessões subsequentes em uma cadeia de funções. Não é possível definir tags de função como transitivas. Para passar essas tags para sessões subsequentes, especifique-as como tags de sessão.
nota
As etiquetas transitivas persistem durante o encadeamento de funções e substituem os valores ResourceTag
correspondentes após a avaliação da política de confiança de função.
O exemplo a seguir mostra como o AWS STS passa etiquetas de sessão, etiquetas transitivas e etiquetas de função em sessões subsequentes em uma cadeia de função.
Neste exemplo de cenário de encadeamento de funções, você usa uma chave de acesso de usuário do IAM na AWS CLI para assumir uma função chamada Role1
. Use as credenciais de sessão resultantes para assumir uma segunda função chamada Role2
. Você poderá usar as credenciais de segunda sessão para assumir uma terceira função chamada Role3
. Essas solicitações ocorrem como três operações distintas. Cada função já está etiquetada no IAM. E durante cada solicitação, você passa tags de sessão adicionais.
Ao encadear funções, você pode garantir que as tags de uma sessão anterior persistam para as sessões posteriores. Para fazer isso usando o comando da CLI assume-role
, é necessário passar a etiqueta como etiqueta de sessão e definir a etiqueta como transitiva. Passe a tag Star
= 1
como tag de sessão. O comando também anexa a etiqueta Heart
= 1
à função e se aplica como uma etiqueta de entidade de segurança quando você usa a sessão. No entanto, você também deseja que a tag Heart
= 1
passe automaticamente para a segunda ou terceira sessão. Para isso, inclua a tag manualmente como tag de sessão. As etiquetas de entidade de segurança de sessão resultantes incluem ambas as etiquetas e as define como transitivas.
Execute essa solicitação usando o seguinte comando da AWS CLI:
exemplo Exemplo de solicitação da CLI AssumeRole
aws sts assume-role \ --role-arn arn:aws:iam::123456789012:role/Role1 \ --role-session-name Session1 \ --tags Key=Star,Value=1 Key=Heart,Value=1 \ --transitive-tag-keys Star Heart
Use as credenciais dessa sessão para assumir Role2
. O comando anexa a etiqueta Sun
= 2
à segunda função e se aplica como uma etiqueta de entidade de segurança quando você usa a segunda sessão. As etiquetas Heart
e Star
herdam as etiquetas transitivas de sessão na primeira sessão. As etiquetas de entidade de segurança resultantes da segunda sessão são Heart
= 1
, Star
= 1
e Sun
= 2
. Heart
e Star
continuam a ser transitivas. A etiqueta Sun
anexada à Role2
não é marcada como transitiva porque não é uma etiqueta de sessão. Sessões futuras não herdam esta etiqueta.
Execute essa segunda solicitação usando o seguinte comando da AWS CLI:
exemplo Exemplo de solicitação da CLI AssumeRole
aws sts assume-role \ --role-arn arn:aws:iam::123456789012:role/Role2 \ --role-session-name Session2
Use as credenciais da segunda sessão para assumir Role3
. As tags principais da terceira sessão vêm de quaisquer novas tags de sessão, as tags de sessão transitivas herdadas e as tags de função. As etiquetas Heart
= 1
e Star
= 1
na segunda sessão são herdadas da etiqueta de sessão transitiva na primeira sessão. Se você tentar passar a etiqueta de sessão Sun
= 2
, a operação falhará. A etiqueta de sessão Star
= 1 herdada substitui a etiqueta de função Star
= 3
. No encadeamento de funções, o valor de uma etiqueta transitiva substitui a função correspondente ao valor ResourceTag
após a avaliação da política de confiança de função. Neste exemplo, se Role3
usar Star
como ResourceTag
na política de confiança de função e definir ResourceTag
como o valor de etiqueta transitiva da sessão de função de chamada. A etiqueta Lightning
da função também se aplica à terceira sessão e não é definida como transitiva.
Execute a terceira solicitação usando o seguinte comando da AWS CLI:
exemplo Exemplo de solicitação da CLI AssumeRole
aws sts assume-role \ --role-arn arn:aws:iam::123456789012:role/Role3 \ --role-session-name Session3
Usar tags de sessão para ABAC
O controle de acesso baseado em atributo (ABAC) é uma estratégia de autorização que define permissões com base em atributos da etiqueta.
Se sua empresa usa um provedor de identidade (IdP) baseado em OIDC ou SAML para gerenciar identidades de usuário, você pode configurar sua declaração para passar etiquetas de sessão para a AWS. Por exemplo, com identidades de usuários corporativos, quando seus funcionários fazem federação com a AWS, a AWS aplica seus atributos às respectivas entidades de segurança resultantes. Você pode usar o ABAC para conceder ou não permissões com base nesses atributos. Para obter detalhes, consulte Tutorial do IAM: Usar etiquetas de sessão SAML para ABAC.
Para obter mais informações sobre como usar o IAM Identity Center com ABAC, consulte Attributes for access control (Atributos para o controle de acesso) no Guia do Usuário do AWS IAM Identity Center.
Visualizar etiquetas da sessão no CloudTrail
Você pode usar AWS CloudTrail para visualizar as solicitações usadas para assumir funções ou federar usuários. O arquivo de log do CloudTrail inclui informações sobre as etiquetas de entidade de segurança para a função assumida ou a sessão de usuário federado. Para ter mais informações, consulte Registro em log de chamadas de API do IAM e do AWS STS com o AWS CloudTrail.
Por exemplo, vamos supor que você faça uma solicitação AssumeRoleWithSAML
do AWS STS, passe tags de sessão e defina essas tags como transitivas. Você pode encontrar as seguintes informações em seu log do CloudTrail.
exemplo Exemplo de log AssumeRoleWithSAML do CloudTrail
"requestParameters": { "sAMLAssertionID": "_c0046cEXAMPLEb9d4b8eEXAMPLE2619aEXAMPLE", "roleSessionName": "MyRoleSessionName", "principalTags": { "CostCenter": "987654", "Project": "Unicorn" }, "transitiveTagKeys": [ "CostCenter", "Project" ], "durationSeconds": 3600, "roleArn": "arn:aws:iam::123456789012:role/SAMLTestRoleShibboleth", "principalArn": "arn:aws:iam::123456789012:saml-provider/Shibboleth" },
Você pode visualizar os logs do CloudTrail a seguir para exibir eventos que usam etiquetas de sessão.