Uso de GetPolicyVersion
con un AWS SDK o la CLI
En los siguientes ejemplos de código, se muestra cómo utilizar GetPolicyVersion
.
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 los siguientes ejemplos de código:
- CLI
-
- AWS CLI
-
Cómo recuperar información acerca de la versión especificada de la política administrada especificada
En este ejemplo se devuelve el documento de la política para la versión v2 de la política cuyo ARN es arn:aws:iam::123456789012:policy/MyManagedPolicy
.
aws iam get-policy-version \
--policy-arn arn:aws:iam::123456789012:policy/MyPolicy
\
--version-id v2
Salida:
{
"PolicyVersion": {
"Document": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:*",
"Resource": "*"
}
]
},
"VersionId": "v2",
"IsDefaultVersion": true,
"CreateDate": "2023-04-11T00:22:54+00:00"
}
}
Para obtener más información, consulte Políticas y permisos en IAM en la Guía del usuario de IAM de AWS.
- PowerShell
-
- Herramientas para PowerShell
-
Ejemplo 1: en este ejemplo, se devuelve el documento de política para la versión v2
de la política cuyo ARN es arn:aws:iam::123456789012:policy/MyManagedPolicy
. El documento de política en la propiedad Document
tiene codificación de URL y se decodifica en este ejemplo con el método UrlDecode
de .NET.
$results = Get-IAMPolicyVersion -PolicyArn arn:aws:iam::123456789012:policy/MyManagedPolicy -VersionId v2
$results
Salida:
CreateDate Document IsDefaultVersion VersionId
---------- -------- ---------------- ---------
2/12/2015 9:39:53 AM %7B%0A%20%20%22Version%22%3A%20%222012-10... True v2
[System.Reflection.Assembly]::LoadWithPartialName("System.Web.HttpUtility")
$policy = [System.Web.HttpUtility]::UrlDecode($results.Document)
$policy
{
"Version": "2012-10-17",
"Statement":
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
}
- Python
-
- SDK para Python (Boto3)
-
def get_default_policy_statement(policy_arn):
"""
Gets the statement of the default version of the specified policy.
:param policy_arn: The ARN of the policy to look up.
:return: The statement of the default policy version.
"""
try:
policy = iam.Policy(policy_arn)
# To get an attribute of a policy, the SDK first calls get_policy.
policy_doc = policy.default_version.document
policy_statement = policy_doc.get("Statement", None)
logger.info("Got default policy doc for %s.", policy.policy_name)
logger.info(policy_doc)
except ClientError:
logger.exception("Couldn't get default policy statement for %s.", policy_arn)
raise
else:
return policy_statement
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.