mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
(cloudwatch) check auth type before assume role (#8895)
This commit is contained in:
parent
af56cc4c28
commit
9d50ab8fb5
@ -39,6 +39,7 @@ type cwRequest struct {
|
|||||||
type datasourceInfo struct {
|
type datasourceInfo struct {
|
||||||
Profile string
|
Profile string
|
||||||
Region string
|
Region string
|
||||||
|
AuthType string
|
||||||
AssumeRoleArn string
|
AssumeRoleArn string
|
||||||
Namespace string
|
Namespace string
|
||||||
|
|
||||||
@ -47,6 +48,7 @@ type datasourceInfo struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (req *cwRequest) GetDatasourceInfo() *datasourceInfo {
|
func (req *cwRequest) GetDatasourceInfo() *datasourceInfo {
|
||||||
|
authType := req.DataSource.JsonData.Get("authType").MustString()
|
||||||
assumeRoleArn := req.DataSource.JsonData.Get("assumeRoleArn").MustString()
|
assumeRoleArn := req.DataSource.JsonData.Get("assumeRoleArn").MustString()
|
||||||
accessKey := ""
|
accessKey := ""
|
||||||
secretKey := ""
|
secretKey := ""
|
||||||
@ -61,6 +63,7 @@ func (req *cwRequest) GetDatasourceInfo() *datasourceInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return &datasourceInfo{
|
return &datasourceInfo{
|
||||||
|
AuthType: authType,
|
||||||
AssumeRoleArn: assumeRoleArn,
|
AssumeRoleArn: assumeRoleArn,
|
||||||
Region: req.Region,
|
Region: req.Region,
|
||||||
Profile: req.DataSource.Database,
|
Profile: req.DataSource.Database,
|
||||||
@ -110,7 +113,7 @@ func getCredentials(dsInfo *datasourceInfo) (*credentials.Credentials, error) {
|
|||||||
sessionToken := ""
|
sessionToken := ""
|
||||||
var expiration *time.Time
|
var expiration *time.Time
|
||||||
expiration = nil
|
expiration = nil
|
||||||
if strings.Index(dsInfo.AssumeRoleArn, "arn:aws:iam:") == 0 {
|
if dsInfo.AuthType == "arn" && strings.Index(dsInfo.AssumeRoleArn, "arn:aws:iam:") == 0 {
|
||||||
params := &sts.AssumeRoleInput{
|
params := &sts.AssumeRoleInput{
|
||||||
RoleArn: aws.String(dsInfo.AssumeRoleArn),
|
RoleArn: aws.String(dsInfo.AssumeRoleArn),
|
||||||
RoleSessionName: aws.String("GrafanaSession"),
|
RoleSessionName: aws.String("GrafanaSession"),
|
||||||
|
Loading…
Reference in New Issue
Block a user