ok this is more ansible problem.
I like to put my policy changes in a vars file
so I got a policy.yaml file like this
policy.yaml
acm-pca:ListTags
acm-pca:GetPolicy
acm-pca:GetPolicy
---
- name: test
hosts: localhost
vars_files:
- policy.yml
tasks:
- name: Create IAM Managed Policy
amazon.aws.iam_policy:
iam_type: role
iam_name: "aws_test_role"
policy_name: "PrismaCloud-IAM-ReadOnly-Policy"
policy_json: "{{ policy | to_json }}"
state: present
policy: |
Version: "2012-10-17"
Statement:
{% for action in actions %}
- Action: {{ action }}
Effect: Allow
Resource: "*"
{% endfor %}
but when i run the pb it says
ERROR! variable files must contain either a dictionary of variables, or a
list of dictionaries. Got: acm-pca:ListTags acm-pca:GetPolicy
acm-pca:GetPolicy (<class 'ansible.parsing.yaml.objects.AnsibleUnicode'>)
On Tue, Feb 14, 2023 at 5:05 AM 'Rowe, Walter P. (Fed)' via Ansible Project
<[email protected]> wrote:
> This is not an ansible problem. You need to ready the AWS docs on
> specifying IAM policies and make sure your policy adheres to their format
> and only includes the key:value pairs they accept.
>
> Walter
> --
> Walter Rowe, Division Chief
> Infrastructure Services, OISM
> Mobile: 202.355.4123
>
> On Feb 13, 2023, at 1:47 PM, Tony Wong <[email protected]> wrote:
>
> tried but it failed
>
> fatal: [localhost]: FAILED! => {
> "boto3_version": "1.24.27",
> "botocore_version": "1.27.27",
> "changed": false,
> "error": {
> "code": "MalformedPolicyDocument",
> "message": "Syntax errors in policy.",
> "type": "Sender"
> },
> "invocation": {
> "module_args": {
> "access_key": null,
> "aws_ca_bundle": null,
> "aws_config": null,
> "debug_botocore_endpoint_logs": false,
> "endpoint_url": null,
> "iam_name": "aws_test_role",
> "iam_type": "role",
> "policy_json": "\"Version: \\\"2012-10-17\\\"\\nStatement:\\n
> - Action: acm-pca:ListTags\\n Effect: Allow\\n Resource:
> \\\"*\\\"\\n - Action: acm-pca:GetPolicy\\n Effect: Allow\\n
> Resource: \\\"*\\\"\\n - Action: acm-pca:GetPolicy\\n Effect: Allow\\n
> Resource: \\\"*\\\"\\n\"",
> "policy_name": "PrismaCloud-IAM-ReadOnly-Policy",
> "profile": null,
> "region": null,
> "secret_key": null,
> "session_token": null,
> "skip_duplicates": false,
> "state": "present",
> "validate_certs": true
> }
> },
> "msg": "An error occurred (MalformedPolicyDocument) when calling the
> PutRolePolicy operation: Syntax errors in policy.",
> "response_metadata": {
> "http_headers": {
> "connection": "close",
> "content-length": "279",
> "content-type": "text/xml",
> "date": "Mon, 13 Feb 2023 16:10:28 GMT",
> "x-amzn-requestid": "8ab06377-a416-45ea-a132-328cd03d329f"
> },
> "http_status_code": 400,
> "request_id": "8ab06377-a416-45ea-a132-328cd03d329f",
> "retry_attempts": 0
> }
> }
>
> On Mon, Feb 13, 2023 at 8:02 AM Dick Visser <[email protected]> wrote:
>
>> On Mon, 13 Feb 2023 at 15:55, Tony Wong <[email protected]> wrote:
>>
>> > "msg": "Failed to decode the policy as valid JSON: Expecting value:
>> line 1 column 1 (char 0)"
>>
>> So, you will need to use proper JSON.
>> Give this a try:
>>
>> ---
>> - name: test
>> hosts: localhost
>> tasks:
>> - name: Create IAM Managed Policy
>> amazon.aws.iam_policy:
>> iam_type: role
>> iam_name: "aws_test_role"
>> policy_name: "PrismaCloud-IAM-ReadOnly-Policy"
>> policy_json: "{{ policy | to_json }}"
>> state: present
>> vars:
>> actions:
>> - acm-pca:ListTags
>> - acm-pca:GetPolicy
>> - acm-pca:GetPolicy
>> policy: |
>> Version: "2012-10-17"
>> Statement:
>> {% for action in actions %}
>> - Action: {{ action }}
>> Effect: Allow
>> Resource: "*"
>> {% endfor %}
>>
>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Ansible Project" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/ansible-project/WZzXL_z_teA/unsubscribe
>> <https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fd%2Ftopic%2Fansible-project%2FWZzXL_z_teA%2Funsubscribe&data=05%7C01%7Cwalter.rowe%40nist.gov%7Cb5e72445a8d84e76a10b08db0df2c681%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C638119108586448983%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=e%2FNOwupdFzY3H15tdGDbr6PuX12pncg9mxXov%2F3bnVQ%3D&reserved=0>
>> .
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/ansible-project/CAF8BbLZKn4GQEjnRUGTTsZ358_mJ6a1cpqyRPtbXvMzoUNtvJQ%40mail.gmail.com
>> <https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fd%2Fmsgid%2Fansible-project%2FCAF8BbLZKn4GQEjnRUGTTsZ358_mJ6a1cpqyRPtbXvMzoUNtvJQ%2540mail.gmail.com&data=05%7C01%7Cwalter.rowe%40nist.gov%7Cb5e72445a8d84e76a10b08db0df2c681%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C638119108586448983%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=EuSwkNcE7j3a%2Bn0vV5Ol0dXRJ76F75n2ngxddqtPWfU%3D&reserved=0>
>> .
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/CALmkhkqvQmg4x-M3nQUNigO4PQ_Et765EP4tOHkJiUYvf4ftZg%40mail.gmail.com
> <https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fd%2Fmsgid%2Fansible-project%2FCALmkhkqvQmg4x-M3nQUNigO4PQ_Et765EP4tOHkJiUYvf4ftZg%2540mail.gmail.com%3Futm_medium%3Demail%26utm_source%3Dfooter&data=05%7C01%7Cwalter.rowe%40nist.gov%7Cb5e72445a8d84e76a10b08db0df2c681%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C638119108586448983%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=OJKNMtgOTIjhmny5MpwC3KHIDw0CPQZGWv6JmYF8VpA%3D&reserved=0>
> .
>
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Ansible Project" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/ansible-project/WZzXL_z_teA/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/4E6822FF-DEB2-42B5-B18A-A4BCECED47F1%40nist.gov
> <https://groups.google.com/d/msgid/ansible-project/4E6822FF-DEB2-42B5-B18A-A4BCECED47F1%40nist.gov?utm_medium=email&utm_source=footer>
> .
>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/CALmkhkqfEokt473bEae-i0%3DMd5_n0PEEAM6th8Qw6Cz2ub89zg%40mail.gmail.com.