在别名下创建用户

时间:2017-12-27 09:27:27

标签: api amazon-web-services amazon-iam

我试图在别名下创建用户。例如。说我是公司,我的AWS账户是My-Org-007,在此我可以创建用户。但我想用API做到这一点。当我浏览文档时,它给出如下。

https://iam.amazonaws.com/?Action=CreateUser
&Path=/division_abc/subdivision_xyz/
&UserName=Bob
&Version=2010-05-08
&AUTHPARAMS

我对Path(我可以在哪里获取路径)和AUTHPARAMS(我有Access key IDSecret access key感到困惑,这些是我需要以及如何在API调用中访问它。

请告诉我如何使用API​​进行操作。

由于

1 个答案:

答案 0 :(得分:0)

除非您有非常令人信服的理由直接使用AWS API,否则您可能希望使用AWS软件开发工具包。 SDK可以让您的生活轻松实现您的目标。检查NodeJS SDK的CreateUser文档(其他编程语言的SDK,如Go,Java,Python,.Net,C ++ ......也可供您使用):http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html

/ *以下create-user命令在当前帐户中创建名为Bob的IAM用户。 * /

// default streams configuration serdes are different from the actual output configurations
val streamsConfiguration: Properties = {
  val p = new Properties()
  p.put(StreamsConfig.APPLICATION_ID_CONFIG, kStreamsConf.getString("APPLICATION_ID"))
  p.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, kStreamsConf.getString("BOOTSTRAP_SERVERS_CONFIG"))
  p.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, kStreamsConf.getString("AUTO_OFFSET_RESET_CONFIG"))
  p.put(StreamsConfig.KEY_SERDE_CLASS_CONFIG, Serdes.String.getClass.getName)
  p.put(StreamsConfig.VALUE_SERDE_CLASS_CONFIG, Serdes.String.getClass.getName)
  p.put(AbstractKafkaAvroSerDeConfig.SCHEMA_REGISTRY_URL_CONFIG, kStreamsConf.getString("SCHEMA_REGISTRY_URL_CONFIG"))
  p
}

// adjusted output serdes for avro records
val keySerde: Serde[String] = Serdes.String
val valSerde: Serde[GenericData.Record] = new GenericAvroSerde()
valSerde.configure(
  Collections.singletonMap(
    AbstractKafkaAvroSerDeConfig.SCHEMA_REGISTRY_URL_CONFIG,
    streamsConfiguration.get(AbstractKafkaAvroSerDeConfig.SCHEMA_REGISTRY_URL_CONFIG)
  ),
  /* isKeySerde = */ false
)

// Now using the adjusted serdes to write to output like this
stream.to(keySerde, valSerde, "destTopic")

调用createUser操作

var params = {
  UserName: "Bob"
 };
 iam.createUser(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
   /*
   data = {
    User: {
     Arn: "arn:aws:iam::123456789012:user/Bob", 
     CreateDate: <Date Representation>, 
     Path: "/", 
     UserId: "AKIAIOSFODNN7EXAMPLE", 
     UserName: "Bob"
    }
   }
   */
 });