アカウントにすべてのロールをリストすると、ポリシーを添付できます。私はboto3のドキュメントを読んでいますが、私はアカウントのロールのコレクションを返すメソッドを見ていません。AWS Botoすべてのロールを表示
これは可能ですか?
アカウントにすべてのロールをリストすると、ポリシーを添付できます。私はboto3のドキュメントを読んでいますが、私はアカウントのロールのコレクションを返すメソッドを見ていません。AWS Botoすべてのロールを表示
これは可能ですか?
#!/usr/bin/env python
# Author: Nick Skitch
import boto3
import json
def main():
boto3.setup_default_session(profile_name=PROFILE_NAME)
client = boto3.client('iam')
policy_document = get_policy_body(IAM_POLICY_JSON)
roles = get_roles(client)
for role in roles:
update_role(role,client,"required_tags",policy_document)
def get_policy_body(data_file):
with open(data_file) as data_file:
data = data_file.read()
return data
def update_role(role_name, client,iam_policy_name,policy_document):
response = client.put_role_policy(
RoleName=role_name,
PolicyName=iam_policy_name,
PolicyDocument=policy_document
)
print response
def get_roles(client):
client = boto3.client('iam')
response = None
role_names = []
marker = None
# By default, only 100 roles are returned at a time.
# 'Marker' is used for pagination.
while (response is None or response['IsTruncated']):
# Marker is only accepted if result was truncated.
if marker is None:
response = client.list_roles()
else:
response = client.list_roles(Marker=marker)
roles = response['Roles']
for role in roles:
print(role['Arn'])
role_names.append(role['RoleName'])
if response['IsTruncated']:
marker = response['Marker']
return role_names
if __name__ == "__main__":
main()
をインラインポリシーを付加 - あなたはロールにポリシーを付加する必要があります。 まず、アカウントからすべての役割を取得しています。 特定の役割にポリシーを添付するには、以下の2つのことが必要な場合があります。コードの下
私はIAMの接続を行うと、アカウントからすべてのロールを取得していますyou-が助けることができます。 DictsとArrayの形式で出力されるので、arnまたは名前を抽出する必要があります。
import boto3
client = boto3.client('iam',aws_access_key_id="XXXXX",aws_secret_access_key="YYYYY")
roles = client.list_roles()
Role_list = roles['Roles']
for key in Role_list:
print key['RoleName']
print key['Arn']
関連するAPIがboto3 IAMの下にあるため、見つからない場合があります。また、一般的なAPIのアクセスキーにはIAMを扱う権利が与えられていません。これを行うには、IAMアクセス権を付与する必要があります。 http://boto3.readthedocs.io/en/latest/reference/services/iam.html – mootmoot