Usar GetPolicyVersion
com o AWS SDK ou a CLI
Os exemplos de código a seguir mostram como usar o GetPolicyVersion
.
Exemplos de ações são trechos de código de programas maiores e devem ser executados em contexto. É possível ver essa ação em contexto nos seguintes exemplos de código:
- CLI
-
- AWS CLI
-
Para recuperar informações sobre a versão especificada da política gerenciada especificada
Este exemplo retorna o documento da política para a versão v2 da política cujo ARN é
arn:aws:iam::123456789012:policy/MyManagedPolicy
.aws iam get-policy-version \ --policy-arn
arn:aws:iam::123456789012:policy/MyPolicy
\ --version-idv2
Saída:
{ "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 obter mais informações, consulte Políticas e permissões no IAM no Guia do usuário do AWS IAM.
-
Para obter detalhes da API, consulte GetPolicyVersion
na Referência de comandos da AWS CLI.
-
- PowerShell
-
- Ferramentas para PowerShell V4
-
Exemplo 1: este exemplo retorna o documento da política na versão
v2
da política cujo ARN éarn:aws:iam::123456789012:policy/MyManagedPolicy
. O documento da política na propriedadeDocument
é codificado em URL, sendo decodificado neste exemplo com o método .NETUrlDecode
.$results = Get-IAMPolicyVersion -PolicyArn arn:aws:iam::123456789012:policy/MyManagedPolicy -VersionId v2 $results
Saída:
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": "*" } }
-
Para ver detalhes da API, consulte GetPolicyVersion na Referência de cmdlets do Ferramentas da AWS para PowerShell (V4).
-
- Ferramentas para o PowerShell V5
-
Exemplo 1: este exemplo retorna o documento da política na versão
v2
da política cujo ARN éarn:aws:iam::123456789012:policy/MyManagedPolicy
. O documento da política na propriedadeDocument
é codificado em URL, sendo decodificado neste exemplo com o método .NETUrlDecode
.$results = Get-IAMPolicyVersion -PolicyArn arn:aws:iam::123456789012:policy/MyManagedPolicy -VersionId v2 $results
Saída:
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": "*" } }
-
Para obter detalhes sobre a API, consulte GetPolicyVersion na Ferramentas da AWS para PowerShell Cmdlet Reference (V5).
-
- Python
-
- SDK para Python (Boto3).
-
nota
Há mais no GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWSCode Examples Repository
. 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 obter detalhes da API, consulte GetPolicyVersion na Referência da API do AWS SDK para Python (Boto3).
-
Para ver uma lista completa dos Guias do desenvolvedor e exemplos de código do SDK da AWS, consulte Usar este serviço com um AWS SDK. Este tópico também inclui informações sobre como começar e detalhes sobre versões anteriores do SDK.