2017-01-30 16 views
9

मैं अमेज़ॅन जावा एसडीके के संस्करण 1.11.7 9 का उपयोग कर रहा हूं मेरे पास एक ऐसा काम है जो मेरे सभी सर्वर वॉल्यूम का स्नैपशॉट बनाता है। सोता आदि (अमेज़न एसडीके दिशा निर्देशों को पूरा करने के) के साथ - यह अस्थायी साखअमेज़ॅन एसडीके - अस्थायी प्रमाण-पत्र और AssumeRoleRequest

 AssumeRoleRequest assumeRequest = new AssumeRoleRequest().withRoleArn(roleARN).withExternalId(externalId).withDurationSeconds(3600) 
      .withRoleSessionName(roleSessionName); 

    AssumeRoleResult assumeResult = amazonSecurityTokenServiceClient.assumeRole(assumeRequest); 
    Credentials credentials = assumeResult.getCredentials(); 

    temporaryCredentials = new BasicSessionCredentials(credentials.getAccessKeyId(), credentials.getSecretAccessKey(), credentials.getSessionToken()); 

    CustomAmazonCredentialsProviderVO customAmazonCredentialsProviderVO = new CustomAmazonCredentialsProviderVO(); 
    customAmazonCredentialsProviderVO.setCredentials(temporaryCredentials); 
    LOG.debug("customAmazonCredentialsProviderVO:{}", customAmazonCredentialsProviderVO); 

    amazonEC2Client = new AmazonEC2Client(customAmazonCredentialsProviderVO, amazonClientConfiguration); 

समस्या AssumeRoleRequest साथ है का उपयोग कर मेरी AmazonEC2Client निर्माण करने के लिए निम्न कोड एक घंटे

मैं उपयोग पर कब्जा करने शुरू कर दिया है और withDurationSeconds विधि - अधिकतम इसे सेट 3600 सेकंड (1 घंटा)

मैं इस 2 या 3 घंटे

किसी को भी अगर वहाँ एक पता है कहने के लिए सेट करने में सक्षम होने की जरूरत है है अस्थायी प्रमाण-पत्र बनाने के लिए बेहतर तरीका जो 1 घंटे से अधिक समय तक टिकेगा?

धन्यवाद डेमियन

उत्तर

5

आप GetSessionToken का उपयोग कर सकते है, जो बशर्ते आप एक IAM उपयोगकर्ता हैं 129,600 के रूप में उच्च DurationSeconds मूल्य स्वीकार करता है।

डॉक्स से:

साख IAM उपयोगकर्ताओं द्वारा बनाई गई हैं कि, अवधि है कि आप 900 सेकंड (15 मिनट) से 129,600 सेकंड (36 घंटे) की एक अधिकतम करने के लिए निर्दिष्ट, के लिए मान्य हैं साथ 43200 सेकंड (12 घंटे)

+0

की एक डिफ़ॉल्ट कि उपयोगी होगा लेकिन Unfortunatelly हम सर्वर हम प्रबंधन के कुछ के रूप में IAM उपयोग नहीं कर रहे विभिन्न अमेज़न की बहुत सारी में हैं – Damien

+0

खातों उस मामले में, मैं वहाँ नहीं लगता कि एक घंटे से अधिक समय के लिए प्रमाण पत्र का अनुरोध करने के लिए कोई विकल्प उपलब्ध है। आप समाप्ति पर नव निर्मित जेनरेट के साथ टोकन को प्रतिस्थापित करने और स्नैपशॉटिंग जारी रखने का प्रयास कर सकते हैं। – franklinsijo

+2

क्या आपने कभी इस वर्ग का उपयोग किया है - बस सोच रहा है कि रीफ्रेश विधि कहां और कब कहा जाएगा - http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/STSAssumeRoleSessionCredentialsProvider.html – Damien

संबंधित मुद्दे