As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Usar o plugin TIP para acessar os Serviços da AWS
A propagação de identidades confiáveis (TIP) é um atributo do Centro de Identidade do AWS IAM que permite que os administradores de Serviços da AWS concedam permissões com base em atributos do usuário, como associações a grupos. Com a propagação de identidade confiável, o contexto de identidade é adicionado a um perfil do IAM para identificar o usuário que está solicitando acesso aos recursos da AWS. Esse contexto é propagado para outros Serviços da AWS.
O contexto de identidade compreende as informações que os Serviços da AWS usam para tomar decisões de autorização quando recebem solicitações de acesso. Essas informações incluem metadados que identificam o solicitante (por exemplo, um usuário do IAM Identity Center), o AWS service (Serviço da AWS) ao qual é solicitado acesso (por exemplo, Amazon Redshift) e o escopo do acesso (por exemplo, acesso somente para leitura). O AWS service (Serviço da AWS) de destino usa esse contexto e as permissões atribuídas ao usuário para autorizar o acesso a seus recursos. Para obter mais informações, consulte Trusted identity propagation across application no Centro de Identidade do AWS IAM User Guide.
O plug-in TIP pode ser usado com Serviços da AWS compatíveis com propagação de identidades confiáveis. Como caso de uso de referência, consulte Configuring an Amazon Q Business application using Centro de Identidade do AWS IAM no Amazon Q Business User Guide.
nota
Se você estiver usando o Amazon Q Business, consulte Configuring an Amazon Q Business application using Centro de Identidade do AWS IAM para obter instruções específicas para o serviço.
Pré-requisitos para o uso do plug-in TIP
Os seguintes recursos são necessários para o plug-in funcionar:
-
Você deve estar usando o AWS SDK para Java ou o AWS SDK para JavaScript.
-
Verifique se o serviço que você está usando é compatível com propagação de identidades confiáveis.
Consulte a coluna Enables trusted identity propagation through IAM Identity Center da tabela AWS managed applications that integrate with IAM Identity Center no Centro de Identidade do AWS IAM User Guide..
-
Habilite o IAM Identity Center e a propagação de identidades confiáveis.
Consulte TIP prerequisites and considerations no Centro de Identidade do AWS IAM User Guide.
-
Você deve ter uma aplicação integrada ao Identity-Center.
Consulte AWS managed applications ou Customer managed applications no Centro de Identidade do AWS IAM User Guide..
-
Você deve configurar um emissor de token confiável (TTI) e conectar seu serviço ao IAM Identity Center.
Consulte Prerequisites for trusted token issuers e Tasks for setting up a trusted token issuer no Centro de Identidade do AWS IAM User Guide.
Para usar o plug-in TIP no código
-
Crie uma instância do plug-in de propagação de identidades confiáveis.
-
Crie uma instância de cliente do serviço para interagir com o AWS service (Serviço da AWS) e personalize o cliente do serviço adicionando o plug-in de propagação de identidades confiáveis.
O plug-in TIP aceita os seguintes parâmetros de entrada:
-
webTokenProvider: uma função que o cliente implementa para obter um token do OpenID do respectivo provedor de identidades externo. -
accessRoleArn: o ARN do perfil do IAM a ser assumido pelo plug-in com o contexto de identidade do usuário para obter as credenciais aprimoradas com identidade. -
applicationArn: string do identificador exclusivo do cliente ou da aplicação. Esse valor é um ARN da aplicação que tem concessões de OAuth configuradas. -
ssoOidcClient: (opcional) um cliente OIDC de SSO, como oSsoOidcClientpara Java ou o client-sso-oidcpara Javascript, com configurações definidas pelo cliente. Se não for fornecido, um cliente do OIDC usando oapplicationRoleArnserá instanciado e usado. -
stsClient: (opcional) um cliente do AWS STS com configurações definidas pelo cliente, usado para assumir oaccessRoleArncom o contexto da identidade do usuário. Se não for fornecido, um cliente do AWS STS usando oapplicationRoleArnserá instanciado e usado. -
applicationRoleArn: (opcional) o ARN do perfil do IAM que deve ser assumido comAssumeRoleWithWebIdentitypara que os clientes do OIDC e do AWS STS possam ser inicializados.-
Se não forem fornecidos, ambos os parâmetros
ssoOidcClientestsClientdeverão ser fornecidos. -
Se fornecido, o
applicationRoleArnnão poderá ser igual ao valor do parâmetroaccessRoleArn.applicationRoleArné usado para compilar o STSClient, que é usado para assumir o accessRole. Se o mesmo perfil for usado paraapplicationRoleeaccessRole, isso significaria usar um perfil para assumir a si mesmo (assumir um autoperfil), o que é não é recomendado pela AWS. Consulte announcementpara obter mais detalhes.
-
Considerações sobre os parâmetros ssoOidcClient, stsClient e applicationRoleArn
Ao configurar o plug-in TIP, considere os seguintes requisitos de permissão com base nos parâmetros que você fornecer:
-
Se você estiver fornecendo
ssoOidcClientestsClient:-
As credenciais no
ssoOidcClientdevem ter permissão deoauth:CreateTokenWithIAMpara chamar a central de identidade para obter o contexto do usuário específico da central de identidade. -
As credenciais no
stsClientdevem ter as permissõessts:AssumeRoleests:SetContextnoaccessRole. OaccessRoletambém precisa ser configurado com uma relação de confiança com as credenciais nostsClient.
-
-
Se você estiver fornecendo
applicationRoleArn:-
O
applicationRoledeve ter as permissõesoauth:CreateTokenWithIAM,sts:AssumeRoleests:SetContextnos recursos necessários (instância do IdC,accessRole), pois ele será usado para compilar os clientes do OIDC e do STS. -
O
applicationRoledeve ter uma relação de confiança com o provedor de identidades usado para gerar owebToken, pois owebTokenserá usado para assumir o applicationRole por chamada de AssumeRoleWithWebIdentity pelo plug-in.
-
Exemplo da configuração ApplicationRole:
Política de confiança com o provedor de tokens Web:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::ACCOUNT_ID:oidc-provider/IDENTITY_PROVIDER_URL" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "IDENTITY_PROVIDER_URL:aud": "CLIENT_ID_TO_BE_TRUSTED" } } } ] }
Política de permissão:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole", "sts:SetContext" ], "Resource": [ "accessRoleArn" ] }, { "Effect": "Allow", "Action": [ "sso-oauth:CreateTokenWithIAM" ], "Resource": [ "*" ] } ] }
Exemplos de código usando TIP
Os exemplos abaixo mostram como implementar o plug-in TIP no código usando o AWS SDK para Java ou o AWS SDK para JavaScript.