Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 在本地获取aws交叉账户iam角色_Amazon Web Services_Aws Sdk_Amazon Iam_Amazon Kinesis - Fatal编程技术网

Amazon web services 在本地获取aws交叉账户iam角色

Amazon web services 在本地获取aws交叉账户iam角色,amazon-web-services,aws-sdk,amazon-iam,amazon-kinesis,Amazon Web Services,Aws Sdk,Amazon Iam,Amazon Kinesis,我是aws的新手,在担任iam角色时面临问题。我正在担任交叉账户角色。比如说,在帐户x中,为帐户Y创建了角色togive权限,以读取运动流 我想连接到帐户Y,使用JavaSDK从帐户X本地获取流(我不会在帐户Y上启动EC2实例)。那么他们有没有办法做到这一点呢 我知道,如果我在帐户Y上的EC2实例上运行应用程序,我将能够对其进行fetch,但我不想使用EC2获取它 AWS doc mentions in https://docs.aws.amazon.com/cli/lates

我是aws的新手,在担任iam角色时面临问题。我正在担任交叉账户角色。比如说,在帐户x中,为帐户Y创建了角色togive权限,以读取运动流

我想连接到帐户Y,使用JavaSDK从帐户X本地获取流(我不会在帐户Y上启动EC2实例)。那么他们有没有办法做到这一点呢

我知道,如果我在帐户Y上的EC2实例上运行应用程序,我将能够对其进行fetch,但我不想使用EC2获取它

    AWS doc mentions in 
    https://docs.aws.amazon.com/cli/latest/topic/config-vars.html

    # In ~/.aws/credentials:
    [development]
    aws_access_key_id=foo
    aws_secret_access_key=bar 

    # In ~/.aws/config
    [profile crossaccount]
    role_arn=arn:aws:iam:...
    source_profile=development
与此有关吗?在这里,我认为crossaccount是在accountx中创建的角色,用于访问accounty

Which aws api should I call to fetch the streams?  

提前感谢。

AWS中的跨帐户访问有一个您需要遵循的特定协议。当您在帐户X中创建IAM角色时,该角色已被授予访问帐户Y中资源的权限,帐户Y还需要授予该角色执行
STS:AssumeRole
的权限

一旦这部分设置完成,您就可以开始了。 阅读更多关于它的信息

要使用AWS SDK for Java,请为
STS
服务创建一个服务对象,并执行
AssumeRole
调用。如果您提供了正确的凭据,则结果将是一对有效的凭据,可以访问帐户Y的资源


阅读有关在Java中使用假定角色的更多信息。

谢谢Tom。那么,~/.aws/credentials和~/.aws/config将分别用于加载凭据(访问密钥和id)和跨帐户角色arn?