Uso de CreatePolicyVersion
con un AWS SDK o la CLI
En los siguientes ejemplos de código, se muestra cómo utilizar CreatePolicyVersion
.
Los ejemplos de acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Puede ver esta acción en contexto en el siguiente ejemplo de código:
- CLI
-
- AWS CLI
-
Cómo crear una nueva versión de la política administrada
En este ejemplo, se crea una nueva versión
v2
de la política de IAM cuyo ARN esarn:aws:iam::123456789012:policy/MyPolicy
y se la convierte en la versión predeterminada.aws iam create-policy-version \ --policy-arn
arn:aws:iam::123456789012:policy/MyPolicy
\ --policy-documentfile://NewPolicyVersion.json
\ --set-as-defaultSalida:
{ "PolicyVersion": { "CreateDate": "2015-06-16T18:56:03.721Z", "VersionId": "v2", "IsDefaultVersion": true } }
Para obtener más información, consulte Control de versiones de políticas de IAM en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte CreatePolicyVersion
en la Referencia de comandos de la AWS CLI.
-
- PowerShell
-
- Herramientas para PowerShell
-
Ejemplo 1: en este ejemplo, se crea una nueva versión “v2” de la política de IAM cuyo ARN es
arn:aws:iam::123456789012:policy/MyPolicy
y se la convierte en la versión predeterminada. El archivoNewPolicyVersion.json
proporciona el contenido de la política. Tenga en cuenta que debe usar el parámetro de conmutación-Raw
para procesar correctamente el archivo de políticas JSON.New-IAMPolicyVersion -PolicyArn arn:aws:iam::123456789012:policy/MyPolicy -PolicyDocument (Get-content -Raw NewPolicyVersion.json) -SetAsDefault $true
Salida:
CreateDate Document IsDefaultVersion VersionId ---------- -------- ---------------- --------- 4/15/2015 10:54:54 AM True v2
-
Para obtener información sobre la API, consulte CreatePolicyVersion en la Referencia de Cmdlet de Herramientas de AWS para PowerShell.
-
- Python
-
- SDK para Python (Boto3)
-
nota
Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS
. def create_policy_version(policy_arn, actions, resource_arn, set_as_default): """ Creates a policy version. Policies can have up to five versions. The default version is the one that is used for all resources that reference the policy. :param policy_arn: The ARN of the policy. :param actions: The actions to allow in the policy version. :param resource_arn: The ARN of the resource this policy version applies to. :param set_as_default: When True, this policy version is set as the default version for the policy. Otherwise, the default is not changed. :return: The newly created policy version. """ policy_doc = { "Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Action": actions, "Resource": resource_arn}], } try: policy = iam.Policy(policy_arn) policy_version = policy.create_version( PolicyDocument=json.dumps(policy_doc), SetAsDefault=set_as_default ) logger.info( "Created policy version %s for policy %s.", policy_version.version_id, policy_version.arn, ) except ClientError: logger.exception("Couldn't create a policy version for %s.", policy_arn) raise else: return policy_version
-
Para obtener detalles sobre la API, consulte CreatePolicyVersion en la Referencia de la API del AWS SDK para Python (Boto3).
-
Para obtener una lista completa de las guías para desarrolladores de AWS SDK y ejemplos de código, consulte Uso de este servicio con un AWS SDK. En este tema también se incluye información sobre cómo comenzar a utilizar el SDK y detalles sobre sus versiones anteriores.