2017-04-07 2 views
3

スナップショットリポジトリを登録しようとしています。場所にこのすべてを持った後AWS esドメインのスナップショットリポジトリを登録できません

from boto.connection import AWSAuthConnection 

class ESConnection(AWSAuthConnection): 

    def __init__(self, region, **kwargs): 
     super(ESConnection, self).__init__(**kwargs) 
     self._set_auth_region_name(region) 
     self._set_auth_service_name("es") 

    def _required_auth_capability(self): 
     return ['hmac-v4'] 

    if __name__ == "__main__": 

    client = ESConnection(
      region='ap-south-1', 
      host='es.domain.com', 
      aws_access_key_id='test_id', 
      aws_secret_access_key='test_secret_id', is_secure=False) 

    print 'Registering Snapshot Repository' 
    resp = client.make_request(method='POST', 
      path='/_snapshot/snapshot-backup', 
      data='{"type": "s3","settings": { "bucket": "es-backuptest","region": "ap-south-1","role_arn": "arn:aws:iam::arn:aws:iam::arn:aws:iam::rolename"}}') 
    body = resp.read() 
    print body 

{ 
    "Version": "2012-10-17", 
    "Statement": [{ 
     "Sid": "", 
     "Effect": "Allow", 
     "Principal": { 
      "Service": "es.amazonaws.com" 
     }, 
     "Action": "sts:AssumeRole" 
    }] 
} 

し、以下のように政策:

{ 
    "Version": "2012-10-17", 
    "Statement": [{ 
     "Action": ["s3:ListBucket"], 
     "Effect": "Allow", 
     "Resource": ["arn:aws:s3:::es-backuptest"] 
    }, { 
     "Action": ["s3:GetObject", "s3:PutObject", "s3:DeleteObject", "iam:PassRole"], 
     "Effect": "Allow", 
     "Resource": ["arn:aws:s3:::es-backuptest/*"] 
    }] 
} 

そして、私はPythonスクリプトの下に使用しています私は以下の役割とポリシーを使用していました登録するPythonスクリプトを実行していますが、以下のエラーが表示されます。

{"Message":"Cross-account pass role is not allowed."}

私はここで何が欠けているのか教えてください。

+0

あなたはこれを理解しましたか?私は同じ問題を抱えている。 – Doug

+0

はいバケツ設定に間違いがありましたので、以下のように変更しました data = '{"type": "s3"、 "settings":{"バケット": "S3-test-bucket"、 "region": "us -east-1 "、" base_path ":" es-backuptest/"、" role_arn ":" arn:aws:iam :: rolename "}} ') –

答えて

0

バケット構成に誤りがあったので、問題を解決し

data='{"type": "s3","settings": { "bucket": "S3-test-bucket","region": "us-east-1","base_path":"es-backuptest/","role_arn": "arn:aws:iam::rolename"}}') 

以下のように変更しました。

関連する問題