私のスクリプトのこのステップがうまくいかない理由を理解しようとしています。私の知る限り、私のユーザーはAWSアカウントのすべてを実行する権限を持っています。あなたが自分でやる必要のある仕事のための正しいアクセス権を正確に把握するのではなく、ボトコアまたはboto3自体からあなたのユーザーのiamの権限が不足していることを確認する方法があるかどうか疑問に思っていましたか? 、私は前にこれらの問題に見ていただboto3がAccessDeniedを提供していますが、不足している権限を検索する方法はありますか?
>>> zone_id = "Z2401337RNHANU"
>>>
>>> try:
...
An error occurred (InvalidInput) when calling the ChangeResourceRecordSets operation: Invalid request
{'ResponseMetadata': {'RetryAttempts': 0, 'HTTPStatusCode': 400, 'RequestId': '2bfde962-0e81-11e7-b312-53961dec3e91', 'HTTPHeaders': {'x-amzn-requestid': '2bfde962-0e81-11e7-b312-53961dec3e91', 'date': 'Tue, 21 Mar 2017 21:56:00 GMT', 'content-length': '259', 'content-type': 'text/xml', 'connection': 'close'}}, 'Error': {'Message': 'Invalid request', 'Code': 'InvalidInput', 'Type': 'Sender'}}
:
は当初、私は私が私たちのAWSドメインのゾーンにZONE_ID変更した場合は、私が取得from here
>>> dns_record = connection.change_resource_record_sets(
... HostedZoneId=zone_id,
... ChangeBatch={
... 'Changes': [
... {
... 'Action': action,
... 'ResourceRecordSet': {
... 'Name': name,
... 'Type': record_type,
... 'TTL': 60,
... 'AliasTarget': {
... 'HostedZoneId': zone_id,
... 'DNSName': destination,
... 'EvaluateTargetHealth': eval_health
... },
... }
... },
... ]
... }
...)
Traceback (most recent call last):
File "<stdin>", line 14, in <module>
File "/usr/lib/python2.7/site-packages/botocore/client.py", line 253, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/usr/lib/python2.7/site-packages/botocore/client.py", line 543, in _make_api_call
raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (AccessDenied) when calling the ChangeResourceRecordSets operation: User: arn:aws:iam::1337:user/rumbles is not authorized to access this resource
>>>
>>> print connection, zone_id, action, name, record_type, destination, eval_health
<botocore.client.Route53 object at 0x7f9049d64590> Z117KPS5GTRQ2G UPSERT test-rumbles.domain.com A some-elb-1337.us-east-1.elb.amazonaws.com False
を構成しZONE_IDていました私は、この特定の仕事のためにIAMの許可を得なければならないことを知っていますが(私が正しい道にいると仮定して)、ボトコアからこの情報を返す方法があるのだろうか?私の時間を手動で調べるのではなく、どういうわけか私が返すアクセスを拒否するiamルールを得ることはできませんか?
または、私がまだ見つけていない/作成していない機能要求について話していますか?
のZONE_IDあなたは通常、コンソールがどのような権限を返します、AWSコンソールから同じことを行う試すことができます。この
どこelb_zone_id = ELBのZONE_IDと ように必要です。 – mootmoot
私のユーザ(同じユーザ)はAWSコンソールで何でもできます – Rumbles
root/adminを使って作業を行っているのですか、その特定のユーザとしてログインしていますか? – mootmoot