Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Usa scripts para migrar tus políticas de forma masiva y usar acciones más detalladas IAM
nota
Las siguientes AWS Identity and Access Management (IAM) acciones finalizaron el soporte estándar en julio de 2023:
-
espacio de nombres
aws-portal
-
purchase-orders:ViewPurchaseOrders
-
purchase-orders:ModifyPurchaseOrders
Si lo estás utilizando AWS Organizations, puedes usar los scripts de migración masiva de políticas o el migrador masivo de políticas para actualizar las políticas desde tu cuenta de pagador. También puedes usar la referencia de mapeo de acciones antigua o granular para verificar las IAM acciones que se deben agregar.
Si tienes una Cuenta de AWS o formas parte de una AWS Organizations creada el 6 de marzo de 2023, o después de esa fecha, a las 11:00 a. m. (PDT), las acciones detalladas ya están en vigor en tu organización.
Ejecute estos scripts desde la cuenta de pagador de su organización para identificar las siguientes políticas afectadas de su organización que utilizan las acciones anteriores: IAM
-
Políticas gestionadas por IAM el cliente
-
Políticas en IAM línea de roles, grupos y usuarios
-
Políticas de control de servicios (SCPs) (se aplican únicamente a la cuenta del pagador)
-
Conjuntos de permisos
Los scripts generan sugerencias de nuevas acciones que corresponden a las acciones existentes utilizadas en la política. A continuación, revise las sugerencias y utilice los scripts para agregar las nuevas acciones en todas las políticas afectadas de la organización. No es necesario actualizar las políticas AWS gestionadas o AWS gestionadas SCPs (por ejemplo, AWS Control Tower y AWS Organizations SCPs).
Estos scripts se utilizan para:
-
Optimizan las actualizaciones de las políticas para ayudar con la administración de las políticas afectadas desde la cuenta del pagador.
-
Reducen la cantidad de tiempo que necesita para actualizar las políticas. No necesita iniciar sesión en cada cuenta de miembro para actualizar manualmente las políticas.
-
Agrupan políticas idénticas de diferentes cuentas de miembros. A continuación, puede revisar y aplicar las mismas actualizaciones en todas las políticas idénticas, en lugar de revisarlas una por una.
-
Asegúrese de que el acceso de los usuarios no se vea afectado AWS después de retirar IAM las acciones anteriores el 6 de julio de 2023.
Para obtener más información sobre las políticas y las políticas de control de servicios (SCPs), consulte los siguientes temas:
-
Gestión de IAM políticas en la Guía IAM del usuario
-
Políticas de control de servicios (SCPs) en la Guía AWS Organizations del usuario
-
Permisos personalizados en la guía del usuario de IAM Identity Center
Descripción general
Siga este tema para completar los siguientes pasos:
Temas
Requisitos previos
Para comenzar, necesita lo siguiente:
-
Descargue e instale Python 3
. -
Inicie sesión en su cuenta de pagador y compruebe que tiene un IAM mandante con los siguientes IAM permisos:
"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"
sugerencia
Para empezar, recomendamos que utilice un subconjunto de una cuenta (como las cuentas de prueba) para comprobar que estén previstos los cambios sugeridos.
A continuación, puede volver a ejecutar los scripts para las cuentas restantes de la organización.
Paso 1: configurar el entorno
Para comenzar, descargue los archivos requeridos del sitio web AWS
Samples
Para configurar su entorno de
-
Clone el repositorio desde el sitio web AWS Samples
. En una ventana de línea de comando, puede usar el siguiente comando: git clone https://github.com/aws-samples/bulk-policy-migrator-scripts-for-account-cost-billing-consoles.git
-
Desplácese hasta el directorio en el que descargó los archivos. Puede utilizar el siguiente comando:
cd bulk-policy-migrator-scripts-for-account-cost-billing-consoles
En el repositorio, puede encontrar los siguientes scripts y recursos:
-
billing_console_policy_migrator_role.json
— La CloudFormation plantilla que crea el
IAM rol en las cuentas de los miembros de su organización. Este rol permite que los scripts asuman el rol y, a continuación, lean y actualicen las políticas afectadas.BillingConsolePolicyMigratorRole
-
action_mapping_config.json
— Contiene el one-to-many mapeo de las acciones antiguas con las nuevas. Los scripts utilizan este archivo para sugerir las nuevas acciones para cada política afectada que contenga las acciones antiguas.Cada acción antigua corresponde a varias acciones detalladas. Las nuevas acciones sugeridas en el archivo permiten a los usuarios acceder a las mismas Servicios de AWS antes de la migración.
-
identify_affected_policies.py
: escanea e identifica las políticas afectadas de la organización. Este script genera un archivo deaffected_policies_and_suggestions.json
que enumera las políticas afectadas junto con las nuevas acciones sugeridas.Las políticas afectadas que utilizan el mismo conjunto de acciones antiguas se agrupan en el JSON archivo para que pueda revisar o actualizar las nuevas acciones sugeridas.
-
update_affected_policies.py
: actualiza las políticas afectadas de la organización. El script introduce el archivoaffected_policies_and_suggestions.json
y, a continuación, agrega las nuevas acciones sugeridas a las políticas. -
rollback_affected_policies.py
: (opcional) revierte los cambios en las políticas afectadas. Este script elimina las nuevas acciones detalladas de las políticas afectadas.
-
-
Para configurar y activar el entorno virtual, puede ejecutar el siguiente comando:
python3 -m venv venv
source venv/bin/activate
-
Ejecute el siguiente comando para instalar la AWS SDK for Python (Boto3) dependencia.
pip install -r requirements.txt
nota
Debe configurar sus AWS credenciales para usar el AWS Command Line Interface (AWS CLI). Para obtener más información, consulte AWS SDK for Python (Boto3)
.
Para obtener más información, consulte el READMEarchivo.md.
Paso 2: Crea el CloudFormation StackSet
Siga este procedimiento para crear un conjunto de CloudFormation pilas. A continuación, este conjunto de pilas crea el BillingConsolePolicyMigratorRole
IAM rol para todas las cuentas de los miembros de la organización.
nota
Solo necesita completar este paso una vez desde la cuenta de administración (cuenta del pagador).
Para crear el CloudFormation StackSet
-
En un editor de texto, abra el
billing_console_policy_migrator_role.json
archivo y sustituya cada instancia de
por el ID de cuenta de la cuenta del pagador (por ejemplo,<management_account>
123456789012
). -
Guarde el archivo.
-
Inicie sesión en la cuenta AWS Management Console de pagador.
-
En la CloudFormation consola, crea un conjunto de pilas con el
billing_console_policy_migrator_role.json
archivo que has actualizado.Para obtener más información, consulte Creación de un conjunto de pilas en la AWS CloudFormation consola en la Guía del AWS CloudFormation usuario.
Después de CloudFormation crear el conjunto de pilas, cada cuenta de miembro de la organización tiene una BillingConsolePolicyMigratorRole
IAM función.
El IAM rol contiene los siguientes permisos:
"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"
Notas
Para cada cuenta de miembro, los scripts llaman a la AssumeRoleAPIoperación para obtener credenciales temporales que permitan asumir el
BillingConsolePolicyMigratorRole
IAM rol.Los scripts invocan la ListAccountsAPIoperación para obtener todas las cuentas de los miembros.
Los scripts también invocan IAM API operaciones para ejecutar los permisos de lectura y escritura de las políticas.
Paso 3: identificar las políticas afectadas
Después de crear el conjunto de pilas y descargar los archivos, ejecute el script identify_affected_policies.py
. Este script asume la BillingConsolePolicyMigratorRole
IAM función de cada cuenta de miembro y, a continuación, identifica las políticas afectadas.
Para identificar las políticas afectadas
-
Desplácese hasta el directorio en el que descargó los scripts.
cd policy_migration_scripts/scripts
-
Ejecute el script
identify_affected_policies.py
.
Puede utilizar los siguientes parámetros de entrada:
-
Cuentas de AWS que desea que escanee el script. Para especificar cuentas, utilice los siguientes parámetros de entrada:
-
--all
: escanea todas las cuentas de miembros de la organización.python3
identify_affected_policies.py
--all -
--accounts
: escanea todos los subconjuntos de cuentas de miembros de la organización.python3
identify_affected_policies.py
--accounts 111122223333, 444455556666, 777788889999 -
--exclude-accounts
: no incluye las cuentas de miembros específicas de la organización.python3
identify_affected_policies.py
--all --exclude-accounts 111111111111, 222222222222, 333333333333
-
-
–-action-mapping-config-file
: (opcional) especifique la ruta al archivoaction_mapping_config.json
. El script usa este archivo para generar actualizaciones sugeridas para las políticas afectadas. Si no especifica la ruta, el script usa el archivoaction_mapping_config.json
en la carpeta.python3
identify_affected_policies.py
–-action-mapping-config-file c:\Users\username\Desktop\Scripts\action_mapping_config.json
–-all
nota
No puedes especificar unidades organizativas (OUs) con este script.
Tras ejecutar el script, se crean dos JSON archivos en una Affected_Policies_
carpeta:<Timestamp>
-
affected_policies_and_suggestions.json
-
detailed_affected_policies.json
affected_policies_and_suggestions.json
-
Muestra las políticas afectadas con las nuevas acciones sugeridas. Se agrupan en el archivo las políticas afectadas que utilizan el mismo conjunto de acciones antiguas.
Este archivo contiene las siguientes secciones:
-
Metadatos que proporcionan una descripción general de las cuentas que especificó en el script, incluidas:
-
Las cuentas escaneadas y el parámetro de entrada utilizado para el script
identify_affected_policies.py
-
La cantidad de cuentas afectadas
-
La cantidad de políticas afectadas
-
Cantidad de grupos de políticas similares
-
-
Grupos de políticas similares. Incluye la lista de cuentas y detalles de la política, incluidas las siguientes secciones:
-
ImpactedPolicies
: especifica cuáles son las políticas afectadas e incluidas en el grupo. -
ImpactedPolicyStatements
: proporciona información sobre los bloquesSid
que actualmente utilizan las acciones antiguas de la política afectada. En esta sección se incluyen las acciones y IAM los elementos antiguosEffect
Principal
, comoNotPrincipal
,NotAction
, yCondition
.
-
-
SuggestedPolicyStatementsToAppend
: proporciona las nuevas acciones sugeridas que se agregan como un nuevo bloqueSID
.Cuando se actualizan las políticas, este bloque se agrega al final de estas.
ejemplo Archivo
affected_policies_and_suggestions.json
de ejemploEste archivo agrupa las políticas que son similares en función de los siguientes criterios:
-
Uso de las mismas acciones antiguas. Políticas que tienen las mismas acciones antiguas en todos los bloques
SID
. -
Detalles coincidentes: además de las acciones afectadas, las políticas tienen IAM elementos idénticos, como:
-
Effect
(Allow
/Deny
) -
Principal
(a quién se le permite o deniega el acceso) -
NotAction
(qué acciones no están permitidas) -
NotPrincipal
(a quien se le niega explícitamente el acceso) -
Resource
(a qué AWS recursos se aplica la política) -
Condition
(cualquier condición específica en la que se aplique la política)
-
nota
Para obtener más información, consulte Ejemplos de políticas de IAM.
ejemplo Ejemplo
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
-
Contiene la definición de todas las políticas afectadas que el script
identify_affected_policies.py
identificó para las cuentas de los miembros.El archivo agrupa políticas similares. Puede utilizar este archivo como referencia para revisar y administrar los cambios en las políticas sin necesidad de iniciar sesión en cada cuenta de miembro para revisar las actualizaciones de cada política y cuenta de forma individual.
Puede buscar el nombre de la política en el archivo (por ejemplo,
) y, a continuación, revisar las definiciones de políticas afectadas.YourCustomerManagedReadOnlyAccessBillingUser
ejemplo Ejemplo:
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": "*" }] } } ]
Paso 4: revisar los cambios sugeridos
Una vez que el script haya creado el archivo affected_policies_and_suggestions.json
, revíselo y haga los cambios necesarios.
Para revisar las políticas afectadas
-
Abra el archivo
affected_policies_and_suggestions.json
en un editor de texto. -
En la sección
AccountsScanned
, compruebe que se espera la cantidad de grupos similares identificados en las cuentas escaneadas. -
Revise las acciones detalladas sugeridas que se agregarán a las políticas afectadas.
-
Actualice el archivo según sea necesario y, a continuación, guárdelo.
Ejemplo 1: actualizar el archivo action_mapping_config.json
Puede actualizar las asignaciones sugeridas en action_mapping_config.json
. Después de actualizar el archivo, puede volver a ejecutar el script identify_affected_policies.py
. El script genera sugerencias actualizadas para las políticas afectadas.
Puede crear varias versiones del archivo action_mapping_config.json
para cambiar las políticas de diferentes cuentas con diferentes permisos. Por ejemplo, puede crear un archivo con el nombre de action_mapping_config_testing.json
para migrar los permisos para las cuentas de prueba y action_mapping_config_production.json
para las cuentas de producción.
Ejemplo 2: actualizar el archivo affected_policies_and_suggestions.json
Para modificar los reemplazos sugeridos para un grupo de políticas afectado específico, puede editar directamente la sección de reemplazos sugeridos del archivo affected_policies_and_suggestions.json
.
Todos los cambios que realice en esta sección se aplicarán a todas las políticas de ese grupo de políticas afectado específico.
Ejemplo 3: personalizar una política específica
Si descubre una política dentro de un grupo de políticas afectado que necesita cambios diferentes a los sugeridos, puede hacer lo siguiente:
-
Excluya cuentas específicas del script
identify_affected_policies.py
. A continuación, puede revisar las cuentas excluidas por separado. -
Actualice los bloques
Sid
afectados eliminando las políticas y cuentas afectadas que necesitan permisos diferentes. Crea un JSON bloque que incluya solo las cuentas específicas o las excluya de la política afectada por la actualización actual.Cuando vuelva a ejecutar el script
identify_affected_policies.py
, solo aparecerán las cuentas pertinentes en el bloque actualizado. A continuación, puede refinar los reemplazos sugeridos para ese bloqueSid
específico.
Paso 5: actualizar las políticas afectadas
Después de revisar y refinar los reemplazos sugeridos, ejecute el script update_affected_policies.py
. El script toma el archivo affected_policies_and_suggestions.json
como entrada. Este script asume la BillingConsolePolicyMigratorRole
IAM función de actualizar las políticas afectadas que figuran en el affected_policies_and_suggestions.json
archivo.
Para actualizar las políticas afectadas
-
Si aún no lo ha hecho, abra una ventana de línea de comandos para la AWS CLI.
-
Ingrese el comando siguiente para ejecutar el script
update_affected_policies.py
. Puede ingresar los siguientes parámetros de entrada:
-
La ruta del directorio del archivo
affected_policies_and_suggestions.json
que contiene una lista de las políticas afectadas que se van a actualizar. Este archivo es un resultado del paso anterior.
python3
update_affected_policies.py
--affected-policies-directory Affected_Policies_<Timestamp>
El script update_affected_policies.py
actualiza las políticas afectadas dentro del archivo affected_policies_and_suggestions.json
con las nuevas acciones sugeridas. El script añade un Sid
bloque a las políticas, identificado comoBillingConsolePolicyMigrator
, donde #
#
corresponde a un contador incremental (por ejemplo, 1, 2, 3).
Por ejemplo, si hay varios bloques Sid
en la política afectada que utilizan acciones antiguas, el script agrega varios bloques Sid
que aparecen como BillingConsolePolicyMigrator
para corresponder a cada bloque #
Sid
.
importante
-
El script no elimina IAM las acciones antiguas de las políticas ni cambia los
Sid
bloques existentes en las políticas. En su lugar, crea bloquesSid
y los agrega al final de la política. Estos nuevosSid
bloques incluyen las nuevas acciones sugeridas en el JSON archivo. Esto garantiza que no se modifiquen los permisos de las políticas originales. -
No recomendamos cambiar el nombre de los bloques
BillingConsolePolicyMigrator
#
Sid
en caso de que necesite revertir los cambios.
ejemplo Ejemplo: política con bloques Sid
adjuntos
Consulte los bloques Sid
adjuntos en los bloques BillingConsolePolicyMigrator1
y 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": "*" } ] }
El script genera un informe de estado que contiene las operaciones fallidas y genera el JSON archivo de forma local.
ejemplo Ejemplo: informe de estado
[{ "Account": "111111111111", "PolicyType": "Customer Managed Policy" "PolicyName": "AwsPortalViewPaymentMethods", "PolicyIdentifier": "identifier", "Status": "FAILURE", // FAILURE or SKIPPED "ErrorMessage": "Error message details" }]
importante
-
Si vuelve a ejecutar los scripts
identify_affected_policies.py
yupdate_affected_policies.py
, estos omiten todas las políticas que contiene el bloqueBillingConsolePolicyMigratorRole
#
Sid
. Los scripts asumen que esas políticas se escanearon y actualizaron previamente y que no requieren actualizaciones adicionales. Esto evita que el script duplique las mismas acciones de la política. -
Tras actualizar las políticas afectadas, puede utilizar las nuevas IAM mediante la herramienta de políticas afectadas. Si detecta algún problema, puede utilizar la herramienta para volver a las acciones anteriores. También puede usar un script para revertir las actualizaciones de la política.
Para obtener más información, consulta Cómo usar la herramienta de políticas afectadas la entrada del blog sobre los cambios en los permisos de AWS facturación, administración de costos y consolas de cuentas
. -
Para administrar sus actualizaciones, puede:
-
Ejecute los scripts para cada cuenta de forma individual.
-
Ejecute el script en lotes para cuentas similares, como cuentas de pruebas, control de calidad y producción.
-
Ejecute el script para todas las cuentas.
-
Elija una combinación entre actualizar algunas cuentas en lotes y, luego, actualizar otras de forma individual.
-
Paso 6: revertir los cambios (opcional)
El script rollback_affected_policies.py
revierte los cambios aplicados a cada política afectada para las cuentas especificadas. El script elimina todos los bloques Sid
que adjuntó el script update_affected_policies.py
. Estos bloques Sid
tienen el formato
.BillingConsolePolicyMigratorRole
#
Para revertir los cambios
-
Si aún no lo ha hecho, abra una ventana de línea de comandos para la AWS CLI.
-
Ingrese el comando siguiente para ejecutar el script
rollback_affected_policies.py
. Puede ingresar los siguientes parámetros de entrada:
-
--accounts
-
Especifica una lista separada por comas de los Cuenta de AWS IDs elementos que desea incluir en la reversión.
-
En el siguiente ejemplo, se analizan las políticas de lo especificado Cuentas de AWS y se eliminan todas las sentencias que contengan el bloque.
BillingConsolePolicyMigrator
#
Sid
python3
rollback_affected_policies.py
–-accounts 111122223333, 555555555555, 666666666666
-
-
--all
-
Incluye todas Cuenta de AWS IDs las de su organización.
-
En el siguiente ejemplo, se escanean todas las políticas de la organización y se eliminan todas las instrucciones del bloque
BillingConsolePolicyMigratorRole
#
Sid
.
python3
rollback_affected_policies.py
–-all -
-
--exclude-accounts
-
Especifica una lista separada por comas de los Cuenta de AWS IDs elementos que desea excluir de la reversión.
Se puede usar este parámetro solo cuando también especifica el parámetro
--all
. -
En el siguiente ejemplo, se analizan las políticas de toda Cuentas de AWS la organización, excepto las cuentas especificadas.
python3
rollback_affected_policies.py
--all --exclude-accounts 777777777777, 888888888888, 999999999999
-
Ejemplos de políticas de IAM
Las políticas se consideran similares si son idénticas:
-
Acciones afectadas en todos los bloques
Sid
. -
Los detalles figuran en los siguientes IAM elementos:
-
Effect
(Allow
/Deny
) -
Principal
(a quién se le permite o deniega el acceso) -
NotAction
(qué acciones no están permitidas) -
NotPrincipal
(a quien se le niega explícitamente el acceso) -
Resource
(a qué AWS recursos se aplica la política) -
Condition
(cualquier condición específica en la que se aplique la política)
-
Los siguientes ejemplos muestran políticas que IAM podrían considerarse similares o no en función de las diferencias entre ellas.
ejemplo Ejemplo 1: las políticas se consideran similares
Cada tipo de política es diferente, pero ambas políticas contienen un bloque Sid
con la misma Action
afectada.
ejemplo Ejemplo 2: las políticas se consideran similares
Ambas políticas contienen un bloque Sid
con el mismo valor de Action
afectado. La política 2 contiene acciones adicionales, pero estas acciones no se ven afectadas.
ejemplo Ejemplo 3: las políticas no se consideran similares
Ambas políticas contienen un bloque Sid
con el mismo valor de Action
afectado. Sin embargo, la política 2 contiene un elemento Condition
que no está presente en la política 1.
ejemplo Ejemplo 4: las políticas se consideran similares
La política 1 tiene un bloque Sid
único con un valor de Action
afectado. La política 2 tiene varios bloques Sid
, pero la Action
afectada aparece solo en un bloque.
ejemplo Ejemplo 5: las políticas no se consideran similares
La política 1 tiene un bloque Sid
único con un valor de Action
afectado. La política 2 tiene varios bloques Sid
, pero la Action
afectada aparece en varios bloques.
ejemplo Ejemplo 6: las políticas se consideran similares
Ambas políticas tienen varios bloques Sid
, y la misma Action
se ve afectada en cada bloque Sid
.
ejemplo Ejemplo 7
Las dos políticas siguientes no se consideran similares.
La política 1 tiene un bloque Sid
único con una Action
afectada. La política 2 tiene un bloque Sid
con la misma Action
afectada. Sin embargo, la política 2 también contiene otro bloque Sid
con diferentes acciones.