Modifique a política de confiança de uma função do RAM para alterar sua entidade principal. Este tópico demonstra como alterar a entidade principal de uma função do RAM para uma conta Alibaba Cloud, um serviço Alibaba Cloud ou um provedor de identidade (IdP).
Contexto
Ao criar uma função do RAM, você especifica as entidades principais que podem assumir essa função. Essas entidades podem ser uma conta Alibaba Cloud, um serviço Alibaba Cloud ou um provedor de identidade (IdP). Embora geralmente não seja necessário alterar a política de confiança após a criação, você pode modificá-la se precisar.
Modificar a entidade principal na política de confiança de uma função do RAM altera quem pode assumir a função e pode interromper seus serviços. Recomendamos fortemente testar as alterações em uma conta de teste para garantir o funcionamento esperado antes de aplicá-las em uma conta de produção.
Procedimento
Faça logon no RAM console como administrador do RAM.
No painel de navegação à esquerda, escolha .
Na página Roles, clique em nome da função do RAM desejada.
Na aba Trust Policy, clique em Edit Trust Policy.
No editor, modifique a política de confiança e clique em OK.
Exemplo 1: Alterar a entidade principal para uma conta Alibaba Cloud
Se o elemento Principal contiver um campo RAM, a entidade principal da função do RAM será uma Alibaba Cloud Account. Usuários ou funções do RAM pertencentes à conta Alibaba Cloud confiável poderão assumir a função.
-
Permitir que todos os usuários e funções do RAM na conta Alibaba Cloud confiável assumam a função do RAM
Por exemplo, a seguinte política de confiança permite que qualquer usuário ou função do RAM na conta Alibaba Cloud 123456789012**** assuma a função.
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::123456789012****:root" ] } } ], "Version": "1" } -
Permitir que apenas um usuário específico do RAM na conta Alibaba Cloud confiável assuma a função do RAM
Se você alterar o elemento
Principalconforme abaixo, o usuário do RAMtestuserna conta Alibaba Cloud123456789012****poderá assumir a função do RAM."Principal": { "RAM": [ "acs:ram::123456789012****:user/testuser" ] }NotaAo modificar esta política de confiança, certifique-se de que o usuário do RAM correspondente
testusertenha sido criado. -
Permitir que apenas uma função específica do RAM na conta Alibaba Cloud confiável assuma a função do RAM
Caso você altere o conteúdo em
Principalda seguinte forma, a função do RAMtestrolena conta Alibaba Cloud 123456789012**** poderá assumir esta função do RAM."Principal": { "RAM": [ "acs:ram::123456789012****:role/testrole" ] }NotaAo modificar esta política de confiança, certifique-se de que a função do RAM
testroletenha sido criada.
Exemplo 2: Alterar a entidade principal para um serviço Alibaba Cloud
Quando o elemento Principal contém um campo Service, a entidade principal da função do RAM é um Alibaba Cloud Service. Isso significa que um serviço Alibaba Cloud confiável pode assumir a função.
Por exemplo, a política de confiança a seguir permite que o serviço ECS na conta Alibaba Cloud atual assuma a função.
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": [
"ecs.aliyuncs.com"
]
}
}
],
"Version": "1"
}
O serviço de nuvem associado define a política de confiança de uma função vinculada a serviço. Não é possível modificar a política de confiança de uma função vinculada a serviço. Para mais informações, consulte Funções vinculadas a serviço.
Exemplo 3: Alterar a entidade principal para um provedor de identidade (IdP)
Se o elemento Principal incluir um campo Federated, a entidade principal da função do RAM será um IdP. Nesse cenário, usuários do provedor de identidade confiável podem assumir a função.
Considere a seguinte política de confiança como exemplo: usuários sob o provedor de identidade testprovider na conta Alibaba Cloud atual (AccountID=123456789012****) podem assumir a função do RAM.
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Federated": [
"acs:ram::123456789012****:saml-provider/testprovider"
]
},
"Condition":{
"StringEquals":{
"saml:recipient":"https://signin.alibabacloud.com/saml-role/sso"
}
}
}
],
"Version": "1"
}