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á.
Com scripts, migre suas políticas em massa para usar ações do IAM refinadas
nota
As seguintes ações AWS Identity and Access Management (IAM) chegaram ao fim do suporte padrão em julho de 2023:
-
Namespace do
aws-portal
-
purchase-orders:ViewPurchaseOrders
-
purchase-orders:ModifyPurchaseOrders
Se você estiver usando AWS Organizations, poderá usar os scripts do migrador de políticas em massa ou o migrador de políticas em massa para atualizar as políticas da sua conta de pagador. Você também poderá usar a referência de mapeamento de ações antigas para granulares para verificar as ações do IAM que precisam ser adicionadas.
Se você tem uma Conta da AWS ou faz parte de uma AWS Organizations criada em ou após 6 de março de 2023, às 11h (PDT), as ações refinadas já estão em vigor em sua organização.
Para ajudar a migrar suas políticas do IAM a fim de usar ações refinadas, conhecidas como novas ações, você pode usar scripts do site Exemplos da AWS
Você executa esses scripts na conta do pagador de sua organização para identificar as seguintes políticas afetadas em sua organização que usam as ações antigas do IAM:
-
políticas do IAM gerenciadas pelo cliente;
-
políticas do IAM em linha para perfil, grupo e usuário;
-
Políticas de controle de serviço (SCPs) (aplica-se somente à conta do pagador)
-
Conjuntos de permissões
Os scripts geram sugestões para novas ações que correspondem a ações existentes usadas na política. Em seguida, você analisa as sugestões e usa os scripts para adicionar as novas ações em todas as políticas afetadas em sua organização. Você não precisa atualizar políticas AWS gerenciadas ou AWS gerenciadas SCPs (por exemplo, AWS Control Tower e AWS Organizations SCPs).
Você usa esses scripts para:
-
Simplifique as atualizações da política para ajudar você a gerenciar as políticas afetadas com base na conta do pagador.
-
Reduza o tempo necessário para atualizar as políticas. Não é necessário fazer login em cada conta de membro e atualizar manualmente as políticas.
-
Agrupe políticas idênticas de diferentes contas de membros. Em seguida, você pode revisar e aplicar as mesmas atualizações em todas as políticas idênticas, em vez de revisá-las uma por uma.
-
Certifique-se de que o acesso do usuário permaneça inalterado após AWS a retirada das ações antigas do IAM em 6 de julho de 2023.
Para obter mais informações sobre políticas e políticas de controle de serviços (SCPs), consulte os tópicos a seguir:
-
Como gerenciar políticas do IAM no Guia do usuário do IAM
-
Políticas de controle de serviço (SCPs) no Guia AWS Organizations do usuário
-
Permissões personalizadas no Guia do usuário do Centro de Identidade do IAM
Visão geral
Siga este tópico para concluir as seguintes etapas:
Tópicos
Pré-requisitos
Para começar, faça o seguinte:
-
Baixe e instale o Python 3
-
Faça login na sua conta de pagador e verifique se você tem uma entidade principal do IAM com as seguintes permissões do IAM:
"iam:GetAccountAuthorizationDetails", "iam:GetPolicy", "iam:GetPolicyVersion", "iam:GetUserPolicy", "iam:GetGroupPolicy", "iam:GetRole", "iam:GetRolePolicy", "iam:CreatePolicyVersion", "iam:DeletePolicyVersion", "iam:ListAttachedRolePolicies", "iam:ListPolicyVersions", "iam:PutUserPolicy", "iam:PutGroupPolicy", "iam:PutRolePolicy", "iam:SetDefaultPolicyVersion", "organizations:ListAccounts", "organizations:ListPolicies", "organizations:DescribePolicy", "organizations:UpdatePolicy", "organizations:DescribeOrganization", "sso:DescribePermissionSet", "sso:DescribePermissionSetProvisioningStatus", "sso:GetInlinePolicyForPermissionSet", "sso:ListInstances", "sso:ListPermissionSets", "sso:ProvisionPermissionSet", "sso:PutInlinePolicyToPermissionSet", "sts:AssumeRole"
dica
Para começar, recomendamos que você use um subconjunto de uma conta, como uma conta de teste, para verificar se as alterações sugeridas são esperadas.
Em seguida, você pode executar novamente os scripts para as contas restantes em sua organização.
Etapa 1: configurar o ambiente
Para começar, faça download dos arquivos necessários no website de Exemplos da AWS
Para configurar seu ambiente
-
Clone o repositório do website Exemplos da AWS
. Em uma janela da linha de comando, você pode usar o seguinte comando: git clone https://github.com/aws-samples/bulk-policy-migrator-scripts-for-account-cost-billing-consoles.git
-
Navegue até o diretório em que você fez o download dos arquivos. É possível usar o seguinte comando:
cd bulk-policy-migrator-scripts-for-account-cost-billing-consoles
No repositório, você pode encontrar os seguintes scripts e recursos:
-
billing_console_policy_migrator_role.json
— O CloudFormation modelo que cria a função
do IAM nas contas dos membros da sua organização. Essa função permite que os scripts assumam o perfil e, em seguida, leiam e atualizem as políticas afetadas.BillingConsolePolicyMigratorRole
-
action_mapping_config.json
— Contém o one-to-many mapeamento das ações antigas para as novas ações. Os scripts usam esse arquivo para sugerir as novas ações para cada política afetada que contém as ações antigas.Cada ação antiga corresponde a várias ações refinadas. As novas ações sugeridas no arquivo fornecem aos usuários acesso às mesmas Serviços da AWS antes da migração.
-
identify_affected_policies.py
: verifica e identifica as políticas afetadas em sua organização. Esse script gera um arquivoaffected_policies_and_suggestions.json
que lista as políticas afetadas junto com as novas ações sugeridas.As políticas afetadas que usam o mesmo conjunto de ações antigas são agrupadas no arquivo JSON, para que você possa revisar ou atualizar as novas ações sugeridas.
-
update_affected_policies.py
: atualiza as políticas afetadas em sua organização. O script insere o arquivoaffected_policies_and_suggestions.json
e, em seguida, adiciona as novas ações sugeridas às políticas. -
rollback_affected_policies.py
: (opcional) reverte as alterações feitas nas políticas afetadas. Esse script remove as novas ações refinadas das políticas afetadas.
-
-
Para ativar o ambiente virtual, execute os comandos a seguir.
python3 -m venv venv
source venv/bin/activate
-
Execute o comando a seguir para instalar a AWS SDK for Python (Boto3) dependência.
pip install -r requirements.txt
nota
Você deve configurar suas AWS credenciais para usar o AWS Command Line Interface (AWS CLI). Para obter mais informações, consulte AWS SDK for Python (Boto3)
.
Para obter mais informações, consulte o arquivoREADME.md
Etapa 2: criar o CloudFormation StackSet
Siga este procedimento para criar um conjunto de CloudFormation pilhas. Este conjunto de pilhas cria o perfil do IAM BillingConsolePolicyMigratorRole
para todas as contas-membro de sua organização.
nota
Você só precisa concluir esta etapa uma vez na conta de gerenciamento (conta de pagador).
Para criar o CloudFormation StackSet
-
Em um editor de texto, abra o
billing_console_policy_migrator_role.json
arquivo e substitua cada instância pelo ID da conta pagante (por exemplo,123456789012
).<management_account>
-
Salve o arquivo.
-
Faça login na conta AWS Management Console como pagador.
-
No CloudFormation console, crie um conjunto de pilhas com o
billing_console_policy_migrator_role.json
arquivo que você atualizou.Para obter mais informações, consulte Criação de um conjunto de pilhas no AWS CloudFormation console no Guia do AWS CloudFormation usuário.
Depois de CloudFormation criar o conjunto de pilhas, cada conta membro em sua organização tem uma função BillingConsolePolicyMigratorRole
do IAM.
O perfil do IAM deve incluir as seguintes permissões:
"iam:GetAccountAuthorizationDetails", "iam:GetPolicy", "iam:GetPolicyVersion", "iam:GetUserPolicy", "iam:GetGroupPolicy", "iam:GetRolePolicy", "iam:CreatePolicyVersion", "iam:DeletePolicyVersion", "iam:ListPolicyVersions", "iam:PutUserPolicy", "iam:PutGroupPolicy", "iam:PutRolePolicy", "iam:SetDefaultPolicyVersion"
Observações
Para cada conta membro, os scripts chamam a operação da AssumeRoleAPI para obter credenciais temporárias para assumir a função do
BillingConsolePolicyMigratorRole
IAM.Os scripts chamam a operação da ListAccountsAPI para obter todas as contas dos membros.
Os scripts também chamam as operações da API do IAM para executar as permissões de leitura e gravação nas políticas.
Etapa 3: identificar as políticas afetadas
Depois de criar o conjunto de pilhas e baixar os arquivos, execute o script identify_affected_policies.py
. Esse script assume o perfil BillingConsolePolicyMigratorRole
do IAM para cada conta de membro e, em seguida, identifica as políticas afetadas.
Para identificar as políticas afetadas
-
Navegue até o diretório em que você fez o download dos scripts.
cd policy_migration_scripts/scripts
-
Execute o script
identify_affected_policies.py
.
Você também pode usar os seguintes parâmetros de entrada:
-
Contas da AWS que você deseja que o script escaneie. Para especificar contas, use os seguintes parâmetros de entrada:
-
--all
: verifica todas as contas-membro de sua organização.python3
identify_affected_policies.py
--all -
--accounts
: verifica um subconjunto das contas-membro de sua organização.python3
identify_affected_policies.py
--accounts 111122223333, 444455556666, 777788889999 -
--exclude-accounts
: exclui todas as contas-membro de sua organização.python3
identify_affected_policies.py
--all --exclude-accounts 111111111111, 222222222222, 333333333333
-
-
–-action-mapping-config-file
: (opcional) especifique o caminho para o arquivoaction_mapping_config.json
. O script usa esse arquivo para gerar sugestões de atualizações para as políticas afetadas. Se você não especificar o caminho, o script usará o arquivoaction_mapping_config.json
na pasta.python3
identify_affected_policies.py
–-action-mapping-config-file c:\Users\username\Desktop\Scripts\action_mapping_config.json
–-all
nota
Você não pode especificar unidades organizacionais (OUs) com esse script.
Depois que você executar o script, ele criará dois arquivos JSON em uma pasta Affected_Policies_
:<Timestamp>
-
affected_policies_and_suggestions.json
-
detailed_affected_policies.json
affected_policies_and_suggestions.json
-
Lista as políticas afetadas com as novas ações sugeridas. As políticas afetadas que usam o mesmo conjunto de ações antigas são agrupadas no arquivo.
Esse arquivo contém as seguintes seções:
-
Metadados que fornecem uma visão geral das contas que você especificou no script, incluindo:
-
Contas verificadas e o parâmetro de entrada usado para o script
identify_affected_policies.py
-
Número de contas afetadas
-
Número de políticas afetadas
-
Número de grupos de políticas semelhantes
-
-
Grupos de políticas semelhantes: inclui a lista de contas e detalhes da política, incluindo as seguintes seções:
-
ImpactedPolicies
: especifica quais políticas são afetadas e incluídas no grupo -
ImpactedPolicyStatements
: fornece informações sobre os blocosSid
que atualmente usam as ações antigas na política afetada. Essa seção inclui as ações antigas e os elementos do IAM, comoEffect
,Principal
,NotPrincipal
,NotAction
eCondition
.
-
-
SuggestedPolicyStatementsToAppend
: fornece as novas ações sugeridas que são adicionadas como novo blocoSID
.Quando você atualiza as políticas, esse bloco é anexado ao final das políticas.
exemplo Exemplo de arquivo
affected_policies_and_suggestions.json
Esse arquivo agrupa políticas semelhantes com base nos seguintes critérios:
-
Mesmas ações antigas usadas: políticas que têm as mesmas ações antigas em todos os blocos
SID
. -
Detalhes correspondentes: além das ações afetadas, as políticas têm elementos do IAM idênticos, como:
-
Effect
(Allow
/Deny
) -
Principal
(a quem é permitido ou negado o acesso); -
NotAction
(quais ações não são permitidas) -
NotPrincipal
(a quem é explicitamente negado o acesso); -
Resource
(a quais AWS recursos a política se aplica) -
Condition
(quaisquer condições específicas sob as quais a política se aplica).
-
nota
Para obter mais informações, consulte Exemplos de política do IAM.
exemplo Exemplo
affected_policies_and_suggestions.json
[{ "AccountsScanned": [ "111111111111", "222222222222" ], "TotalAffectedAccounts": 2, "TotalAffectedPolicies": 2, "TotalSimilarPolicyGroups": 2 }, { "GroupName": "Group1", "ImpactedPolicies": [{ "Account": "111111111111", "PolicyType": "UserInlinePolicy", "PolicyName": "Inline-Test-Policy-Allow", "PolicyIdentifier": "1111111_1-user:Inline-Test-Policy-Allow" }, { "Account": "222222222222", "PolicyType": "UserInlinePolicy", "PolicyName": "Inline-Test-Policy-Allow", "PolicyIdentifier": "222222_1-group:Inline-Test-Policy-Allow" } ], "ImpactedPolicyStatements": [ [{ "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "aws-portal:ViewAccounts" ], "Resource": "*" }] ], "SuggestedPolicyStatementsToAppend": [{ "Sid": "BillingConsolePolicyMigrator0", "Effect": "Allow", "Action": [ "account:GetAccountInformation", "account:GetAlternateContact", "account:GetChallengeQuestions", "account:GetContactInformation", "billing:GetContractInformation", "billing:GetIAMAccessPreference", "billing:GetSellerOfRecord", "payments:ListPaymentPreferences" ], "Resource": "*" }] }, { "GroupName": "Group2", "ImpactedPolicies": [{ "Account": "111111111111", "PolicyType": "UserInlinePolicy", "PolicyName": "Inline-Test-Policy-deny", "PolicyIdentifier": "1111111_2-user:Inline-Test-Policy-deny" }, { "Account": "222222222222", "PolicyType": "UserInlinePolicy", "PolicyName": "Inline-Test-Policy-deny", "PolicyIdentifier": "222222_2-group:Inline-Test-Policy-deny" } ], "ImpactedPolicyStatements": [ [{ "Sid": "VisualEditor0", "Effect": "deny", "Action": [ "aws-portal:ModifyAccount" ], "Resource": "*" }] ], "SuggestedPolicyStatementsToAppend": [{ "Sid": "BillingConsolePolicyMigrator1", "Effect": "Deny", "Action": [ "account:CloseAccount", "account:DeleteAlternateContact", "account:PutAlternateContact", "account:PutChallengeQuestions", "account:PutContactInformation", "billing:PutContractInformation", "billing:UpdateIAMAccessPreference", "payments:UpdatePaymentPreferences" ], "Resource": "*" }] } ]
-
detailed_affected_policies.json
-
Contém a definição de todas as políticas afetadas que o script
identify_affected_policies.py
identificou para as contas dos membros.O arquivo agrupa políticas semelhantes. Você pode usar esse arquivo como referência para que possa revisar e gerenciar as alterações da política sem precisar fazer login na conta de cada membro, a fim de revisar as atualizações de cada política e conta individualmente.
Você pode pesquisar no arquivo o nome da política (por exemplo,
) e, em seguida, revisar as definições da política afetada.YourCustomerManagedReadOnlyAccessBillingUser
exemplo Example:
detailed_affected_policies.json
[{ "Account": "111111111111", "PolicyType": "CustomerManagedPolicy", "PolicyName": "AwsPortalviewAccount", "PolicyIdentifier": "arn:aws:iam::111111111111:policy/AwsPortalviewAccount", "PolicyDocument": { "Version": "2012-10-17", "Statement": [{ "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "aws-portal:ViewAccount" ], "Resource": "*" }] } }, { "Account": "222222222222", "PolicyType": "CustomerManagedPolicy", "PolicyName": "AwsPortalviewAccount", "PolicyIdentifier": "arn:aws:iam::222222222222:policy/AwsPortalviewAccount", "PolicyDocument": { "Version": "2012-10-17", "Statement": [{ "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "aws-portal:ViewAccount" ], "Resource": "*" }] } }, { "Account": "111111111111", "PolicyType": "CustomerManagedPolicy", "PolicyName": "AwsPortalModifyAccount", "PolicyIdentifier": "arn:aws:iam::111111111111:policy/AwsPortalModifyAccount", "PolicyDocument": { "Version": "2012-10-17", "Statement": [{ "Sid": "VisualEditor0", "Effect": "Deny", "Action": [ "aws-portal:ModifyAccount" ], "Resource": "*" }] } }, { "Account": "222222222222", "PolicyType": "CustomerManagedPolicy", "PolicyName": "AwsPortalModifyAccount", "PolicyIdentifier": "arn:aws:iam::222222222222:policy/AwsPortalModifyAccount", "PolicyDocument": { "Version": "2012-10-17", "Statement": [{ "Sid": "VisualEditor0", "Effect": "Deny", "Action": [ "aws-portal:ModifyAccount" ], "Resource": "*" }] } } ]
Etapa 4: revisar as alterações sugeridas
Depois que o script criar o arquivo affected_policies_and_suggestions.json
, revise-o e faça as alterações.
Para revisar as políticas afetadas
-
Em um editor de texto, abra o arquivo
affected_policies_and_suggestions.json
. -
Na seção
AccountsScanned
, verifique se o número de grupos semelhantes identificados nas contas verificadas é esperado. -
Analise as ações refinadas sugeridas que serão adicionadas às políticas afetadas.
-
Atualize seu arquivo conforme necessário e salve-o.
Exemplo 1: atualizar o arquivo action_mapping_config.json
Você pode atualizar os mapeamentos sugeridos no action_mapping_config.json
. Depois de atualizar o arquivo, você pode executar novamente o script identify_affected_policies.py
. Esse script gera sugestões de atualização para as políticas afetadas.
Você pode criar várias versões do arquivo action_mapping_config.json
para alterar as políticas de contas diferentes com permissões diferentes. Por exemplo, você pode criar um arquivo chamado action_mapping_config_testing.json
para migrar permissões para suas contas de teste e action_mapping_config_production.json
para suas contas de produção.
Exemplo 2: atualizar o arquivo affected_policies_and_suggestions.json
Para fazer alterações nas substituições sugeridas para um grupo de políticas afetado específico, você pode editar diretamente a seção de substituições sugeridas no arquivo affected_policies_and_suggestions.json
.
Todas as alterações feitas nesta seção serão aplicadas a todas as políticas desse grupo específico de políticas afetadas.
Exemplo 3: personalizar uma política específica
Se você achar que uma política dentro de um grupo de políticas afetadas precisa de alterações diferentes das atualizações sugeridas, você pode fazer o seguinte:
-
Exclua contas específicas do script
identify_affected_policies.py
. Em seguida, você pode revisar essas contas excluídas separadamente. -
Atualize os blocos
Sid
afetados removendo as políticas e contas afetadas que precisam de permissões diferentes. Crie um bloco JSON que inclua somente as contas específicas ou as exclua da execução atual da política afetada pela atualização.Quando você executa novamente o script
identify_affected_policies.py
, somente as contas relevantes aparecem no bloco atualizado. Em seguida, você pode refinar as substituições sugeridas para esse blocoSid
específico.
Etapa 5: atualizar as políticas afetadas
Depois de revisar e refinar as substituições sugeridas, execute o script update_affected_policies.py
. O script usa o arquivo affected_policies_and_suggestions.json
como entrada. Esse script assume o perfil BillingConsolePolicyMigratorRole
do IAM para atualizar as políticas afetadas listadas no arquivo affected_policies_and_suggestions.json
.
Para atualizar as políticas afetadas
-
Caso ainda não tenha feito isso, abra uma janela de linha de comando para a AWS CLI.
-
Insira o comando a seguir para executar o script
update_affected_policies.py
. Você pode usar o seguinte parâmetro de entrada:
-
O caminho do diretório do arquivo
affected_policies_and_suggestions.json
que contém uma lista das políticas afetadas a serem atualizadas. Esse arquivo é um resultado da etapa anterior.
python3
update_affected_policies.py
--affected-policies-directory Affected_Policies_<Timestamp>
O script update_affected_policies.py
atualiza as políticas afetadas no arquivo affected_policies_and_suggestions.json
com as novas ações sugeridas. O script adiciona um Sid
bloco às políticas, identificado comoBillingConsolePolicyMigrator
, onde #
#
corresponde a um contador incremental (por exemplo, 1, 2, 3).
Por exemplo, se houver vários blocos Sid
na política afetada que usam ações antigas, o script adicionará vários blocos Sid
que aparecerão como BillingConsolePolicyMigrator
para corresponder a cada bloco #
Sid
.
Importante
-
O script não remove ações antigas do IAM das políticas nem altera os blocos
Sid
existentes nas políticas. Em vez disso, ele cria blocosSid
e os anexa ao final da política. Esses novos blocosSid
têm as novas ações sugeridas do arquivo JSON. Isso garante que as permissões das políticas originais não sejam alteradas. -
Recomendamos que você não altere o nome dos blocos
BillingConsolePolicyMigrator
#
Sid
caso precise reverter suas alterações.
exemplo Exemplo: política com blocos Sid
anexados
Veja os blocos Sid
anexados aos blocos BillingConsolePolicyMigrator1
e BillingConsolePolicyMigrator2
.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ce:*", "aws-portal:ViewAccount" ], "Resource": "*", "Principal": { "AWS": "arn:aws:iam::111111111111:BillingRole" }, "Condition": { "BoolIfExists": { "aws:MultiFactorAuthPresent": "true" } } }, { "Sid": "BillingConsolePolicyMigrator1", "Effect": "Allow", "Action": [ "account:GetAccountInformation", "account:GetAlternateContact", "account:GetChallengeQuestions", "account:GetContactInformation", "billing:GetContractInformation", "billing:GetIAMAccessPreference", "billing:GetSellerOfRecord", "payments:ListPaymentPreferences" ], "Resource": "*", "Principal": { "AWS": "arn:aws:iam::111111111111:BillingRole" }, "Condition": { "BoolIfExists": { "aws:MultiFactorAuthPresent": "true" } } }, { "Sid": "BillingConsolePolicyMigrator2", "Effect": "Deny", "Action": [ "account:CloseAccount", "account:DeleteAlternateContact", "account:PutAlternateContact", "account:PutChallengeQuestions", "account:PutContactInformation", "billing:PutContractInformation", "billing:UpdateIAMAccessPreference", "payments:UpdatePaymentPreferences" ], "Resource": "*" } ] }
O script gera um relatório de status que contém operações malsucedidas e gera o arquivo JSON localmente.
exemplo Exemplo: relatório de status
[{ "Account": "111111111111", "PolicyType": "Customer Managed Policy" "PolicyName": "AwsPortalViewPaymentMethods", "PolicyIdentifier": "identifier", "Status": "FAILURE", // FAILURE or SKIPPED "ErrorMessage": "Error message details" }]
Importante
-
Se você executar novamente os scripts
identify_affected_policies.py
eupdate_affected_policies.py
, eles ignorarão todas as políticas que contêm o blocoBillingConsolePolicyMigratorRole
#
Sid
. Os scripts presumem que essas políticas foram verificadas e atualizadas anteriormente e que não exigem atualizações adicionais. Isso evita que o script duplique as mesmas ações na política. -
Depois de atualizar as políticas afetadas, você poderá usar o novo IAM usando a ferramenta de políticas afetadas. Se você identificar algum problema, poderá usar a ferramenta para voltar às ações anteriores. Você também pode usar um script para reverter suas atualizações de política.
Para obter mais informações, consulte Como usar a ferramenta Políticas afetadas a postagem do blog Alterações no AWS faturamento, no gerenciamento de custos e nas permissões dos consoles de contas
. -
Para gerenciar suas atualizações, você pode:
-
Execute os scripts para cada conta individualmente.
-
Execute o script em lotes para contas semelhantes, como contas de teste, de controle de qualidade e de produção.
-
Execute o script para todas as contas.
-
Escolha uma combinação entre atualizar algumas contas em lotes e depois atualizar outras individualmente.
-
Etapa 6: reverter suas alterações (opcional)
O script rollback_affected_policies.py
reverte as alterações aplicadas a cada política afetada para as contas especificadas. O script remove todos os blocos Sid
que o script update_affected_policies.py
anexou. Esses blocos Sid
têm o formato
.BillingConsolePolicyMigratorRole
#
Para reverter suas alterações
-
Caso ainda não tenha feito isso, abra uma janela de linha de comando para a AWS CLI.
-
Insira o comando a seguir para executar o script
rollback_affected_policies.py
. Você pode usar os seguintes parâmetros de entrada:
-
--accounts
-
Especifica uma lista separada por vírgulas dos Conta da AWS IDs que você deseja incluir na reversão.
-
O exemplo a seguir verifica as políticas especificadas Contas da AWS e remove todas as instruções com o
BillingConsolePolicyMigrator
#
Sid
bloco.python3
rollback_affected_policies.py
–-accounts 111122223333, 555555555555, 666666666666
-
-
--all
-
Inclui tudo Conta da AWS IDs em sua organização.
-
O exemplo a seguir verifica as políticas em sua organização e remove todas as instruções com o bloco
BillingConsolePolicyMigratorRole
#
Sid
.
python3
rollback_affected_policies.py
–-all -
-
--exclude-accounts
-
Especifica uma lista separada por vírgulas dos Conta da AWS IDs que você deseja excluir da reversão.
Você só pode especificar esse parâmetro quando também especificar o parâmetro
--all
. -
O exemplo a seguir verifica as políticas de todos Contas da AWS em sua organização, exceto das contas especificadas.
python3
rollback_affected_policies.py
--all --exclude-accounts 777777777777, 888888888888, 999999999999
-
Exemplos de política do IAM
As políticas são consideradas semelhantes se tiverem os(as) mesmos(as):
-
Ações afetadas em todos os blocos de
Sid
. -
Detalhes nos seguintes elementos do IAM:
-
Effect
(Allow
/Deny
) -
Principal
(a quem é permitido ou negado o acesso); -
NotAction
(quais ações não são permitidas) -
NotPrincipal
(a quem é explicitamente negado o acesso); -
Resource
(a quais AWS recursos a política se aplica) -
Condition
(quaisquer condições específicas sob as quais a política se aplica).
-
Os exemplos a seguir mostram políticas que o IAM pode considerar semelhantes, ou não, com base nas diferenças entre elas.
exemplo Exemplo 1: as políticas são consideradas semelhantes
Cada tipo de política é diferente, mas ambas as políticas contêm um bloco Sid
com a mesma Action
afetada.
exemplo Exemplo 2: as políticas são consideradas semelhantes
Ambas as políticas contêm um bloco Sid
com a mesma Action
afetada. A política 2 contém ações adicionais, mas essas ações não são afetadas.
exemplo Exemplo 3: as políticas não são consideradas semelhantes
Ambas as políticas contêm um bloco Sid
com a mesma Action
afetada. No entanto, a política 2 contém um elemento Condition
que não está presente na política 1.
exemplo Exemplo 4: as políticas são consideradas semelhantes
A política 1 tem um único bloco Sid
com uma Action
afetada. A política 2 tem vários blocos Sid
, mas a Action
afetada aparece em apenas um bloco.
exemplo Exemplo 5: as políticas não são consideradas semelhantes
A política 1 tem um único bloco Sid
com uma Action
afetada. A política 2 tem vários blocos Sid
, mas a Action
afetada aparece em vários blocos.
exemplo Exemplo 6: as políticas são consideradas semelhantes
Ambas as políticas têm vários blocos Sid
, com a mesma Action
afetada em cada bloco Sid
.
exemplo Exemplo 7
As duas políticas a seguir não são consideradas semelhantes.
A política 1 tem um único bloco Sid
com uma Action
afetada. A política 2 tem um único bloco Sid
com a mesma Action
afetada. No entanto, a política 2 também contém outro bloco Sid
com ações diferentes.